今天看了一下dwr,感觉还不错,就学习了下,在文档的指导下还是很容易学习的。
1、新建web工程,将附件中的dwr.jar 和 common-logging.jar 导入工程。
配置web.xml
- <?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">
- <display-name></display-name>
- <servlet>
- <servlet-name>dwr-servlet</servlet-name>
- <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
- <init-param>
- <param-name>debug</param-name>
- <param-value>true</param-value>
- </init-param>
- </servlet>
- <servlet-mapping>
- <servlet-name>dwr-servlet</servlet-name>
- <url-pattern>/dwr/*</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
新建java类
- package com.wch.dwr;
- public class HelloWorld {
- private String name;
- public HelloWorld(){
- }
- public HelloWorld(String name){
- this.name = name;
- }
- public String print(String name){
- return "name>>>"+name;
- }
- public String sysout(){
- System.out.println( "sysout:"+name);
- return "sysout";
- }
- }
新建dwr.xml 与web.xml 同级
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting
- 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
- <dwr>
- <allow>
- <create javascript="helloworld" creator="new">
- <param name="class" value="com.wch.dwr.HelloWorld"></param>
- <include method="print"/>
- </create>
- </allow>
- </dwr>
编写jsp页面 (注意其中的js引入,dwr开头,那些js都是在dwr的jar包中的)
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <base href="<%=basePath%>">
- <title>My JSP 'index.jsp' starting page</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="This is my page">
- <script type="text/javascript" src="dwr/engine.js"></script>
- <script type="text/javascript" src="dwr/util.js"></script>
- <script type="text/javascript" src="dwr/interface/helloworld.js"></script>
- </head>
- <body>
- This is my JSP page. <br>
- <input type="text" id="dwrText" />
- <input type="button" οnclick="doalert();" />
- <script type="text/javascript">
- helloworld.sysout();
- function doalert(){
- helloworld.print("wch",test);}
- function test(data){alert(data);}
- </script>
- </body>
- </html>
部署运行就可以了