《SSH框架》---Struts2
来源:互联网 发布:linux新建一个文件 编辑:程序博客网 时间:2024/05/07 08:30
一、简介:
1、来由:
Struts(金属支架),在程序中表示起支撑作用的通用程序代码,Struts2是在Struts1框架的基础上融合了WebWork优秀框架升级得到的。
2、解释:
Struts2框架是一个轻量级的MVC流程框架,轻量级是指程序的代码不是很多,运行时占用的资源不是很多,MVC流程框架就是说它是支持分层开发,控制数据的流程,从哪里来,到那里去,怎么来,怎么去的这样一个框架;
二、配置过程
1、引入Struts2 jar包:
2、编写配置文件:
*Web.xml---配置核心过滤器
代码:
<!-- 配置Struts2的核心过滤器 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
*Struts.xml
在src文件夹下建立struts.xml文件:
代码:
<?xmlversion="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache SoftwareFoundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"> <struts><constantname="struts.devMode" value="false" /></struts>
三、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的配置文件中配置:
<!--商品模块的Action --><bean id="adminProductAction" class="cn.itcast.shop.product.adminaction.AdminProductAction"scope="prototype"></bean>
在Struts的配置文件中配置:
<actionname="adminProduct_*" class="adminProductAction"method="{1}"></action>
比如,添加商品,
1.在前台商品页面,请求添加商品,请求访问addPage方法:
window.location.href= "${pageContext.request.contextPath}/adminProduct_addPage.action";
2.跳转到Struts中对应类的名称为“adminProduct”中,在applicationContxt(Spring的配置)中adminProductAction对应的是此地址下类:"cn.itcast.shop.product.adminaction.AdminProductAction" ,于是在此action中查找添加商品需要的方法addPage;
public String addPage(){//查询所有的二级分类的集合:List<CategorySecond>csList=categorySecondService.findAll();//通过值栈来保存数据ActionContext.getContext().getValueStack().set("csList",csList);//页面跳转return"addPageSuccess"; }
在此方法中要求返回addPageSuccess,我们在Struts中规定,返回addPageSuccess时,跳转到add.jsp:
<resultname="addPageSuccess">/admin/product/add.jsp</result>
此时,在ssh框架中,Struts实现了控制器,控制跳转,但并不负责实例的生成。
以上是我对Struts的理解和框架的搭建,请路过的大鸟批评指点。
- 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
- web项目的目录结构
- http请求可能返回的状态码
- 波形图(人人网2017春招真题)
- Android scrollable tabs
- JQuery学习
- 《SSH框架》---Struts2
- 蓝
- 大数据-Hadoop学习笔记07
- 7、线程间通信
- 用HTML+PHP写一个留言板来进行XSS测试&学习 第二篇(POST储存型)
- Spring官网下载各版本jar包
- 01.后台前端引入jQuery Easy UI
- Java中的StringTokenizer类的使用方法
- 李宏毅机器学习课程笔记4:CNN、Why Deep、Semi-supervised