最近在写三大框架整合 其实主要就是一些配置文件问题,三大框架整合其实也就是Struts和Spring的整合 ,因为Hibernate和Spring的整合 eclipse已经帮我们做得很好了!而Struts和Spring的整合,主要是因为Spring的注入式管理bean方式,所以也要求在Struts和DWR中用到的bean也交给Spring来管理。所以这里就要求Spring的配置文件的解析时机(我的个人理解)。
时机一:web容器读取web.xml时候 ,通过web.xml配置加载spring上下文环境。
修改web.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="2.5"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<!-- 通过listener加载
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>-->
<!--或者通过servlet加载-->
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet>
</web-app>
时机2:容器读取strut-config.xml
使用Struts插件在struts-config.xml中
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"/>
</plug-in>
这时需要对<action path=
"/login" type=""/>配置中属性type做更改:
这里又有两种方法:
a 使用 org.springframework.web.struts.DelegatingActionProxy :
将所有的action type属性改为这个,这样做的好处是可以不用任何spring特定的类编写Struts Action,也有不足之处就是不太直观,所有的路径都映射到了一个类。这样也就有了第二种方法:
b 请求委托
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>实际上这里内部是让spring去代理我们的action(由于jdk代理只能代理接口类,所以这里应该是cglib代理)。
与此同时,我们还需要对applicationContext.xml做相应修改 配置各种需要的bean。
由于spring的dtd 规定id中不能出现"/",所以我们使用name定义path,这里path要求与struts-config.xml中path一致。
:<bean name="
/login" class="com.time.struts.action.LoginAction">
在此过程中 发现 使用第一时机配置使用DWR可以正常使用 而使用第二时机不行。
DWR配置 dwr.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
<allow>
<create
creator="spring" javascript="testDWR">
<param
name="beanName" value="
testDWR">
</param>
<include method="test"/>
</create>
</allow>
</dwr>
spring中配置:
<bean id="
testDWR" class="com.time.util.TestDWR"></bean>
分享到:
相关推荐
struts2 spring ibatis dwr整合配置 自己整合的,很好用
精心整理的,dwr与目前流行框架spring和struts2的整合,值得一学
使用struts2、hibernate、spring、dwr整合的简单项目。包括级联等 注意:csdn上面显示为chm文件。该文件为.7z的压缩文件。用压缩软件可以打开的 csdn弄错了
Spring+struts+hibernate+dwr框架整合教程 本教程是专门介绍如何在ssh框架中搭建dwr框架。
NULL 博文链接:https://605113068.iteye.com/blog/1731323
Struts2 + spring + hibernate + dwr 完美整合代码 dwr 用户注册 多级下拉联动 刷新表格.. 全部代码
struts1+spring+hibernate+DWR整合方案详解
主要利用hibernate3.0+struts2.0 +dwr1+spring框架
重磅推出 struts+spring+hibernate+dwr整合分页例子
Spring2.5+Struts2.0+DWR完美整合完成用户登陆模块
spring+struts+hibernate+jbpm+dwr整合开发的OA办公系统源码
struts2.spring.hibernate.dwr整合的一个小项目 里面综合了struts2验证. 水印验证码。 注册时候判断用户名是否存在的dwr. 利用spring的AOP实现打印日志报告
基于Struts+Hibernate+Spring的整合架构及其在Web开发中的应用.pdf 基于Struts+Spring+Hibernate架构的轻量级J2EE的研究与应用.pdf 基于Struts+Spring+Hibernate架构的进销存管理系统的设计与实现.pdf 基于...
该示例使用MyEclipse 5.5 IDE用来整合四个技术(Struts 1.2, Spring 2.0, Hibernate 3.2和Ajax技术)的轻量级的JavaEE。 操作步骤如下: 1. 下载并解压之后,使用MyEclipse导入工程 2. 找到demo目录中的.sql数据库...
Struts2 Spring3.0 Hibernate3.3 全注解配置,避免了大量业务类在Spring文件的配置,整合了DWR3.0,displayTag 物理分页技术的实现。树形菜单。 另外数据库,在下一个资源;由于20MB的限制。 有问题的话留言。
不可多得的小例子。 内有详细操作流程说明。
在学习jpa时候做的一个struts2+spring+jpa整合的完整例子 包含分页,一个简单的 资产入库系统 并实现了登陆等。
struts2.0 +spring2.0+hiberante3所需jar包
DWR+spring+struts+hibernat整合登陆,一个简单的登陆系统,适合于初学者
47. //struts2整合Spring插件 48. struts2-spring-plugin-2.0.11.2.jar 49. //struts2必须 50. xwork-2.0.5.jar 数据库设计(使用MySql数据库): Java代码 1. create table user 2. ( 3. id varchar(32) ...