其实dwr根本没有生成任何“文件”。我们创建一个dwr项目后,想去查看它自动生成的js文件,不管你用什么方法搜索(比如google的桌面搜索引擎),都不会找到所谓的“dwr/interface/xxx.js”或者“dwr/engine.js”、“dwr/util.js”文件。甚至连这样的目录都没有。
这些url都是虚拟的,并不代表真实路径。engin.js和util.js还比较好办,因为我们在dwr.jar包的org.directwebremoting中可以找到。
但dwr自动产生的js文件则根本就是子虚乌有的事情。但在web.xml里的servletmapping配置:
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
可以看出,实际上以dwr/开头的url都会转DwrServlet处理。
我们可以看看以dwr/访问web会产生什么样的结果,在地址栏中输入:http://localhost:8084/firtDWR/dwr/index.html
出来一个页面,描述了你想通过dwr访问的那个java类。点击链接进去。则列出了更详细的关于这个类的描述。包含怎么在javascript里使用它,javascript能够访问的方法及无权访问的方法列表。甚至在这里,我们还可以调用其中的几个方法进行测试。
是不是有点象webservice的样子?