在文本,xml配置时,出现<display-name>的错误cvc-complex-type.2.4.a: Invalid content was found starting with element 'display-
name'. One of '{"http://java.sun.com/xml/ns/j2ee":servlet-class, "http://
java.sun.com/xml/ns/j2ee":jsp-file}' is expected.
原因是2.4的规范导致。用2.3就可以了,不过这个对项目没什么影响。
web.xml如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_3.xsd">
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>der-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
然后创建dwr.xml在web-inf下如下:
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<convert match="com.apress.ajaxprojects.instamail.MessageDTO" converter="bean"/>
<create javascript="OptionsManager" creator="new">
<param name="class" value="com.apress.ajaxprojects.instamail.OptionsManager"/>
</create>
</allow>
</dwr>
在这个示例中 DWR被赋予了吧任何MessageDTO类型对象转换成一个相应的js对象的权限。同时DWR被赋予了调用OptionsManager类的权限,而其他类是不允许调用的。注意java的大部分基本数据都有默认的转换器。