实在是不好意思 跑这上面来问这种问题
只是我搞了好久
在网上也找了好久没找到解决的方法
还是得来啊
这是我的过滤器的代码
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-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>
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();}
比如你的登陆是用个Servlet来处理的,在你的登陆页面中的form表单的action=“login.login”,然后你可以配置“.login”由登陆的Servlet来处理,或者直接直接指向Servlet就可以了
把
GuoLvQi
*.jsp
去掉
登录页面用.html不就可以了?
为登陆单独配置一下比如".login",不用对它进行过滤不就可以了
你不要过滤“.login”不就行了