DWR框架入門例子
關於dwr的概念,摘自百度百科:
DWR(Direct Web Remoting)是一個用於改善web頁面與Java類互動的遠端伺服器端Ajax開源框架,可以幫助開發人員開發包含AJAX技術的網站。它可以允許在瀏覽器裡的程式碼使用執行在WEB伺服器上的JAVA函式,就像它就在瀏覽器裡一樣。
DWR框架使用之一:單獨使用
步驟:
1、在pom.xml中配置依賴。(就是載入jar包)
2、在web.xml中配置servlet。
3、寫一個普通java類。
4、配置dwr.xml檔案,配置要公開的類或方法。
5、寫一個jsp頁面,主要匯入engine.js和相應的java類對映的js檔案,然後編寫js即可呼叫。
詳細:
1、pom.xml程式碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lessony</groupId>
<artifactId>dwr01</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>dwr01</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!--DWR的jar包-->
<dependency>
<groupId>org.directwebremoting</groupId>
<artifactId>dwr</artifactId>
<version>3.0.M1</version>
</dependency>
<!--由於使用jetty來執行web,jetty日誌輸出需要日誌jar包,可以使用common-logging的日誌框架-->
<!--
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
-->
<!--slf4j日誌框架,jcl-over-slf4j是將common-logging的日誌呼叫到slf4j,maven會把其它依賴包匯入-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.6</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.16.v20140903</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webApp>
<contextPath>/dwr01</contextPath>
</webApp>
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>8888</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>
<!--打包外掛,把web打成zip包-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<!-- 當執行mvn package時才會打包 -->
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
3、寫一個普通的java類
package com.lessony.dwr01;
/**
*
* @author Lessony
*/
public class Hello {
public String sayHello(String name){
System.out.println("hello "+name);
return "hello "+name;
}
}
4、配置dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">
<dwr>
<allow>
<create creator="new">
<param name="class" value="com.lessony.dwr01.Hello"/>
</create>
</allow>
</dwr>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<script src="<%=request.getContextPath()%>/dwr/engine.js"></script>
<script src="<%=request.getContextPath()%>/dwr/interface/Hello.js"></script>
<script>
Hello.sayHello("張三");
</script>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
全部編輯完成之後,開啟瀏覽器,輸入http://localhost:8888/dwr01/dwr01.jsp,就可以看到控制檯輸出了:hello 張三
相關文章
- 1、dwr入門
- ABP框架入門框架
- Flask框架入門Flask框架
- SpringMVC框架入門SpringMVC框架
- Spring框架入門Spring框架
- Play框架入門使用框架
- Java Mybatis 框架入門教程JavaMyBatis框架
- CppUnit測試框架入門框架
- Casbin訪問控制框架入門框架
- immy框架入門系列(2)——class框架
- CQRS架構和Axon框架入門實踐架構框架
- YoyoGo微服務框架入門系列-基本概念Go微服務框架
- J.U.C之Executor框架入門指引框架
- 手把手教你寫Router框架入門篇框架
- SSM框架入門和搭建 十部曲SSM框架
- webpack 入門例子Web
- java ssm框架入門(二)新增語言濾器JavaSSM框架
- PHP Yii開源框架入門學習(一)薦PHP框架
- DWR幫助文件-dwr.xml檔案的配置XML
- Spark大資料處理框架入門(單機版)Spark大資料框架
- YoyoGo微服務框架入門系列-快速編寫WEB APIGo微服務框架WebAPI
- CSharp使用Thrift作為RPC框架入門(一)CSharpRPC框架
- grails框架入門小結(一)—後臺基礎搭建AI框架
- 微軟同步框架入門之二--增量和修改同步方式微軟框架
- OAuth 2.0(Open Authorization 2.0)授權框架入門介紹OAuth框架
- EXT DWR SPRINGSpring
- Guice與DWR整合GUI
- DWR學習(一)
- DWR學習(二)
- JAVA_WEB專案之Lucene檢索框架入門案例JavaWeb框架
- sencha表單入門例子
- 轉 轉別人寫的用dwr做聯動選單的例子,自己覺得也不錯
- 知新 | koa框架入門到熟練第一章框架
- 易車網實戰+【保姆級】:Feapder爬蟲框架入門教程爬蟲框架
- Newbe.Claptrap 框架入門,第二步 —— 建立專案APT框架
- Zookeeper入門-Java版本HelloWorld例子Java
- Hapi.js 起步 - 寫給前端開發的 Node Web 框架入門APIJS前端Web框架
- Android 網路程式設計系列(5)Volley 網路框架入門Android程式設計框架