SSH中的第二个S就是Struts,来学习一下Struts。
Struts 2 是一个基于 MVC 的框架。
Struts2的核心原理是通过拦截器来处理客户端请求,经过拦截器的一系列处理后,再交给Action。
在网上商城中,关于Struts2的配置有两个地方:
在web.xml中的配置:
1. <!-- 配置Struts2的核心过滤器 --> 2. <filter> 3. <filter-name>struts2</filter-name> 4. <filter-class> 5. org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 6. </filter-class> 7. </filter> 8. 9. <filter-mapping> 10. <filter-name>struts2</filter-name> 11. <url-pattern>/*</url-pattern> 12. </filter-mapping>
在struts.xml中的配置:
1. <?xml version="1.0" encoding="UTF-8" ?> 2. <!DOCTYPE struts PUBLIC 3. "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 4. "http://struts.apache.org/dtds/struts-2.3.dtd"> 5. 6. <struts> 7. 8. <!-- <constant name="struts.devMode" value="false"/> --> 9. 10. <package name="shop" extends="struts-default" namespace="/"> 11. <global-results> 12. <result name="msg">/WEB-INF/jsp/msg.jsp</result> 13. </global-results> 14. 15. <!-- 配置首页访问的Action --> 16. <action name="index" class="indexAction"> 17. <result name="index">/WEB-INF/jsp/index.jsp</result> 18. </action> 19. 20. <!-- 配置注册访问的Action --> 21. <action name="user_*" class="userAction" method="{1}"> 22. <result name="registPage">/WEB-INF/jsp/regist.jsp</result> 23. <result name="input">/WEB-INF/jsp/regist.jsp</result> 24. <result name="loginPage">/WEB-INF/jsp/login.jsp</result> 25. <result name="login">/WEB-INF/jsp/login.jsp</result> 26. <result name="loginSuccess" type="redirectAction">index</result> 27. <result name="quit" type="redirectAction">index</result> 28. </action> 29. </package> 30. 31. </struts>
Struts2的配置:<package>,有name、extends、namespace、abstract等属性。
在package里配置<action>子元素,action相当于mvc中的模型model,有name、class等属性,还有param、result、interceptor-ref、exception-mapping子元素。