A. struts2里,要求不允许直接访问jsp页面,只能通过result跳转,怎么控制
参考以下配置:
一般来说我们在做开发的时候,是一个团队,我们可能会按照人来分不同的模块,每个人维护自己不同的struts配置文件,但在最后整合的时候,一定要把各人所用到的配置文件都整合进来,这里有一个方法,用是在你写的主要的配置文件中把别的配置文件导进来,
在struts.xml中加入下面的文字就可以解决了
<include file="struts-default.xml">
< include file="struts_helei.xml" />
<include file="struts_zou.xml" /><include file="struts-default.xml">
<include file="struts_helei.xml"><include file="struts_zou.xml"><include file="struts-default.xml">
<include file="struts_helei.xml">
<include file="struts_zou.xml"></include></include></include></include></include></include>
<include file="struts-default.xml">
<include file="struts_helei.xml">
<include file="struts_zou.xml"></include></include>
</include><include file="struts_mu.xml"></include>
B. Struts2如何通过过滤器防止直接访问jsp页面
可以在web.xml配置过滤条件,拦截一切jsp文件,如果没有登陆的话,就跳转到登陆界面
C. struts2在jsp页面上怎么访问action
如果你要引用action执行后的页面,就用s:action 加上executeResult="true"这个属性就可以了 <s:action id="这可以不要专,id是jsp直接引用action里用属的" name="action名" executeResult="true"> <s:param name="" value=""/>这是action的参数 </s:action>
D. struts2中怎样实现过滤jsp页面的过滤器
如下所示:
package test;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class LoginFilter implements Filter
{
public void destroy()
{
}
public void doFilter(ServletRequest req, ServletResponse rsp,
FilterChain chain) throws IOException, ServletException
{
chain.doFilter(req, rsp);
}
public void init(FilterConfig arg0) throws ServletException
{
}
}
在web.xml里面配置
<filter>
<filter-name>logFilter</filter-name>
<filter-class>test.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>logFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
E. struts2里,要求不允许直接访问jsp页面,只能通过result跳转,怎么控制
struts2中防止jsp不被直接访问的方法是把jsp放在WEB-INF目录下。
struts2的WEB-INF路径下的jsp文件是受保护的,禁止客户端的浏览器直接对jsp文件进行访问。
所以在struts.xml中的配置action的返回结果result时,应该配置全路径。
配置如下:
<?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>
<package name="default" namespace="/" extends="struts-default">
<action name="index" class="com.maple.action.IndexAction">
<result>/WEB-INF/admin/login.jsp</result>
</action>
</package>
</struts>
F. struts2拦截器怎么拦截对jsp页面的访问
filter也可以拦截action啊,只要你把自己编写的 filter过滤器放到Struts2.0的过滤器前面就行了
G. struts2 配置filter后可以访问.action,无法访问 .jsp文件,显示404
struts2中jsp如果是放在web-inf文件夹下,是不能直接通过客户端访问的。
本来WEB-INF中的jsp就是无法通过地址栏内访问的.所以安全容。
访问方法一:
<jsp:forward page ="/WEB-INF/jsp/test/test.jsp" />
访问方法二:
request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);
配置:
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
H. struts2 如何去掉请求url 的 jsp
java struts2要使跳转后的url为.jsp,需要在action中配置jsp的映射。
如下配置请专参考,struts.xml:
<result name="init_grapher" type="dispatcher">/WEB-INF/jsp/cms/add_grapher.jsp</result>
<result name="tolist" type="redirect-action">
<param name="actionName">grapher?method=list</param>
<param name="pageNo">${pageNo}</param>
</result>
dispatcher表示跳属转
redirect-action表示redirect
I. struts2用过滤器过滤非法jsp请求的时候,对于根文件夹下的请求如何过滤
<filter>
<filter-name>authority</filter-name>
<filter-class>com.bstek.test.demo.filter.AuthorityFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>authority</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--可以匹配多个的,不过只要上面那种就回可以拦截所有的了答<filter-mapping>
<filter-name>authority</filter-name>
<url-pattern>/jsp/*</url-pattern>
</filter-mapping>-->
J. 如何不让struts2拦截*.jsp的请求
jsp页面要导入struts2 的标签库必须web.xml里配置全局过滤器的。所以我觉得你应该写出struts2拦截了你版的jsp后,struts2 对你第三权方控件有什么现象出现!按道理来说,只要你控制这个jsp页面提交时候不被action类处理就行了,一般只是一个jsp的话不会影响的
还有。。一般你没分的话,估计没人回答你