上篇文章我们已经领略到DWR的强大,我们大家都知道,现在Spring框架简直是炙手可热,它的IOC和AOP已经用到泛滥,那么DWR对Spring的支持怎么样呢?事实上,DWR比我们想象中要更偏爱Spring,甚至有人说,只有DWR+Spring双剑合壁才能让DWR的优势发挥的淋漓尽致!
我这里并没有时间长篇累牍地探讨DWR和Spring的整合,只是想对上篇文章中的例子做一个小小的调整,将Spring加入到我们的应用中。对于Spring框架的相关知识,大家如果有兴趣,也可以参阅我的相关文章。
呵呵,我们首先还是在我们的应用中导入spring.jar包,在导包的时候除了可以只需导入我们所必需模块的包外,还要注意版本问题。我们这里使用的是2.0版!Spring既然是个优秀的框架,那么就有核心的配置文件,我们先来看看它长什么样子吧。
做一个文件applicationContext.xml放在CLASSPATH下,它里面配置了一个受Spring容器管理的bean对象:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="operaDAO" class="com.wepull.model.OperationDAO"></bean>
</beans>
web.xml也要作相应的调整,加入红色字体的部分,它会告诉web容器到哪里去寻找并加载Spring的配置文件。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd">
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
除此以外,dwr.xml也要做一些变动,服务器端的Java对象再也不是直接new出来,而是从Spring容器中得到。注意红色部分是一个bean的id.
<?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>
<create creator="spring" javascript="OperaDAO">
<param name="beanName" value="operaDAO"></param>
</create>
</allow>
</dwr>
这里我们Spring和DWR的集成就完毕了,是不是非常简单?呵呵,当然了,这里因为业务逻辑的简单和粗糙,并没有利用到Spring强大的功能,有点为技术而技术的味道。姑且这样吧。好了,现在来总结一下。我们这里用了4篇文章,阐明了Java对SQLSERVER 2000的备份和恢复,知识点跨越非常大,从SQL到JDBC,从桌面应用到WEB应用,从Swing到DWR再到Spring,可谓翻山越岭。希望大家看完这4篇文章后能有所参悟,为日后的学习打下更牢固的根基。祝愿大家学习愉快!