配置文件
<filter>
<filter-name>struts2 </filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher </filter-class>
</filter>
<filter-mapping>
<filter-name>struts2 </filter-name>
<url-pattern>/* </url-pattern>
</filter-mapping> <package name="loginmanage" extends="struts-default">
<action name="login" class="mah.blog.core.action.UserAction">
<result name="success">WEB-INF/jsp/admin/main.jsp </result>
</action>
</package> 我进入login.jsp 页面
在login.jsp 页面中 提交 login.action
为什么转向的不是WEB-INF/jsp/admin/main.jsp 这个文件。。而是目录下的login.jsp文件
<filter>
<filter-name>struts2 </filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher </filter-class>
</filter>
<filter-mapping>
<filter-name>struts2 </filter-name>
<url-pattern>/* </url-pattern>
</filter-mapping> <package name="loginmanage" extends="struts-default">
<action name="login" class="mah.blog.core.action.UserAction">
<result name="success">WEB-INF/jsp/admin/main.jsp </result>
</action>
</package> 我进入login.jsp 页面
在login.jsp 页面中 提交 login.action
为什么转向的不是WEB-INF/jsp/admin/main.jsp 这个文件。。而是目录下的login.jsp文件
应该是
<result name="success">/WEB-INF/jsp/admin/main.jsp</result>
少了个“/”
正确安全的写法是把所有的页面都放到WEB-INF目录及子目录下,这样做的目的是因为WEB-INF目录及子目录下的任何文件通过url是访问不了的!
呵呵 呈现层页面不放在WEB-INF目录下 我即可以通知.action或.do(struts1)来访问呈现层(不一定是jsp,这里假设就是JSP),也可以通过浏览器去直接方面呈现层页面
正常的请求模式都是通过Action进行控制分发到各个呈现层页面,但是如果直接通过url访问页面,会破坏这个流程,那么你的后台会报一大堆Exception,恐怕最多的就是NullPointerException也可能是个人习惯问题,但是我还是喜欢把页面放在WEB-INF目录或子目录下!