jxjjymx
2008-10-06 11:04
浏览 248
已采纳

各位请帮忙看下过滤器的问题

实在是不好意思  跑这上面来问这种问题

只是我搞了好久

在网上也找了好久没找到解决的方法

还是得来啊

这是我的过滤器的代码

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. <br />
 *
 * @throws ServletException if an error occurs
 */
public void init() throws ServletException { 

    }
public boolean test(int arg0) {
    // TODO Auto-generated method stub
    return 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也没事

就是你进登陆也面的之前它就过滤了
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • iteye_13779 2008-10-07 18:22
    已采纳

    比如你的登陆是用个Servlet来处理的,在你的登陆页面中的form表单的action=“login.login”,然后你可以配置“.login”由登陆的Servlet来处理,或者直接直接指向Servlet就可以了

    点赞 打赏 评论
  • YuLimin 2008-10-06 12:00




    GuoLvQi

    *.jsp

    去掉

    点赞 打赏 评论
  • YuLimin 2008-10-06 13:21

    登录页面用.html不就可以了?

    点赞 打赏 评论
  • iteye_13779 2008-10-06 20:23

    为登陆单独配置一下比如".login",不用对它进行过滤不就可以了

    点赞 打赏 评论
  • iteye_13779 2008-10-07 22:57

    你不要过滤“.login”不就行了

    点赞 打赏 评论

相关推荐 更多相似问题