我有个过滤用户登如的
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class CharacterFilter extends HttpServlet implements Filter {
private FilterConfig filterConfig;
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
HttpServletRequest sr = (HttpServletRequest)request;
HttpSession session = sr.getSession();
//获得session
//判断用户是否登录,如果没有,
ServletContext sc = filterConfig.getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher("/login.jsp");
try {
rd.forward(request,response); //转发到login.jsp让用户登录
filterChain.doFilter(request, response);
}catch (ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
} catch (IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
}
}
在web.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"><web-app>
<display-name>HelloApp Struts Application</display-name>
<filter>
<filter-name>characterfilter</filter-name>
<filter-class>com.filter.CharacterFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>characterfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
怎么没有登入的时候还能点其他页面啊?????????????
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class CharacterFilter extends HttpServlet implements Filter {
private FilterConfig filterConfig;
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
HttpServletRequest sr = (HttpServletRequest)request;
HttpSession session = sr.getSession();
//获得session
//判断用户是否登录,如果没有,
ServletContext sc = filterConfig.getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher("/login.jsp");
try {
rd.forward(request,response); //转发到login.jsp让用户登录
filterChain.doFilter(request, response);
}catch (ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
} catch (IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
}
}
在web.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"><web-app>
<display-name>HelloApp Struts Application</display-name>
<filter>
<filter-name>characterfilter</filter-name>
<filter-class>com.filter.CharacterFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>characterfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
怎么没有登入的时候还能点其他页面啊?????????????
解决方案 »
- 自己做的万年历,和星期对应总是错一天!
- 怎么让一个人物自己穿过地图 android手机游戏
- 不是说float 赋值都必须加f吗?可是本代码却不是...
- JTable 表格排序
- j2ee学什么
- scjp 包装类的三个基础问题,不知道有人会么?
- JInternalFrame的repaint()的问题!
- 哪里有 2003年度Javaworld编辑奖最佳Java书籍的下载,例如Patterns of Enterprise Application Architecture
- 一个为似企业QQ的软件(含服务器程序和客户端程序)的Java源码,可以卖多少钱?请指教
- 如何制作鼠标停留在超链接时,出现子菜单(希望各位大哥大姐赐教源代码,谢谢!)
- 求助!关于JTextPane
- 看看这个数组的输出结果
如果代码没错的话就是下面的原因
web容器只会在servlet.service执行完毕后才会相应的内容写响应包
你配置过滤器
并在这里getRequestDispatcher("/login.jsp");是不起作用了
你在这里设置是会被在后面get,post方法里的代码覆盖的web不是gui