当前位置: 代码迷 >> Web前端 >> DWR 与SSH的调整 实战:验证登陆
  详细解决方案

DWR 与SSH的调整 实战:验证登陆

热度:121   发布时间:2012-10-26 10:30:58.0
DWR 与SSH的整合 实战:验证登陆


?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. 输入用户名进行测试:



?

?

  相关解决方案