- 浏览: 21513917 次
- 性别:
博客专栏
-
跟我学spring3
浏览量:2420528
-
Spring杂谈
浏览量:3010259
-
跟开涛学SpringMVC...
浏览量:5640608
-
Servlet3.1规范翻...
浏览量:260221
-
springmvc杂谈
浏览量:1597953
-
hibernate杂谈
浏览量:250370
-
跟我学Shiro
浏览量:5860615
-
跟我学Nginx+Lua开...
浏览量:702889
-
亿级流量网站架构核心技术
浏览量:785758
文章分类
- 全部博客 (329)
- 跟我学Nginx+Lua开发 (13)
- 跟我学spring (54)
- 跟开涛学SpringMVC (34)
- spring4 (16)
- spring杂谈 (50)
- springmvc杂谈 (22)
- 跟我学Shiro (26)
- shiro杂谈 (3)
- hibernate杂谈 (10)
- java开发常见问题分析 (36)
- 加速Java应用开发 (5)
- Servlet 3.1规范[翻译] (21)
- servlet3.x (2)
- websocket协议[翻译] (14)
- websocket规范[翻译] (1)
- java web (6)
- db (1)
- js & jquery & bootstrap (4)
- 非技术 (4)
- reminder[转载] (23)
- 跟叶子学把妹 (8)
- nginx (2)
- 架构 (19)
- flume架构与源码分析 (4)
最新评论
-
xxx不是你可以惹得:
认真看错误代码,有时候重启电脑就行了 醉了 我把数据库配置写死 ...
第十六章 综合实例——《跟我学Shiro》 -
dagger9527:
holyselina 写道您前面说到能获取调用是的参数数组,我 ...
【第六章】 AOP 之 6.6 通知参数 ——跟我学spring3 -
xxx不是你可以惹得:
Access denied for user 'root'@' ...
第十六章 综合实例——《跟我学Shiro》 -
dagger9527:
只有@AspectJ支持命名切入点,而Schema风格不支持命 ...
【第六章】 AOP 之 6.5 AspectJ切入点语法详解 ——跟我学spring3 -
dagger9527:
支持虽然会迟到,但永远不会缺席!
【第四章】 资源 之 4.3 访问Resource ——跟我学spring3
先进行通用配置, 【第十章】集成其它Web框架 之 10.1 概述 Struts2前身是WebWork,核心并没有改变,其实就是把WebWork改名为struts2,与Struts1一点关系没有。 Struts2中通过ObjectFactory接口实现创建及获取Action实例,类似于Spring的IoC容器,所以Action实例可以由ObjectFactory实现来管理,因此集成Spring的关键点就是如何创建ObjectFactory实现来从Spring容器中获取相应的Action Bean。 Struts2提供一个默认的ObjectFactory接口实现StrutsSpringObjectFactory,该类用于根据Struts2配置文件中相应Bean信息从Spring 容器中获取相应的Action。 因此Struts2.x与Spring集成需要使用StrutsSpringObjectFactory类作为中介者。 接下来让我们首先让我们准备Struts2x所需要的jar包 准备Struts2.x需要的jar包,到Struts官网http://struts.apache.org/下载struts-2.2.1.1版本,拷贝如下jar包到项目的lib目录下并添加到类路径: lib\struts2-core-2.2.1.1.jar //核心struts2包 lib\xwork-core-2.2.1.1.jar //命令框架包,独立于Web环境,为Struts2 //提供核心功能的支持包 lib\freemarker-2.3.16.jar //提供模板化UI标签及视图技术支持 lib\ognl-3.0.jar //对象图导航工具包,类似于SpEL lib\ struts2-spring-plugin-2.2.1.1.jar //集成Spring的插件包 lib\commons-logging-1.0.4.jar //日志记录组件包(已有) lib\commons-fileupload-1.2.1.jar //用于支持文件上传的包 1、Struts2.x的Action实现: 2、JSP页面定义,使用Struts1x中定义的JSP页面“webapp/WEB-INF/jsp/hello.jsp”; 3、Spring一般配置文件定义(resources/chapter10/applicationContext-message.xml): 在此配置文件中定义我们使用的“message”Bean; 4、Spring Action 配置文件定义(resources/chapter10/hello-servlet.xml): Struts2的Action在Spring中配置,而且应该是prototype,因为Struts2的Action是有状态的,定义在Spring中,那Struts如何找到该Action呢? 5、struts2配置文件定义(resources/chapter10/struts2x/struts.xml): 6、web.xml部署描述符文件定义(webapp/WEB-INF/web.xml): 6.1、由于Struts2只能使用通用配置,因此需要在通用配置中加入Spring Action配置文件(chapter10/struts2x/struts2x-servlet.xml): Struts2只能在通用配置中指定所有Spring配置文件,并没有如Struts1自己指定Spring配置文件的实现。 6.2、Strut2前端控制器定义,在web.xml中添加如下配置: 7、执行测试,在Web浏览器中输入http://localhost:8080/hello.action可以看到“Hello Spring”信息说明Struts2集成成功。 集成Strut2也是非常简单,在此我们总结一下吧: Struts配置文件默认加载“struts-default.xml,struts-plugin.xml, struts.xml”,其中struts-default.xml和struts-plugin.xml是Struts自带的,而struts.xml是我们指定的,默认位于webapp/WEB-INF/classes下; 如果需要将配置文件放到其他位置,需要在web.xml的<filter>标签下,使用初始化参数config指定,如“struts-default.xml,struts-plugin.xml,chapter10/struts2x/struts.xml”,其中“struts-default.xml和struts-plugin.xml”是不可省略的,默认相对路径是类路径。 在struts.xml中指定: 或在struts.properties文件(webapp/WEB-INF/classes/)中: StrutsSpringObjectFactory将根据Struts2配置文件中的<action class=””>标签的classes属性名字去到Spring配置文件中查找同名的Bean定义,这也是集成的关键。 如图10-5,Sturt2与Spring集成的关键就是StrutsSpringObjectFactory,注意图只是说明Struts与Spring如何通过中介者StrutsSpringObjectFactory来实现集成,不能代表实际的类交互。 图10-5 Strut2与Spring集成 原创内容,转载请注明出处【http://sishuok.com/forum/blogPost/list/0/2512.html】10.3 集成Struts2.x
10.3.1 概述
10.3.2 使用ObjectFactory集成
package cn.javass.spring.chapter10.struts2x.action;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport {
private String message;
@Override
public String execute() throws Exception {
ServletActionContext.getRequest().setAttribute("message", message);
return "hello";
}
public void setMessage(String message) {//setter注入
this.message = message;
}
}
<bean id="message" class="java.lang.String">
<constructor-arg index="0" value="Hello Spring"/>
</bean>
<bean name="helloAction" class="cn.javass.spring.chapter10.struts2x.action.HelloWorldAction" scope="prototype">
<property name="message" ref="message"/>
</bean>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/>
<constant name="struts.devMode" value="true"/>
<package name="default" extends="struts-default">
<action name="hello" class="helloAction">
<result name="hello" >/WEB-INF/jsp/hello.jsp</result>
</action>
</package>
</struts>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:chapter10/applicationContext-message.xml,
classpath:chapter10/struts2x/struts2x-servlet.xml
</param-value>
</context-param>
<!-- Struts2.x前端控制器配置开始 -->
<filter>
<filter-name>struts2x</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>
struts-default.xml,struts-plugin.xml,chapter10/struts2x/struts.xml
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2x</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<!-- Struts2.x前端控制器配置结束 -->
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/>
struts.objectFactory=org.apache.struts2.spring.StrutsSpringObjectFactory
评论
现在出现的问题是在同一个浏览器打开两个登录页面,现在我用第一次打开的登录Struts2报告Action找不到,而用第二次打开的登录页面就能够成功的执行。也就是说打开多个请求同一个Action的jsp页面,只有最新打开的才是有效的,请问这是为什么,并且怎么解决这个问题呢?
没太明白怎么个情况 如果可以站内信我源码看下
代码有点多,如果可以的话,给我个邮箱,我把代码发给您看看
zhangkaitao0503@gmail.com
现在出现的问题是在同一个浏览器打开两个登录页面,现在我用第一次打开的登录Struts2报告Action找不到,而用第二次打开的登录页面就能够成功的执行。也就是说打开多个请求同一个Action的jsp页面,只有最新打开的才是有效的,请问这是为什么,并且怎么解决这个问题呢?
没太明白怎么个情况 如果可以站内信我源码看下
代码有点多,如果可以的话,给我个邮箱,我把代码发给您看看
zhangkaitao0503@gmail.cm
现在出现的问题是在同一个浏览器打开两个登录页面,现在我用第一次打开的登录Struts2报告Action找不到,而用第二次打开的登录页面就能够成功的执行。也就是说打开多个请求同一个Action的jsp页面,只有最新打开的才是有效的,请问这是为什么,并且怎么解决这个问题呢?
没太明白怎么个情况 如果可以站内信我源码看下
代码有点多,如果可以的话,给我个邮箱,我把代码发给您看看
现在出现的问题是在同一个浏览器打开两个登录页面,现在我用第一次打开的登录Struts2报告Action找不到,而用第二次打开的登录页面就能够成功的执行。也就是说打开多个请求同一个Action的jsp页面,只有最新打开的才是有效的,请问这是为什么,并且怎么解决这个问题呢?
没太明白怎么个情况 如果可以站内信我源码看下
现在出现的问题是在同一个浏览器打开两个登录页面,现在我用第一次打开的登录Struts2报告Action找不到,而用第二次打开的登录页面就能够成功的执行。也就是说打开多个请求同一个Action的jsp页面,只有最新打开的才是有效的,请问这是为什么,并且怎么解决这个问题呢?
不过这句不明白
struts2x:FilterDispatcher前端控制器的名字为struts2x,因此相应的Spring配置文件名为struts2x-servlet.xml。
这是固定的写法吗?
不是固定,可以任意
不过这句不明白
struts2x:FilterDispatcher前端控制器的名字为struts2x,因此相应的Spring配置文件名为struts2x-servlet.xml。
这是固定的写法吗?
发表评论
-
第十九章 动态URL权限控制——《跟我学Shiro》
2014-03-28 22:51 0用过Spring Security的朋友应该比较熟悉对URL ... -
第十九章 动态URL权限控制——《跟我学Shiro》
2014-03-28 22:51 0用过Spring Security的朋友应该比较熟悉对URL ... -
在应用层通过spring解决数据库读写分离
2012-11-09 07:28 3如何配置mysql数据库的主从? 单机配置mys ... -
跟我学spring3系列 word原版 下载
2012-11-03 20:39 122248《跟我学spring3系列》自发布以来得到大家的认可,非 ... -
跟我学spring3 电子书下载(完)
2012-05-03 14:23 52756感谢iteye各位网友对我的支持,在此谢过了! ... -
跟我学spring3 目录贴及电子书下载
2012-04-10 19:00 390638扫一扫,关注我的公众号 购买地址 ... -
【第十三章】 测试 之 13.3 集成测试 ——跟我学spring3
2012-03-30 07:11 2753213.3 集成测试 13.3.1 ... -
【第十三章】 测试 之 13.1 概述 13.2 单元测试 ——跟我学spring3
2012-03-28 07:46 2364213.1 概述 13.1.1 测 ... -
【第十二章】零配置 之 12.5 综合示例-积分商城 ——跟我学spring3
2012-03-27 15:13 2082412.5 综合示例 12.5.1 概述 在第十一 ... -
【第十二章】零配置 之 12.4 基于Java类定义Bean配置元数据 ——跟我学spring3
2012-03-26 08:26 2993312.4 基于Java类定义Bean配置元数据 12 ... -
【第十二章】零配置 之 12.4 基于Java类定义Bean配置元数据 ——跟我学spring3
2012-03-26 08:00 56712.4 基于Java类定义Bean配置元数据 12 ... -
spring培训PPT(欢迎下载)
2012-03-24 21:55 45java私塾的 spring培训的PPT 欢迎大家下载。 包括 ... -
java私塾的spring培训PPT(欢迎下载)
2012-03-22 12:41 2973java私塾的 spring培训的PPT 欢迎大家下载。 ... -
【第十二章】零配置 之 12.3 注解实现Bean定义 ——跟我学spring3
2012-03-22 08:00 2669712.3 注解实现Bean定 ... -
【第十二章】零配置 之 12.2 注解实现Bean依赖注入 ——跟我学spring3
2012-03-19 08:00 3318712.2 注解实现Bean依赖注入 12.2.1 ... -
【第十二章】零配置 之 12.1 概述 ——跟我学spring3
2012-03-19 07:59 2032912.1 概述 12.1.1 什 ... -
【第十一章】 SSH集成开发积分商城 之 11.3 实现积分商城层 ——跟我学spring3
2012-03-16 08:09 1809311.3 实现积分商城层 11.3.1 概述 ... -
【第十一章】 SSH集成开发积分商城 之 11.2 实现通用层 ——跟我学spring3
2012-03-14 08:08 1915411.2 实现通用层 11.2 ... -
【第十一章】 SSH集成开发积分商城 之 11.1 概述 ——跟我学spring3
2012-03-13 16:37 1944711.1 概述 11.1.1 功能概述 ... -
【第十章】集成其它Web框架 之 10.4 集成JSF ——跟我学spring3
2012-03-13 08:46 12623先进行通用配置, 【第十章】集成其它Web框架 之 1 ...
相关推荐
复制CD中的VMwareTools-10.3.21-14772444.tar.gz文件到根目录下: cp /media/user/VMware\ Tools/VMwareTools-10.3.21-14772444.tar.gz / 然到移动到根目录: cd / 解压VMwareTools-10.3.21-14772444....
这个压缩包“VMwareTools-10.3.21-14772444.tar.gz”是VMware Tools的一个特定版本,其版本号10.3.21,对应的构建标识符是14772444,适用于VMware 15.5版本。 在VMware虚拟机中安装VMware Tools后,用户可以享受到...
SunloginClient_10.3.0.27372.exeSunloginClient_10.3.0.27372.exeSunloginClient_10.3.0.27372.exeSunloginClient_10.3.0.27372.exeSunloginClient_10.3.0.27372.exeSunloginClient_10.3.0.27372.exeSunloginClient...
文件总共有3个分批上传了,解压时解压tdsql_10.3.17.3.0.zip文件 https://download.csdn.net/download/weixin_44001214/88735935 https://download.csdn.net/download/weixin_44001214/88735944 ...
文件总共有3个分批上传了,解压时解压tdsql_10.3.17.3.0.zip文件 https://download.csdn.net/download/weixin_44001214/88735935 https://download.csdn.net/download/weixin_44001214/88735944 ...
在描述中提到的"向日葵SunloginClient_10.3.0.27372.rar"同样强调了这是向日葵客户端的某个版本的压缩文件,可能包含了安装程序和其他相关配置或文档。 标签"向日葵SunloginClien"可能是由于输入错误,但其意图显然...
文件总共有3个分批上传了,解压时解压当前文件 https://download.csdn.net/download/weixin_44001214/88735935 https://download.csdn.net/download/weixin_44001214/88735944 ... 安装步骤参考: ...
vxupdate_nb_10.3.0.1_windows_x64.sja vxupdate_nb_10.3.0.1_suse_x64.sja vxupdate_nb_10.3.0.1_redhat_x64.sja NetBackup_10.3.0.1_Win.zip NetBackup_10.3.0.1_LinuxS_x86_64.tar.gz NetBackup_10.3.0.1_LinuxR_...
Visual.Assist.X.v10.3.1557+Crack.rar
"Mariadb-10.3.16.tar.gz" 是MariaDB的一个特定版本,这里的10.3.16表示主版本号为10,次要版本号为3,修正版本号为16。这种版本编号方式遵循软件行业的标准,通常意味着每次小版本升级会带来新的特性和改进,而修正...
标题中的“SunloginClient_10.3.0.27372.rar”表明这是一个名为“SunloginClient”的远程桌面控制软件的压缩包文件,版本号为10.3.0,构建号为27372。该软件通常用于帮助用户远程访问和管理他们的计算机,无论他们身...
《跟我学Spring3》这本书详细介绍了Spring框架在多个方面的应用,包括ORM支持、事务管理和Web框架集成等。以下是对这些章节内容的详细说明: 【第八章】 对ORM的支持: 1. **8.1 概述**:ORM(Object-Relational ...
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
10.1节概述集成其他Web框架,10.2节介绍如何集成Struts1.x,10.3节介绍如何集成Struts2.x,10.4节介绍如何集成JSF(JavaServer Faces)。 【第十一章】SSH集成开发积分商城。SSH即Spring + Struts + Hibernate的...
CVE-2020-14882 Oracle WebLogic Server 10.3.6.0.0 / 12.1.3.0.0
4. **兼容性改进**:随着技术的发展,新的补丁集可能会改进与其它Oracle产品(如数据库、中间件组件)以及第三方软件的兼容性,确保无缝集成和互操作性。 5. **功能增强**:Oracle可能会在补丁集中引入一些新特性或...
《跟我学Spring3》这本书详细介绍了Spring框架与各种ORM(对象关系映射)框架的集成,以及Spring的事务管理和Web框架集成。以下是其中关键知识点的深入解析: **8. ORM支持** 1. **8.1 概述**:ORM允许开发者以面向...
《ORCAD 10.3 Licence生成程序详解》 在电子设计自动化(EDA)领域,ORCAD是一款广泛应用的电路设计软件,尤其在PCB设计方面具有显著地位。ORCAD 10.3作为其一个重要版本,深受工程师们的青睐。然而,软件的使用离...
《跟我学Spring3》这本书是针对Spring框架的深入学习指南,涵盖了多个关键章节,包括Spring对ORM(对象关系映射)的支持、事务管理和与其他Web框架的集成等内容。以下是各章节主要内容的详细阐述: 1. **第八章:对...
linux系统,rpm资源glibc-2.12-1.212.el6_10.3.x86_64.rpm,适用于centos6.9,没有在centos7上进行测试。