SSH中的第二个S就是Struts,来学习一下Struts。
Struts 2 是一个基于 MVC 的框架。
Struts2的核心原理是通过拦截器来处理客户端请求,经过拦截器的一系列处理后,再交给Action。
在web.xml中的配置:
<!-- 配置Struts2的核心过滤器 -->
<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>
<?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>
<!-- <constant name="struts.devMode" value="false"/> -->
<package name="shop" extends="struts-default" namespace="/">
<global-results>
<result name="msg">/WEB-INF/jsp/msg.jsp</result>
</global-results>
<!-- 配置首页访问的Action -->
<action name="index" class="indexAction">
<result name="index">/WEB-INF/jsp/index.jsp</result>
</action>
<!-- 配置注册访问的Action -->
<action name="user_*" class="userAction" method="{1}">
<result name="registPage">/WEB-INF/jsp/regist.jsp</result>
<result name="input">/WEB-INF/jsp/regist.jsp</result>
<result name="loginPage">/WEB-INF/jsp/login.jsp</result>
<result name="login">/WEB-INF/jsp/login.jsp</result>
<result name="loginSuccess" type="redirectAction">index</result>
<result name="quit" type="redirectAction">index</result>
</action>
</package>
</struts>
Struts2的配置:<package>,有name、extends、namespace、abstract等属性。
在package里配置<action>子元素,action相当于mvc中的模型model,有name、class等属性,还有param、result、interceptor-ref、exception-mapping子元素。