浅谈mvc模式的应用框架之struts

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

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有所帮助

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值