问题描述
实在是不好意思 跑这上面来问这种问题只是我搞了好久在网上也找了好久没找到解决的方法还是得来啊这是我的过滤器的代码package com.yourcompany.tools;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class GuoLvQi implements Filter {/** * Destruction of the servlet. */public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws ServletException, IOException{HttpServletRequest req = (HttpServletRequest)request;HttpServletResponse res= (HttpServletResponse)response; String uri=req.getContextPath()+"/form/renshi.jsp";try{if(req.getSession().getAttribute("用户名")==null)res.sendRedirect(uri);//req.getRequestDispatcher(uri).forward(req,response);else chain.doFilter(request, response); }catch(Exception ex){ex.printStackTrace();}}public void destroy() { // Just puts "destroy" string in log// Put your code here}/** * Initialization of the servlet. * * @throws ServletException if an error occurs */public void init() throws ServletException { }public boolean test(int arg0) {// TODO Auto-generated method stubreturn false;}public void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stub} }这下面是我的web.xml关于过滤器的配置<!----><web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <filter> <filter-name>GuoLvQi</filter-name> <filter-class>com.yourcompany.tools.GuoLvQi</filter-class> </filter> <filter-mapping> <filter-name>GuoLvQi</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <filter-mapping> <filter-name>GuoLvQi</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping>我现在不想过滤器登录页面如果过滤的话 那浏览器下面老是显示进入/form/renshi.jsp(登录页面)可老是进不去 就在那里打转下面是我的过滤条件if(req.getSession().getAttribute("用户名")==null)res.sendRedirect(uri);如果我把过滤条件注释的话try{//if(req.getSession().getAttribute("用户名")==null)//res.sendRedirect(uri);//req.getRequestDispatcher(uri).forward(req,response);//else chain.doFilter(request, response); }catch(Exception ex){ex.printStackTrace();}那么所有的页面都能进去了请问怎么配置web.xml让它对登录页面不过滤呢请大虾们帮我看下啊 谢谢!!!问题补充:把那去掉了那不是不过滤.jsp页面了么就只过滤.do了我只是不想过滤登录页面一个问题补充:我昨天也是把他改成了html格式的可是在html那些标签什么好像都用不了没其他更好的办法么?问题补充:怎么对他单独配置?麻烦详细点可以吗?问题补充:你说的那个用servlet好像是处理登录页面form的可是那个过滤器在进登录页面的时候就进行过滤了问题补充:那个.login是servlet那过滤不过滤.login可它已经过滤了登陆也面了我是不想它过滤登陆也面 至于处理登陆也面的servlet也没事就是你进登陆也面的之前它就过滤了
解决方案
比如你的登陆是用个Servlet来处理的,在你的登陆页面中的form表单的action=“login.login”,然后你可以配置“.login”由登陆的Servlet来处理,或者直接直接指向Servlet就可以了
解决方案二:
你不要过滤“.login”不就行了
解决方案三:
为登陆单独配置一下比如".login",不用对它进行过滤不就可以了
解决方案四:
登录页面用.html不就可以了?
解决方案五:
把 <filter-mapping> <filter-name>GuoLvQi</filter-name> <url-pattern>*.jsp</url-pattern> 去掉