SSH整合 第五篇 struts2的到来
struts2的好处,web层的显示,同时Action类相当于MVC模式的C。整合进来的话,是通过与Spring整合,减少重复代码,利用IoC和AOP。
1、struts-2.5.2.jar

以上是struts-2.5.2基本的包 ,另外着色的两个之前有加入了,不再加入。
2、整合包
struts2-spring-plugin-2.5.2(struts2有提供)
3、Action要用注解的话
加入struts2-convention-plugin-2.5.2
在Action上加上注解时
有NoClassDefFoundError: org/objectweb/asm/ClassVisitor报错
加入asm-xxx.jar
有NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor包
加入asm-commons-xxx.jar
加入这两个包就没有报错了。不过还有一个asm-tree-xxx.jar同样是字节码的处理jar。先将它加入吧。
4、初步了解struts2
参考 struts2入门程序
5、将Action托管给Spring
需要在struts.xml中加上常量。
<constant name="struts.objectFactory" value="spring"></constant>
加上这个常量,且有一个包的struts配置文件如下。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd"> <struts>
<!-- 开发模式(修改struts.xml不用重启服务器) -->
<constant name="struts.devMode" value="true" /> <!-- 将action托管给spring -->
<constant name="struts.objectFactory" value="spring"></constant> <!-- 动态action 2.5-->
<constant name="struts.enable.DynamicMethodInvocation" value="true" /> <package name="myPackage" namespace="/user" extends="struts-default" >
<!-- 动态action 2.5-->
<global-allowed-methods>regex:.*</global-allowed-methods> <action name="userAction" class="com.xzw.ssh.action.UserAction">
<result name="success">/index.jsp</result>
</action>
</package> </struts>
struts.xml
6、整合成功。
可以尝试一下在Action中的注入一个属性,然后访问这个Action,看下有没有成功注入。
至此,三大框架Struts-2.5.2、Spring-3.2.0和Hibernate-4.2.21基本整合成功。目前导入了以下包。


SSH整合 第五篇 struts2的到来的更多相关文章
- SSH整合 第四篇 Spring的IoC和AOP
这篇主要是在整合Hibernate后,测试IoC和AOP的应用. 1.工程目录(SRC) 2.IoC 1).一个Service测试类 /* * 加入spring容器 */ private Applic ...
- SSH整合 第三篇 Spring的加入
1.思路和想法. 目前理解到的,觉得是的,可能的,应该这样的……………… Spring的两大核心是IoC和AOP Ioc:帮助实例化对象,加载到容器中,在注入到需要用到的地方.这样就可以减少在不同的方 ...
- ssh整合问题总结--使用struts2+Ajax+jquery验证用户名是否已被注册
在用户模块中的用户注册需求上,通常要进行用户名是否已被注册的验证,今天正好写了这个需求,把详细代码和所遇到的问题贴过来.在使用struts2+ajax时候,通常我们会返回json类型的数据,但是像上面 ...
- 第五篇——Struts2的默认Action
默认Action 1.当访问action不存在时,可以通过制定默认action的方式避免出现错误代码页面: 2.使用default-action-ref 指定默认 action. 项目实例 1.项目结 ...
- SSH整合 第二篇 工程初建
SSH整合,第二篇. 创建工程 这里只是测试和理解hibernate.建立Java工程就好了. 1.hibernate-4.2.21.jar hibernate包下的required,即\hibern ...
- SSH整合开发时Scope为默认时现象与原理
1.前提知识 1)scope默认值 进行SSH整合开发时,Struts2的action须要用spring容器进行管理,仅仅要涉及到类以bean的形式入到spring容器中.无论是xml配置还是使用注解 ...
- Java - 框架之 SSH 整合
代码获取 十四. ssh 整合1 - 包 1. Struts jar 包 - Struts-2.xx\apps\stutrs2-blank\WEB-INF ...
- Spring(八)SSH整合简述
一.Spring与Struts2的整合 1.1.整合步骤 1.2.配置web.xml 1.3.配置spring配置文件applicationContext.xml 1.4.配置struts配置文件 1 ...
- SSH整合(struts2.3.24+hibernate3.6.10+spring4.3.2+mysql5.5+myeclipse8.5+tomcat6+jdk1.6)
终于开始了ssh的整合,虽然现在比较推崇的是,ssm(springmvc+spring+mybatis)这种框架搭配确实比ssh有吸引力,因为一方面springmvc本身就是遵循spring标准,所以 ...
随机推荐
- 关于Git的礼节
(这里的内容本来是<怎样尊重一个程序员>的一小节,但由于Git的使用引起了很普遍的不尊重程序员的现象,现在特别将这一节提出来单独成文.) Git是现在最流行的代码版本控制工具.用外行话说, ...
- C++ 0x std::async 的应用
#include <iostream> #include <thread> #include <mutex> #include <vector> #in ...
- 线性判别分析LDA详解
1 Linear Discriminant Analysis 相较于FLD(Fisher Linear Decriminant),LDA假设:1.样本数据服从正态分布,2.各类得协方差相等.虽然 ...
- javascript,排列组合
输入参数 ‘abc',输出所有组合 ['abc','acb','bac','bca','cab','cba'] 思路:分为3列,第一列为 a, b,c :第二列为a,b,c出去第一列选中过后的,比如 ...
- java内存模型:Happens-Before
有序性:Java内存模型中的程序天然有序性可以总结为一句话:如果在本线程内观察,所有操作都是有序的:如果在一个线程中观察另一个线程,所有操作都是无序的.前半句是指“线程内表现为串行语义”,后半句是指“ ...
- 联想笔记本Win10 F1-F12失效的解决方法
最近换了笔记本,用的是win10,发现F1到F12不生效. 比如玩游戏时,按F1没有切换到自己角色上,编程运行代码时的shift+F10也不行. 后来发现,这是因为某些笔记本的Fn功能键默认的不是传统 ...
- js字符串解析成数字
parseInt() 先把参数转换成字符串:左边有连续的数字则返回数值,若没有则返回NaN. console.log('parseInt(null)',parseInt(null)); // NaN ...
- 根据二进制和十进制转换规则转换成游戏[xyytit]
摘要: 二進位是由十進位轉換而成,它的數字都由1.0組成的.我們研究發現由十進位轉換而成的二進位的數字可以不只局限在於1~127,它的數可以更加深加廣,並且可以利用二進位的規則轉換成遊戲.我們利用2n ...
- 浅谈python中的“ ==” 与“ is”
在python中,== 与 is 之间既有区别,又有联系,本文将通过实际代码的演示,力争能够帮助读到这篇文章的朋友以最短的时间理清二者的关系,并深刻理解它们在内存中的实现机制.扯淡的话不多说,下面马上 ...
- Spring的3.0提供了一种:SpEL注入方式(了解)
1. SpEL:Spring Expression Language是Spring的表达式语言,有一些自己的语法 2. 语法 * #{SpEL} 3. 例如如下的代码 <!-- SpEL的方式 ...