Struts2是一个基于MVC设计模式的Web层框架
Web层框架的特点:前端控制器模式
快速入门
1.下载Struts2的框架包
2.导入jar包
3.编写web.xml
<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>
4.编写一个主页demo1.jsp
<h1>struts2快速入门</h1> <a href="${pageContext.request.contextPath }/helloStruts2.action">发送请求</a>
5.编写HelloAction.class
public class HelloAction { public String hello(){ System.out.println("收到请求!"); return "success"; } }
6.编写struts.xml(放在src下)
<!-- 包结构 --> <package name="default" namespace="/" extends="struts-default"> <!-- 配置Action --> <action name="helloStruts2" class="com.struts2.web.action.HelloAction" method="hello" > <!-- 配置跳转的页面,路径的写法:在Struts2框架中,不管是转发还是重定向,都不用写项目名 --> <result name="success">/jsp/success.jsp</result> </action> </package>
测试:
1. 执行的流程
* 编写的页面,点击超链接,请求提交到服务器端。
* 请求会先经过Struts2的核心过滤器(StrutsPrepareAndExecuteFilter)
* 过滤器的功能是完成了一部分代码功能
* 就是一系列的拦截器执行了,进行一些处理工作。
* 咱们可以在struts-default.xml配置文件中看到有很多的拦截器。可以通过断点的方式来演示。
* 拦截器执行完后,会根据struts.xml的配置文件找到请求路径,找到具体的类,通过反射的方式让方法执行。
2. 总结
* JSP页面-->StrutsPrepereAndExecuteFilter过滤器-->执行一系列拦截器(完成了部分代码)-->执行到目标Action-->返回字符串-->结果页面(result)-->页面跳转