❶ 关于tomcat的filter,调用chain.doFilter(request, response)就出现404错误 不调用就什么都不显示
你的web.xml中少了一部配置吧,调用过滤器的时候不是直接访问这个servlet,而是在你访问其他进行业务处理的servlet时自动调用的,你调用过滤器的servlet没有跳转页面所以404了
❷ java过滤器Filter打开网页报错cannot be cast to javax.servlet.Servlet,求助!
应该是配置成了Servlet
给你个例子
web.xml
<filter>
<display-name>fancybox_close</display-name>
<filter-name>fancybox_close</filter-name>
<filter-class>fancybox_close</filter-class>
</filter>
<filter-mapping>
<filter-name>fancybox_close</filter-name>
<url-pattern>*.png</url-pattern>
</filter-mapping>
fancybox_close.java
public class fancybox_close implements Filter{
public void destroy() {
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest r = (HttpServletRequest) arg0;
HttpServletResponse re = (HttpServletResponse)arg1;
String url = r.getRequestURI().toString();
String picname = url.substring(url.lastIndexOf("/"));
String base = r.getContextPath();
String newurl = base+"/js/fancybox"+picname;
//System.out.println(url);
if(url.indexOf("fancy") != -1 && ! url.equals(newurl)){
re.sendRedirect(newurl);
}else{
arg2.doFilter(arg0, arg1);
}
}
public void init(FilterConfig arg0) throws ServletException {
}
}
❸ 我在web中加入一个过滤器后,所以页面都出现404错误 我没有分了,请帮帮忙
在web.xml中添加:
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>com.cjzd.filter.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
有没有写错啊
com.cjzd.filter.MyFilter这个是你过滤器的路径
❹ 关于java,过滤html请求的Filter中跳转页面的问题。
肯定是逻辑问题
请把你的代码贴上来,可以分析 下。
if(包含某后缀名){
重定向
}
dofilter(...)
❺ 搭建struts2环境,在web.xml中加入过滤器的代码后访问任何页面都是404错误。请大家帮帮忙。
WEB.xml中配置struts2的代码片段
<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>
'/*'是拦截所有的url,你这里可以配置你的过滤规则的啊(例如回/*.jsp、/*_aaa.jsp等),但是一般不需要答修改的,改了以后,扩展起来会给你带来一些的不必要的麻烦的
望采纳。
❻ java添加过滤器验证登录后无法跳转到登录界面
改成request.getRequestDispatcher("/login.jsp").forward(request, response);
❼ java过滤器的4、error过滤器
当我们访问一个web目标资源时,如果服务器没有找到该目标资源,那么专服务器就会给出一个属404错误代码。如果我们给404错误代码定义一个页面,那么当404错误发生时就会调用该页面,请看以下web.xml文件的配置:
<filter-mapping>
<filter-name>myFilter</filter-name>
<url-pattern>/error.jsp</url-pattern>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
当我们访问一个不存在的文件时,就会访问error.jsp,但是配置了过滤器对错误页面进行过滤,所以过滤器先接受到请求,然后再转发给error.jsp。
如果我们访问一个已经存在的页面,会不会调用error.jsp呢?如果这个页面中有response.sendError(404,出错了!);那么该错误页面仍然会被调用,过滤器也会工作。