AJAX组件-dwr 的部署与实现-附部署思路图

来源:互联网 发布:金林钣金展开软件2017 编辑:程序博客网 时间:2024/05/17 09:46

推荐 阅读人群:

one: 未接触ajax但想要快速实现 局部刷新 功能的童鞋;

two: 刚接触 ajax,手动写过ajax代码 ,想提高开发效率的童鞋;

3th: 忘记如何部署、想要个思路的 老鸟。


  • 产生原因 以及 解决了什么问题?

       传统——>Ajax:

              1,刷新整个页面——>局部刷新

              2,用户体验差——>用户体验非常好

              3,数据传输量大,并发低——>数据传输量小,并发高,负载高

       DWR( 相对于Ajax ):

              1,更稳定,兼容性更好

              2,使用更简单

              3,多业务处理简单


  • 下面是 部署 思路图:
  • 部署环境:MyEclipse 9.1 + Tomcat 6.0.18 + JDK 1.6      (+MySQL 5.5)




  • 下面是工程结构和源码:
1、工程结构看上图的 右下角 那个框框 即可【包括所需要的包】;
  2、工程源码【2个demo,不适用于实际应用】:http://115.com/file/an3zdwhc
  • 关键源码:
        (1)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>  <!-- 配置DWR的核心Servlet --><listener><listener-class>org.directwebremoting.servlet.DwrListener</listener-class></listener><servlet><!-- 指定DWR核心Servlet的名字 --><servlet-name>dwr</servlet-name><servlet-class><!-- 指定DWR核心Servlet的实现类 -->org.directwebremoting.servlet.DwrServlet</servlet-class> <!--  指定DWR核心Servlet处于调试状态 --> <init-param><param-name>debug</param-name><param-value>true</param-value></init-param><!-- 设置使用反向Ajax技术 --><init-param><param-name>activeReverseAjaxEnabled</param-name><param-value>true</param-value></init-param><init-param><param-name>initApplicationScopeCreatorsAtStartup</param-name><param-value>true</param-value></init-param><init-param><!--长连接只保持时间 --><param-name>maxWaitAfterWrite</param-name><param-value>60</param-value></init-param><load-on-startup>1</load-on-startup></servlet><!-- 指定核心Servlet的URL映射 --><servlet-mapping><servlet-name>dwr</servlet-name><url-pattern>/dwr/*</url-pattern></servlet-mapping>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list></web-app>

         (2)dwr.xml  [ 仅供示例,对照着修改为你自己的 servlet 即可 ]
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd"><dwr><allow><filter class="org.directwebremoting.filter.AuditLogAjaxFilter" /><create creator="new" javascript="News_info_Service"><param name="class" value="com.dwr_news.model.service.News_info_Service" /></create> </allow></dwr>