1、跟我学DWR框架技术如何应用MyEclipse开发工具开发实现基于DWR框架的Web应用示例第一部分1.1 跟我学DWR框架技术如何应用MyEclipse开发工具开发实现基于DWR框架的Web应用示例(第一部分)1.1.1 构建项目及系统环境1、在Eclipse中创建一个Web项目名称为DWRWebTest,同时指定其Web应用的名称为DWRWebTest当然,也可以在原有的Web项目的基础上进一步扩展。2、添加DWR的系统包(1)导入我们的系统包(2)定位到DWR系统包所在的目录处(3)最后将产生出下面的状态3、在web.xml中部署DWR的Servlet下面为DWR 2.X或者3.X版最后
2、的配置内容如下web-app version=2.4 xmlns= xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instance xsi:schemaLocation= dwr-invoker org.directwebremoting.servlet.DwrServlet config /WEB-INF/dwr.xml debug true logLevel DEBUG 1 dwr-invoker /dwr/* 注意其中的如下设置项目:debug是将DWR设置为调试方式,这样一方面可以在控制台中显示详细的运行状态信息,而且也还可以通过http:/loc
3、alhost:port/app/dwr/进入DWR所提供的在线测试页,可以看到部署的每个DWR的Java类。在测试页中可以测试服务器端Java代码的每个方法是否运行正常。为了安全考虑,在正式环境下你一定把这个参数设为false。4、添加log4J相关的系统库文件(1)DWR中的log的实现并没有强制某个Logging的形式DWR并不需要要求我们强制某个Logging的形式,可以为各种的Logging的实现。一般我们采用Commons-Logging-然后再采用Log4J的实现。(2)需要在web.xml中增加下面的配置项目 在 web.xml 文件中对前面的uk.ltd.getahead.dw
4、r.DWRServlet添加下面的配置参数-前面已经设置好了! logLevel DEBUG(3)同时,将log4j.properties的文件内容放在WEB-INF/classes目录下(4)其内容可以为下面的内容# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.log4j.rootLogger=INFO
5、, stdout, logfilelog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d %p %c - %nlog4j.appender.logfile=org.apache.log4j.RollingFileAppenderlog4j.appender.logfile.File=mylog.loglog4j.appender
6、.logfile.MaxFileSize=512KB# Keep three backup files.log4j.appender.logfile.MaxBackupIndex=3# Pattern to output: date priority category - messagelog4j.appender.logfile.layout=org.apache.log4j.PatternLayoutlog4j.appender.logfile.layout.ConversionPattern=%d %p %c - %m%n执行过程中,能够看到dwr的各种状态提示(5)同时,将在当前的项目
7、的Tomcat目录下,产生下面的日志文件(6)添加commons-logging.jar和log4j-1.2.14.jar1.1.2 DWR常用参数说明1、安全参数 allowGetForSafariButMakeForgeryEasier 开始版本:2.0 默认值:false 描述:设置成true使DWR工作在Safari 1.x , 会稍微降低安全性。 crossDomainSessionSecurity 开始版本:2.0默认值:true描述:设置成false使能够从其他域进行请求。注意,这样做会在安全性上有点冒险,一般不要设置成为false。 debug 开始版本:1.0 默认值:fal
8、se 描述:设置成true使DWR能够debug和进入测试页面 scriptSessionTimeout 开始版本:2.0 默认值:1800000(30分钟) 描述:script session 的超时设置 maxCallCount 开始版本:2.0rc2 和 1.1.4 默认值:20 描述:一次批量(batch)允许最大的调用数量。2、Ajax服务器加载时保护参数 pollAndCometEnabled 开始版本:2.0默认值:false 描述:设置成true能增加服务器的加载能力,尽管DWR有保护服务器过载的机制。 maxWaitingThreads 开始版本:2.0 默认值:100 描述
9、:最大等待线程数量。 preStreamWaitTime 开始版本:2.0 默认值:29000(单位:毫秒) 描述:对一个打开流前的反应,等待的最大时间 postStreamWaitTime 开始版本:2.0 默认值:1000(单位:毫秒) 描述:对一个打开流后的反应,等待的最大时间3、其他参数 ignoreLastModified 开始版本:2.0默认值:false 描述:默认值支持最后修改,这样就允许服务器端对客户端请求较少资源。设置为true就能屏蔽支持。 scriptCompressed 开始版本:1.1 默认值:false描述:DWR能够执行简单的压缩,设置为true可以激活此功能。
10、另外还有一个未公开的有关系的重要参数“compressionLevel”,此参数允许你配置压缩类型。查看这里得到更多详细资料。 sessionCookieName 开始版本:2.0 默认值:JSESSIONID 描述:DWR通过检查文档和提取当前session ID支持URL重写。一些servlet引擎使用非标准的cookie名。参数允许你改变默认值。 welcomeFiles 开始版本:2.0 默认值:index.html, index.htm, index.jsp 描述:类似于web.xml的标签1.2 利用DWR框架的在线测试功能对示例项目中的功能页面进行测试1.2.1 dwr.xml配
11、置文件1、设计dwr.xml文件(在文件中放各种配置定义项目)dwr.xml的作用是告诉DWR系统有哪些Java 类中的哪些方法你需要暴露给前台(JavaScript)使用,当DWR启动时候根据dwr.xml这个文件把java类中的方法转成js中可用的对象中的方法。(1)新建一个dwr.xml文件(2)XML文件的内容1)该XML文件的内容如下-对DWR2.0版系统,则为如下的配置结果 2)对于3.0版的DWR框架系统,则为如下的配置结果 2、执行本Web应用(1)配置服务器(2)部署本示例项目的应用将看到下面的结果(3)启动服务器后,如果看到如下的异常抛出原因是DWR2.0 加入了JDK5的注释(annotations),DwrServlet初始化的时候会去检查注释的类。可以通过对DwrServlet添加下面的来避免。 classes java.lang.Object (4)再启动服务器,将不再出现异常抛出,并能够看到log信息。注意:在DWR2.3和DWR3.0版已经改进了上面的错误
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1