导航:首页 > 净水问答 > filter设置不过滤一些页面

filter设置不过滤一些页面

发布时间:2022-04-26 04:53:02

㈠ web.xml lt;filter-mapping>我不想过滤html文件,怎么设置

不使用 /* 拦截所有,拦截想拦截的就可以了

类似下面的过滤方式
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.usl</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.view</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/jaxrs/*</url-pattern>
</filter-mapping>
在filter类中判断一下,如果是.html结尾的就不过滤。
HttpServletRequest req = (HttpServletRequest)request;
//由于web.xml中设置Filter过滤全部请求,可以排除不需要过滤的url
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);
HttpServletRequest req = (HttpServletRequest)request;
//由于web.xml中设置Filter过滤全部请求,可以排除不需要过滤的url
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);

chain是以下过滤方法中的chain吗?
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException{

另外, if(reqURI.endsWith(".html")) 到底是 真还是假

HttpServletRequest req = (HttpServletRequest)request;
//由于web.xml中设置Filter过滤全部请求,可以排除不需要过滤的url
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);

chain是以下过滤方法中的chain吗?
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException{

另外, if(reqURI.endsWith(".html")) 到底是 真还是假

就是这个chain,这个判断就是判断你放问的路径是否以.html结尾,你可以试试。

HttpServletRequest req = (HttpServletRequest)request;
//由于web.xml中设置Filter过滤全部请求,可以排除不需要过滤的url
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);

chain是以下过滤方法中的chain吗?
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException{

另外, if(reqURI.endsWith(".html")) 到底是 真还是假

就是这个chain,这个判断就是判断你放问的路径是否以.html结尾,你可以试试。

报错
java.lang.IllegalStateException: getWriter() has already been called for this response
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//把ServletRequest和ServletResponse转换成真正的类型
HttpServletRequest req = (HttpServletRequest)request;
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".do")) chain.doFilter(request, response);
System.out.println(reqURI);
chain.doFilter(request, response);
}

我这里用过的原代码,没错,你看下你别的地方,用到response的地方
//把ServletRequest转换成真正的类型
HttpServletRequest req = (HttpServletRequest)request;
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);
else{
return;
}

㈡ filter过滤器配置如何不过滤一些页面

直接添加多个文件映射啊,为每个需要进行过滤的文件都写个映射标签

㈢ java过滤器不过滤某个货某一些路径

<param-name>noLoginPaths</param-name> 参数名可自取

<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>com.imooc.filter.LoginFilter</filter-class>
<init-param>
<param-name>noLoginPaths</param-name>
<param-value>login.jsp;fail.jsp;LoginServlet</param-value>
</init-param>
<init-param>
<param-name>charset</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

StringnoLoginPaths=config.getInitParameter("noLoginPaths");

关键代码 :

if(noLoginPaths!=null){
String[]strArray=noLoginPaths.split(";");
for(inti=0;i<strArray.length;i++){

if(strArray[i]==null||"".equals(strArray[i]))continue;

if(request.getRequestURI().indexOf(strArray[i])!=-1){
arg2.doFilter(arg0,arg1);
return;
}
}

}

完整代码:

importjava.io.IOException;

importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;

{

privateFilterConfigconfig;

@Override
publicvoiddestroy(){

}

@Override
publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,FilterChainarg2)throwsIOException,ServletException{

HttpServletRequestrequest=(HttpServletRequest)arg0;
HttpServletResponseresponse=(HttpServletResponse)arg1;
HttpSessionsession=request.getSession();

StringnoLoginPaths=config.getInitParameter("noLoginPaths");

Stringcharset=config.getInitParameter("charset");
if(charset==null){
charset="UTF-8";
}
request.setCharacterEncoding(charset);

if(noLoginPaths!=null){
String[]strArray=noLoginPaths.split(";");
for(inti=0;i<strArray.length;i++){

if(strArray[i]==null||"".equals(strArray[i]))continue;

if(request.getRequestURI().indexOf(strArray[i])!=-1){
arg2.doFilter(arg0,arg1);
return;
}
}

}
if(session.getAttribute("username")!=null){
arg2.doFilter(arg0,arg1);
}else{
response.sendREdirect("login.jsp");
}

}

@Override
publicvoidinit(FilterConfigarg0)throwsServletException{
config=arg0;
}

}

㈣ Kindeditor编辑器如何设置不过滤HTML标签或者某些指定的标签

一、如何控制kindeditor编辑器不过滤任何标签?
这个控制方法其实回在文章http://www.stepday.com/topic/?382 内的末尾处都答是有提及到的。这里就在重复啰嗦几句。主要设置是在页面内创建kindeditor编辑器的时候,设置其filterMode属性为true/false来决定是否开启过滤机制。代码如下所示:
KindEditor.ready(function (K) {
2.editor = K.create('textarea[name="content"]', {
3.filterMode: false,//是否开启过滤模式
4.});
5.});

㈤ Java:现在Filter把所有请求都拦截了,怎么使Filter不过滤login.jsp页面呢

对于这种,抄我说两种方法:

1、将你所有的JSP页面单独放在一个文件夹里(假如jspPage),jspPage文件夹里可根据类别分若干子文件夹,再把相对应的JSP放在子文件夹里;
JS、CSS及图片等分别放在外面的文件夹里(与文件夹jspPage并列)
再:<url-pattern>/jspPage/*</url-pattern>就行了
一般用的就是这种

2、在过滤的JAVA文件中,在doFilter方法里进行判断,将后缀名为.css、.js等直接设置为通过就行了,这种较为复杂,在一些特殊情况下才用到,一般不

㈥ java过滤器怎么不过滤一个页面里包含的多个请求

abstract public class FilterPerRequest implements Filter {

private static final Boolean FILTERED = true;
private ThreadLocal<Boolean> statusLocal = new ThreadLocal<Boolean>();

@Override
final public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
if (hasNotFiltering()) {
doFilterAndDispatchRequest(req, resp, chain);
return;
}
//dispatch request only
chain.doFilter(req, resp);
}

private boolean hasNotFiltering() {
Boolean status = statusLocal.get();
if (status == null) {
return true;
}
return false;
}

private void doFilterAndDispatchRequest(ServletRequest req,
ServletResponse resp, FilterChain chain) throws IOException,
ServletException {
try {
doFilterPerRequest(req, resp);
setFiltered();
chain.doFilter(req, resp);
} finally {
cleanFilterStatus();
}
}

abstract protected void doFilterPerRequest(ServletRequest req,
ServletResponse resp);

private void setFiltered() {
statusLocal.set(FILTERED);
}

private void cleanFilterStatus() {
statusLocal.set(null);
}

}
那要就情况而定了。。。
如果是request范围内的话,就可以使用上面的过滤器。
如果是session范围内的话,就需要在session内存储一个标志变量,方式和request差不多。
如果是限制用户操作的话,那就必须将用户操作持久化。
由于你的问题不明确,我也不好多说...

㈦ 怎么让filter不过滤某几个动作

<filter-mapping
<filter-nameCommonHeadersFilter</filter-name
<url-pattern/*</url-pattern
</filter-mapping/*是对所有的路径过滤,那么你可以定义你不过滤的路径为
<filter-mapping
<filter-nameCommonHeadersFilter</filter-name
<url-pattern/yes/*</url-pattern
</filter-mapping
那么所有的不包含上面的路径都不做;
2,如果这个filter是你自己写的,或者你反编译后能看懂得话,那么直接在过滤器里面自己判断了!

㈧ jsp过滤器的web.xml如何指定不想过滤的页面

在filter类中判断一下
如果URL是以page/index.jsp结尾的,直接就过了,不做验证
不过感觉这种方法治标不治本

我也在等达人出现。。。

㈨ web.xml如何配置filter能让他不过滤特定servlet

可以通过限制访问路径来控制对具体的sevlet的调用

㈩ 急!如何让过滤器不过滤页面中引用的CSS或JS页面

对于这种,我说两种方法:

1、将你所有的JSP页面单独放在一个文件夹里专(假如jspPage),jspPage文件夹里可根据属类别分若干子文件夹,再把相对应的JSP放在子文件夹里;
JS、CSS及图片等分别放在外面的文件夹里(与文件夹jspPage并列)
再:<url-pattern>/jspPage/*</url-pattern>就行了
一般用的就是这种

2、在过滤的JAVA文件中,在doFilter方法里进行判断,将后缀名为.css、.js等直接设置为通过就行了,这种较为复杂,在一些特殊情况下才用到,一般不推荐

阅读全文

与filter设置不过滤一些页面相关的资料

热点内容
为什么要求雨污水分离 浏览:469
斯麦恩净水器滤芯怎么换视频 浏览:618
利用沼气池做污水处理 浏览:815
树脂能用多長时间 浏览:225
几十度热水才有水垢 浏览:363
汉斯顿净水器罗山县哪里有卖 浏览:310
处理酸性含铜废水的注意事项 浏览:851
纳滤法去除废水中的硫酸根 浏览:291
前置过滤器除垢球清洗 浏览:458
血液透析室水处理原理 浏览:743
污水处理工程师算什么职称 浏览:309
空气净化器吸力怎么样 浏览:118
净水器什么牌子好又实惠 浏览:892
油烟空气净化器多少钱 浏览:650
生活污水设施包括哪些 浏览:572
牙缸子上的水垢 浏览:76
反渗透低压保护怎么办 浏览:770
超滤膜材质检测报告 浏览:455
2019邯郸污水处理费 浏览:394
柯桥农村污水 浏览:509