浅谈mvc模式的应用框架之struts
MVC模式:
Model 模型
View 视图
Control 控制器
Control 控制器 (Servlet起到控制器作用!)
----》 获取请求数据封装
----》 调用Service处理业务逻辑
----》 跳转(转发/重定向)
传统mvc开发总结:
1. 跳转代码写死,不灵活
2. 每次都去写servlet,web.xml中配置servlet!
Struts框架引入
软件中的框架,是一种半成品; 我们项目开发需要在框架的基础上进行!框架已经实现了一些功能,这样就可以提高开发效率!
Struts就是基于mvc模式的框架:struts其实也是servlet封装,提高开发效率!
Struts1最早的一种基于mvc模式的框架;
Struts2 是在Struts1的基础上,融合了xwork的功能;
也可以说,Struts2 = struts1 + xwork
SSH框架在mvc模式的的位置作用:
1.struts起到控制层的作业。
2.spring起到业务逻辑层的处理。
3.Hibernate起到封装数据,与数据库交互处理。

Struts2开发步骤
(1)web项目引入jar包
可以进入官方网站下载最新的JAR包:
https://struts.apache.org/
struct-2.5.22:(引入12个jar包即可)

(2)web.xml中,引入struts的核心功能配置过滤器
Tomcat启动-> 加载自身web.xml->加载所有项目的web.xml
通过在项目的web.xml中引入过滤器,
->Struts的核心功能的初始化,通过过滤器完成
-> filter 过滤器
init/ 启动执行
doFilter/ 访问执行
destroy 销毁对象
<!-- 引入struts核心过滤器 -->
<filter>
<filter-name>hello</filter-name>
<filter-class>
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>hello</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
(3)开发action
1. action类,也叫做动作类; 一般继承ActionSupport类
即处理请求的类 (struts中的action类取代之前的servlet)
2. action中的业务方法,处理具体的请求
(1)必须返回String
(2)方法不能有参数
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport {
public String execute() throws Exception{
return SUCCESS;
}
}
(4)配置action : src/struts.xml
<struts>
<package name="hello" namespace="/" extends="struts-default">
<action name="HelloWorld" class="study.jy.action.HelloWorldAction">
<!-- 定义逻辑视图和物理资源之间的映射 -->
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
Struts2执行流程
服务器启动:
- 加载项目web.xml
- 创建Struts核心过滤器对象
执行filter -> init()
struts-default.xml, 核心功能的初始化
struts-plugin.xml, struts相关插件
struts.xml 用户编写的配置文件
访问:
- 创建action对象
用户访问Action, 服务器根据访问路径名称,找对应的aciton配 置, - 执行默认拦截器栈中定义的18个拦截器
- 执行action的业务处理方法
- 拦截器放行,执行execute()
访问时序图如下:

希望对大家了解structs有所帮助
本文介绍了MVC模式的组成部分,强调控制器Servlet在其中的作用。Struts作为基于MVC的框架,提高了开发效率,尤其是Struts2结合了Struts1和XWork的功能。文章详细阐述了Struts2的开发步骤,包括引入JAR包、配置web.xml和开发Action。同时,解释了Struts2的执行流程,从服务器启动到拦截器执行,帮助读者理解Struts2的工作原理。
929

被折叠的 条评论
为什么被折叠?



