Struts 项目执行流程
- Tomcat启动 → 加载web.xml → Struts核心功能初始化,通过过滤器完成
过滤器执行流程:
1.Init — 启动执行
1.doFilter — 访问执行
1.Destroy — Tomcat停止
解析struts-default.xml文件
解析struts-plugin.xml文件
解析struts.xml文件
-访问action
1.根据访问的路径名称找到action的位置,根据配置的class创建action对象
,根据method调用方法
2.执行方法,返回字符串(只能返回String)
3.Action根据返回的字符串找到对应的result标签,跳转界面
struts2的环境搭配和基本执行步骤
1.导入相关jar包
2.配置主struts.xml文件,当然是根据需求来配置的
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 主要配置什么类、方法处理什么请求,作出什么样的反应,json是继承了struts2的 -->
<package name="abc" extends="json-default">
<!-- 配置拦截器 -->
<interceptors>
<!-- 1.配置自己的拦截器 -->
<interceptor name="timeInterceptor" class="com.woniuxy.interceptor.CustomInterceptor"></interceptor>
<!-- 2.配置自己的拦截器栈 -->
<interceptor-stack name="myStack">
<!-- 2.1引用struts的默认拦截器栈 -->
<interceptor-ref name="defaultStack"></interceptor-ref>
<!-- 2.2引用自己的拦截器 -->
<interceptor-ref name="timeInterceptor"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 3.将自定义的拦截器栈设置为默认拦截器栈 -->
<default-interceptor-ref name="myStack"></default-interceptor-ref>
<action name="user_*" class="com.woniuxy.action.UserAction" method="{1}">
<result name="success">jsp/main.jsp</result>
</action>
<action name="book_*" class="com.woniuxy.action.BookAction" method="{1}">
<result name="success" type="json">
<param name="root">allBooks</param>
</result>
</action>
<!-- 文件上传 -->
<action name="file_*" class="com.woniuxy.action.FileUploadAction" method="{1}">
<result name="success">html/success.html</result>
</action>
</package>
</struts>