过滤器的简单例子
过滤器的简单例子
设置过滤器;必须登录成功才能访问sys目录下的success.jsp
login.jsp
<%
error.jsp
<%
success.jsp
<%
loginServlet
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name = req.getParameter("username");
if("admin".equals(name)){
req.getSession().setAttribute(constant.USER_SESSION,req.getSession().getId());
resp.sendRedirect("/sys/success.jsp");
}else{
resp.sendRedirect("/error.jsp");
}
logoutServlet
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Object user_session = req.getSession().getAttribute(constant.USER_SESSION);
if(user_session!=null){
req.getSession().removeAttribute(constant.USER_SESSION);
resp.sendRedirect("/login.jsp");
}else{
resp.sendRedirect("/login.jsp");
}
工具类utils包里存放session的名字,方便以后修改
public class constant {
public final static String USER_SESSION="USER_SESSION";
}
web.xml
<filter>
<filter-name>SysFilter</filter-name>
<filter-class>com.bxb.filter.SysFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SysFilter</filter-name>
<url-pattern>/sys/*</url-pattern>
</filter-mapping>