初识struts2
刚刚开始学习struts2,周末总结周内学习情况。
介绍struts2之前,先了解一下MVC、struts1和WebWork。
MVC
MVC是代码的分层思想,是软件设计领域经典的设计模式。它根据代码功能的不同,讲一个软件的代码分为3个部分,即模型、视图、控制器:
M-Model 模型:模型的功能是负责业务数据和业务处理逻辑,如实体类,DAO,Service
V-View视图:视图的功能是负责显示界面和用户交互(收集用户信息),如不包含业务逻辑和控制逻辑的JSP
C-Controller 控制器:控制器的功能是负责控制流程,是模型层与视图层之间的桥梁,如Servlet项目中的控制器ActionServlet
struts1是最早的基于MVC模式的Web框架,它能够合理的划分代码结构,并包含验证框架等实用工具框架。
WebWork是一个致力于组件化和代码重用的MVC模式的Web框架,出生迟于struts1
Struts2是将struts1和WebWork合并产生的全新框架。Struts2与struts1有很大区别,并非是struts1的升级版。
为了快速认识struts2,先实现一个小案例
Hello案例(Maven项目)
struts2版本:2.3.24
1、创建maven项目,不会创建查看maven笔记2
2、导入struts2包依赖
<dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.3.24</version> </dependency>
不会使用maven的同志创建正常web项目,导入struts2的jar包即可。
官网地址:https://struts.apache.org/
struts-2.5.20-all.zip:包含所有jar包
struts-2.5.20-min-lib.zip :仅包含创建项目必须的8个jar包(推荐)
3、打开web.xml文件,添加filter
<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>
filter-class因struts2版本有一定差异
4、创建TestAction
此案例中该类继承ActionSupport类,重写execute()函数,另写一个hello()函数
Action中函数要求:
a、方法权限修饰符为public
b、返回字符串类型
c、方法无参
5、maven项目在resources中创建struts.xml 正常web项目在src目录下直接创建struts.xml
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="TestFirst" namespace="/" extends="struts-default"> <!--extends="struts-default" 必须写--> <action name="FirstT" class="com.test.pojo.TestAction"> <result name="success">/success.jsp</result> </action> <action name="hello" class="com.test.pojo.TestAction" method="hello"> <result name="hello"></result> </action> </package> </struts>
6、配置tomcat
7、打开浏览器、访问ActionName
ok,对struts2大体有了认识,想继续探究学习的请关注查看持续更新。
发现错误请及时评论博主,三克油