Struts 2.x权威指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.6.1 保护JSP页面

根据MVC的处理原则,用户请求不应该直接发送到视图页面,而应该先经过控制器处理,再由控制器来决定将哪个视图资源呈现给用户。

为了更好地保护Web应用中的视图页面,在实际开发中一般建议将所有的JSP页面放在WEB-INF目录下进行保护,浏览者必须通过Struts 2的控制器转发才能访问这些JSP页面,这种做法更符合MVC的设计哲学。

为了让Struts 2控制器能把用户请求转发到相应的视图页面,可以考虑在struts.xml文件中增加如下配置。

程序清单:codes\02\struts2qs3\WEB-INF\src\struts.xml

<action name="*">
    <!-- 直接跳转到*所代表的页面
    比如用户访问abc Action,此时*代表abc
    Struts 2将会跳转到abc.jsp页面 -->
    <result>/WEB-INF/content/{1}.jsp</result>
</action>

上面这段配置的 Action 使用了通配符,因此可以处理各种请求,建议读者将这个 Action配置在所有Action之后。

进行上面配置之后,接下来应该把所有的JSP页面都放在WEB-INF/content目录下,这样浏览者必须通过Struts 2的控制器才能访问这些页面。