Struts2学习笔记整理(一)-----Struts2简介及使用
一、Struts2简介
1.概念:轻量级的MVC框架,主要解决了请求分发的问题,重心在控制层和表现层。低侵入性,与业务代码的耦合度很低。Struts2实现了MVC,并提供了一系列API,采用模式化方式简化业务开发过程。
2.与Servlet对比
优点:业务代码解耦,提高开发效率
缺点:执行效率偏低,需要使用反射、解析XML等技术手段,结构复杂
3.充当控制器的作用

二、Struts2使用
1.使用步骤
导入Struts2核心jar包

在web.xml配置前端控制器filter
<filter>
<filter-name>Struts2</fileter-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>
编写控制器Action
- 方法是public的
- 返回值为String类型(返回值与struts.xml->action->result的name属性匹配,即根据此返回值找到对应result)
- 参数列表为空
创建JSP页面
创建struts.xml(格式可以参考核心包根路径下的DTD文件,struts-default.xml)
配置struts.xml
<struts>
<!--
package:包,用于对Action进行封装
name:包名,根元素下可以有多个包,彼此不能重名
extends:继承,用于指定继承的包,相当于将继承包下的配置信息复制到当前包
namespace:命名空间,用于规定Action的访问路径,必须“/”开头 -->
<package name="test01" namespace="/test01" extends="struts-default">
<!--action:业务控制器,用于注册业务控制器组件
name:action名称,用于规定Action的访问路径
class:业务控制器组件,用于指定业务控制器对应的类
method:方法,用于指定访问当前action时要调用的方法
*请求URL:http://ip:port/projectName/namespace/ActionName.action -->
<action name="hello" class="test01.konrad.action.HelloAction" method="execute">
<!--result:输出组件,用于转发、重定向、直接输出
name:名称,一个action下可以有多个result,彼此不能重名
默认值转发,元素内设置转发的页面
-->
<result name="success">
/hello.jsp
</result>
</action>
</package>
</struts>
浙公网安备 33010602011771号