《SSH框架》---Struts2
来源:互联网 发布:网络管理 委托代理 编辑:程序博客网 时间:2024/05/19 19:57
一、简介:
1、来由:
Struts(金属支架),在程序中表示起支撑作用的通用程序代码,Struts2是在Struts1框架的基础上融合了WebWork优秀框架升级得到的。
2、解释:
Struts2框架是一个轻量级的MVC流程框架,轻量级是指程序的代码不是很多,运行时占用的资源不是很多,MVC流程框架就是说它是支持分层开发,控制数据的流程,从哪里来,到那里去,怎么来,怎么去的这样一个框架;
二、配置过程
1、引入Struts2 jar包:
2、编写配置文件:
*Web.xml---配置核心过滤器
代码:
*Struts.xml
在src文件夹下建立struts.xml文件:
代码:
三、Spring整合Struts2
spring也提供了MVC模式的支持,但Struts是比较单纯的MVC框架,开发中更倾向Spring和Struts整合开发。Struts和Spring的整合比较简单顺畅。
整合关键点是:将Struts中的Action的实例生成不再由Struts负责,而交给Spring容器管理,主要目的是让控制器与业务逻辑组件实现分离。基于该目的,我们采用工厂模式策略,让Spring容器管理Action,利用IoC的依赖注入特性为控制器注入业务逻辑组件。Struts只单纯扮演控制器的角色。
下面是Spring和Struts整合的关键步骤。Struts的核心控制器必须能装载Spring的应用程序环境。
Spring和Struts整合有两种方式
1、Struts2的Action由Struts2框架自身创建.
2、Struts2的Action交给Spring框架创建.
我们推荐使用第二种方式,因为第二种方式,Action类由Spring容器进行管理,可以方便的对Action类进行AOP的编程。但第二种有一个关键地方:就是在Struts2框架创建Action类的时候,默认是多例的。而Spring容器在管理类的时候,默认创建是单例的.单例的这种方式就容易产生线程安全问题.所以一定要配置类的scope属性。
关于scope的了解:http://blog.csdn.net/camper001/article/details/6121910
*********************** 以后台商品管理为例***************************
在Spring的配置文件中配置:
在Struts的配置文件中配置:
比如,添加商品,
1.在前台商品页面,请求添加商品,请求访问addPage方法:
2.跳转到Struts中对应类的名称为“adminProduct”中,在applicationContxt(Spring的配置)中adminProductAction对应的是此地址下类:"cn.itcast.shop.product.adminaction.AdminProductAction" ,于是在此action中查找添加商品需要的方法addPage;
在此方法中要求返回addPageSuccess,我们在Struts中规定,返回addPageSuccess时,跳转到add.jsp:
<resultname="addPageSuccess">/admin/product/add.jsp</result>
此时,在ssh框架中,Struts实现了控制器,控制跳转,但并不负责实例的生成。
以上是我对Struts的理解和框架的搭建,请路过的大鸟批评指点。
转载自:http://blog.csdn.net/WKX18330698534/article/details/69808808?locationNum=7&fps=1#
- SSH(Struts2)框架搭建
- SSH框架(struts2)
- 《SSH框架》---Struts2
- 《SSH框架》---Struts2
- SSH框架(Struts2)
- ssh框架 Struts2
- SSH框架---Struts2
- ZTree + JQuery +Struts2 +SSH框架
- SSH:Struts2框架(简介)
- SSH:Struts2框架(总结)
- ssh框架Struts2 简单应用
- ssh框架搭建 struts2.1.6+hibernate3.3.1
- SSH框架搭建_Spring2+Struts2+hibernate3
- 搭建SSH框架之配置Struts2
- 【Struts2+Spring3+Hibernate3】SSH框架整合
- SSH三大框架之struts2
- struts2 spring3 hibernate4 SSH框架搭建
- SSH框架——走进Struts2
- BeanUtils工具类的使用
- CentOS遇到kmod-microsoft-hyper-v-rhel63.3.5-20131212.x86_64 (installed)
- 【Hibernate】——持久化对象的三种状态
- pycharm django 初探
- JavaScript对象扩展(Object.is(), assign(), 对象遍历keys, es6原型介绍)
- 《SSH框架》---Struts2
- JavaWeb项目从零开始(2)--- spring、spring mvc、mybatis整合
- 无法检测到本地java应用程序
- Python-sklearn机器学习的第一个样例(6)
- viewDidLoad在init方法之前调用的坑
- Java多线程中join的用法
- ajax同步和异步
- CF
- HTML5加app教程-mui开发示例演示