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

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

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

只是我搞了好久

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

还是得来啊

这是我的过滤器的代码

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就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)