最近在写三大框架整合 其实主要就是一些配置文件问题,三大框架整合其实也就是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的整合配置。 【Struts2配置】 1. 创建基础工程结构:在myEclipse中新建Web工程s2siDemo,并创建相关的包和类。例如,UserAction、UserDao、UserManager和...
综上所述,"DWR与SPRING,DWR与STRUTS2的整合"主题涵盖了现代Java Web开发中重要的三个方面:DWR的实时通信能力、Spring的全面后端支持和Struts2的MVC架构。通过整合这三者,开发者可以构建出具有高效交互、灵活管理...
1. **配置Spring**:首先,在Spring配置文件中定义Bean,包括Struts2的Action类和DWR的接口实现类。使用Spring的`<bean>`标签声明这些类,并设置相应的属性,如Service类和DAO类。 2. **配置Struts2**:在Struts2的...
在"struts2+hibernate+spring+dwr整合"的项目中,这四个框架的协同工作通常如下: 1. Struts2 负责处理HTTP请求,解析用户的输入,根据配置决定执行哪个Action,Action完成后通过Result返回响应。 2. Spring 作为...
**SSH+DWR整合步骤** 1. **安装与配置** - 安装并配置所需的JDK、IDE、Tomcat等环境。 - 添加Spring、Struts2、Hibernate和DWR的jar包到项目的类路径中。 2. **配置Spring** - 创建Spring配置文件,定义bean,...
综合以上,本项目通过Struts2、Spring、Hibernate和DWR的整合,构建了一个具备用户注册、多级下拉联动和表格刷新功能的Web应用。这种整合不仅提高了开发效率,也提升了用户体验,展示了Java Web开发的强大能力。在...
struts1+spring+hibernate+DWR整合方案详解
在Java Web开发中,SSH(Struts、Spring、Hibernate)框架组合和Direct Web Remoting (DWR) 的集成是一项常见的任务,它旨在提供一个高效、灵活的后端服务与前端交互的方式。SSH框架提供了强大的MVC(Model-View-...
在"Framework_SSH"这个压缩包中,可能包含了SSH(Struts、Spring、Hibernate)框架的相关资料。虽然SSH与Spring DWR不是直接关联,但它们都是Java企业级开发中常用的组件。SSH框架组合可以帮助构建模型-视图-控制器...
在您提供的信息中,我们看到一个基于Java的项目,它整合了Spring、JSON、DWR(Direct Web Remoting)、Struts2.0以及Hibernate3.0。下面将详细介绍这些技术及其整合方式。 1. **Spring框架**: Spring是一个开源的...
Struts、Spring、Hibernate 和 Direct Web Remoting (DWR) 是Java开发中常见的四大框架,它们各自在Web应用的不同层面发挥作用。在这个“struts+spring+hibernate+dwr+分页例子”中,我们将深入探讨这四个框架的集成...
这个项目"spring+ibatis+struts2+dwr反转"整合了四个关键的Java Web开发组件,它们分别是Spring、iBatis、Struts2和Direct Web Remoting (DWR)。下面将详细介绍这些技术及其在项目中的作用。 1. **Spring框架**:...
- 按照《StrutsSpringHibernate集成》文档中的指引,添加业务层(Service Layer)及数据访问层(DAO Layer),同时创建相应的实体类。 - 调整包名及类名,确保与已有项目结构一致。 7. **配置Spring上下文文件**...
在IT行业中,构建Web应用程序是常见的任务,而Spring、Struts和DWR是Java领域内常用的三大框架,它们各自有着独特的优势。本项目利用Spring 2.5、Struts 2.0和Direct Web Remoting (DWR)的集成,实现了用户登录功能...
这个压缩包中的"lib1"可能包含了这些框架的JAR文件,它们是运行基于Spring、iBatis、Struts2和DWR的应用所必需的依赖库。在实际项目中,开发者会根据具体需求选择和配置这些框架,然后将对应的库文件添加到项目的类...
Ajax、Spring、Hibernate和Struts是Java Web开发中的四大核心技术,它们各司其职,共同构建了一个高效、灵活且功能强大的后端架构。这个小例子将这四个框架整合在一起,用于实现一个登录注册系统,提供了从客户端到...
这是一个基于Java技术栈,采用Spring、Struts、Hibernate、jbpm和DWR等多种框架整合开发的OA(Office Automation)办公系统源码项目。这个系统的构建旨在实现企业的日常办公自动化,提高工作效率,简化工作流程,...
Struts2、Spring、Hibernate和DWR是Java Web开发中常用的四大框架,它们各自负责不同的功能,但在实际项目中常常需要进行整合以提高开发效率和系统性能。本项目就是一个将这四大框架集成的小型示例,旨在展示如何将...
基于Struts+Hibernate+Spring的整合架构及其在Web开发中的应用.pdf 基于Struts+Spring+Hibernate架构的轻量级J2EE的研究与应用.pdf 基于Struts+Spring+Hibernate架构的进销存管理系统的设计与实现.pdf 基于...
Struts2.0、Spring2.0、Hibernate3和DWR以及Freemarker是Java Web开发中的关键组件,它们各自负责不同的职责,并且通过合理的整合,可以构建出强大的企业级应用系统。 Struts2.0是Apache软件基金会下的一个开源MVC...