?1.?随便新建一个 SSH的web项目 (这里使用的struts1的版本)
这是我们使用XmlHttpRequest 提交请求验证用户是否存在的案例,这个应用中,我们并没有使用DWR 框架,下面我们使用DWR 框架来实现,并且与Spring 进行整合。
?
2.修改 Spring IOC 容器的启动方式
在 SSH 整合中,Spring 的IOC 容器是靠struts 插件启动的。在 struts-config.xml 文件
中我们是这样配置的:
?
?如果采用这种配置,那么Spring 中定义的bean 就只能在struts 中使用。现在我们还需
要在DWR 中使用Spring 中定义的Bean,所以必须保证DWR 也能获取到Spring 容器。
那么上面采用struts 插件的方式就不能满足了。
有什么方式能够保证struts 中可取到Spring 中定义的bean,DWR 中也能取到Spring
中定义的bean,而且Spring 容器必须随着web 服务器的启动而启动?我们可以在web.xml
中配置监听器来达到我们的目标.
?3.采用监听器加载spring 容器
?
第一步:去掉struts-config.xml 中的plug-in 配置
?第二步: 打开 web.xml 在其中配置一个上下文监听器.这个上下文监听器类是由
Spring 提供的org.springframework.web.context.ContextLoaderListener
,它需要contextConfigLocation 参数用来指定Spring 配置文件
?
?
重新部署 web 应用,并启动服务器,发现程序应用正常。这样我们把Spring 容器由struts
启动改变成由web 容器来启动了
?
?
4. 在 web 应用中加入DWR 框架。
?
第一步:将DWR jar 包拷贝到web 应用的classpath 环境中
?5: 在web.xml 中部署DWR 中的servlet
6:查看UserBizImpl 类,该业务类是写好的类,该类中写了一个验证用户的
方法:
?
这里随便写一个验证
?
7.Spring 中的配置
这个业务类已经在Spring 的配置文件中定义了,并且为它注入了dao 对象,现在我
们只需要让DWR 到Spring Ioc 容器中取得这个业务对象即可,然后将该对象映射成客户
端JavaScript 函数,然后在客户端通过JavaScript 函数来调用即可
?8.在WEB-INF 中编写dwr.xml 文件,在其中进行说明
?
?
?
?8.在浏览器中输入: http://localhost:8080/ssh/dwr 进行测试
?可以看到业务类已经映射成JavaScript 函数了。点击这个函数:
?在 userIsExists 中输入admin,然后点击execute 按钮,结果是true,说明整合成功
?
9. 在 jsp 页面中使用映射好的 JavaScript 函数
?6. 输入用户名进行测试:
?
?