1.Struts2登录执行过程
页面发送请求->核心控制器(StrutsPrepareAndEecuteFileter)
->Action->Result->返回页面
2.配置web.xml
<filter>
<filter-name>struts</filter-name>
<filter-class>
org.apache.struts.dispatcher.ng.filter.StrutsPrepareAndEecuteFileter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.Struts控制器
- 两部分组成:核心控制器(Filter):用于拦截用户请求,对请求进行处理
- 业务控制器(Action):调用相应的Model类实现业务处理,返回结果
4.Struts2执行过程
发送请求->调用execute方法-调用业务方法->返回业务结果->返回逻辑视图名
->forward到物理视图->生成响应内容->输出响应
5.动态方法调用
作用:减少Action
<actionname="user"class="com.java.action.HelloAction">
<resultname="login">/login.jsp</result>
<resultname="register">/register.jsp</result>
</action>
<actionname="*user"class="com.java.action.HelloAction" method=”{1}”>
<resultname="user">/{1}.jsp</result>
</action>
--注意:需要打开
<constant name=”struts.enable.DynamicMethodInvocation”value=”true”>
--配置Result
结果类型
Dispatcher默认转发
Redirect重定向
redirectAction重定向到Action
<actionname="*user"class="com.java.action.HelloAction" method=”{1}”>
<resulttype=”redirect”>/{1}.jsp</result>
</action>
<actionname="dologin"class="com.java.action.HelloAction" method=”dologin”>
<resulttype=”redirectAction”>${nextDispose}</result>
</action>
<actionname="manager">
<result>manager.jsp</result>
</action>
<actionname="common">
<result>common.jsp</result>
</action>
<packagename="default"extends="struts-default">
在default-action-ref后面在action前面
<global-results>
<result name=”error”>/error.jsp</result>
</global-results>
</package>