xmlns="
xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"
xsi:
schemaLocation="
DWRWebTest
dwr-invoker
org.directwebremoting.servlet.DwrServlet
logLevel
DEBUG
config
/WEB-INF/dwr.xml
debug
true
1
dwr-invoker
/dwr/*
4、添加log4J
(1)DWR中的log的实现并没有强制某个Logging的形式
DWR并不需要要求我们强制某个Logging的形式,可以为各种的Logging的实现。
一般我们采用Commons-Logging---然后再采用Log4J的实现。
(2)需要在web.xml中增加下面的配置项目
在web.xml文件中对前面的uk.ltd.getahead.dwr.DWRServlet添加下面的配置参数----前面已经设置好了!
logLevel
DEBUG
(3)同时,将(日志)log4j.properties的文件内容放在WEB-INF/classes目录下
(4)其内容可以为下面的内容
log4j.rootLogger=INFO,stdout,logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d%p[%c]-<%m>%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=mylog.log
log4j.appender.logfile.MaxFileSize=512KB
#Keepthreebackupfiles.
log4j.appender.logfile.MaxBackupIndex=3
#Patterntooutput:
datepriority[category]-message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d%p[%c]-%m%n
执行过程中,能够看到dwr的各种状态提示
(5)同时,将在当前的项目的Tomcat目录下,产生下面的日志文件
(6)添加commons-logging.jar和log4j-1.2.14.jar
s
5、设计dwr.xml文件
(1)新建一个dwr.xml文件
(2)XML文件的内容
●该XML文件的内容如下-----对DWR1.14版
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEdwrPUBLIC"-//GetAheadLimited//DTDDirectWebRemoting1.0//EN""http:
//www.getahead.ltd.uk/dwr/dwr10.dtd">
●该XML文件的内容如下-----对DWR2.0版
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEdwrPUBLIC"-//GetAheadLimited//DTDDirectWebRemoting2.0//EN""http:
//www.getahead.ltd.uk/dwr//dwr20.dtd">
6、添加一个JSP页面
(1)该页面为index.jsp
(2)将产生出一个空的页面
(3)注意页面设计的一些规则
●对于JSP页面都需要在页面的最开始部分增加以下语句
<%@pagecontentType="text/html;charset=gb2312"%>
●对于HTML页面都需要在页面的最开始部分增加以下语句
(4)注意表单中的各个成员控件的命名规则
页面编码过程中用到的所有控件命名都需要遵循相应规则,方便程序的可读性。
采用控件类型缩写前缀(小写)+英文单词(第一个字母大写)的方法来命名每一个控件。
具体规则如下:
控件类型
前缀
Button
btn
Form
frm
Select
sel
TextArea
txt
Input
ipt
Image
img
DIV
div
7、执行本Web应用
(1)配置服务器
(2)部署本应用
将看到下面的结果
(3)启动服务器后,将看到异常抛出
原因是DWR2.0加入了JDK5的注释(annotations),DwrServlet初始化的时候会去检查注释的类。
可以通过对DwrServlet添加下面的来避免。
classes
java.lang.Object
再启动服务器,将不再出现异常抛出,并能够看到log信息。
(4)输入http:
//localhost:
8080/DWRWebTest/dwr后
能够看到我们前面的java.util.Date的本地化的结果的*.js文件。
如果出现下面的异常
也就是:
DWR例程的运行异常
从网上下载了一个dwr的例子,部署在tomcat下,想领略一下ajax的风采。
但是输入地址后,出现如下的异常:
javax.xml.transform.TransformerFactoryConfigurationError:
Providerorg.apache.xalan.processor.TransformerFactoryImplnotfound
javax.xml.transform.TransformerFactory.newInstance(UnknownSource)
uk.ltd.getahead.dwr.convert.DOMConverter.(DOMConverter.java:
134)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
39)
.....
看到org.apache.xalan是notfound的异常,就到apache.org上下载了一个xalan,放到web-inf/lib下,再启动tomcat,问题解决!
(5)点击上面的JDate的链接
将出现下面的状态----其中的JDate.js是动态生成的。
(6)点击上面的JDate.js的链接
将可以看到动态生成的JDate.js内容
(7)可以在线测试
在页面中访问业务功能组件
1、修改前面的index.jsp能够对我们的java.util.Date进行访问
(1)在页面中引入我们的JDate.js和DWR其它的*.js文件的方法
在上面的提示中告诉我们,为了能够在页面中使用我们的java.util.Date类,应该包含的JavaScript的引用要求:
当然,还需要添加下面的内容
注意:
在*.jsp页面中可以利用request.getContextPath()来获得“/DWRWebTest”。
(2)修改前面的index.jsp能够对我们的java.util.Date进行访问
<%@pagecontentType="text/html;charset=GBK"%>
index