filter(td colspan)(equals)(sessionScope)(reque.getRequstURI())(getRequestDispatcher)

来源:互联网 发布:扫街软件是什么意思 编辑:程序博客网 时间:2024/06/05 09:45
package com.javaweb;import java.io.IOException;import javax.management.modelmbean.RequiredModelMBean;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.HttpServletRequest;import javax.servlet.http.HttpSession;import com.sun.net.httpserver.Filter.Chain;public class FilterTest implements Filter {public void destroy() {// TODO Auto-generated method stubSystem.out.println("销毁");}public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {// TODO Auto-generated method stubHttpServletRequest request=(HttpServletRequest)arg0;ServletResponse response=(ServletResponse)arg1;FilterChain chain=(FilterChain)arg2;HttpSession session=request.getSession();request.setCharacterEncoding("gb2312");//设置以后,永远都不用再设置啦,因为过滤器在服务器和浏览器之间//获取用户名,因为页面跳转,所以用sessionString login=(String)session.getAttribute("username");//如果是登录判断页面,不用进行过滤检查if("/hello/LoginConf.jsp".equals(request.getRequestURI())){chain.doFilter(request, response);}else{//判断用户是否进行登录,如果进行了登录才继续操作,否则跳转到登录界面if(login==null||"".equals(login)){request.getRequestDispatcher("LoginForm.jsp").forward(request, response);}else{chain.doFilter(request, response);}}}public void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stubSystem.out.println("初始化");}}

LoginForm.jsp

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>  </head>    <body>    <center>    <form action="LoginConf.jsp" method="post">    <table>    <tr>    <td colspan="2">p用户登录</td>    </tr>    <tr>    <td>账号:</td>    <td ><input type="text" name="username"></td>    </tr>    <tr>    <td>密码:</td>    <td><input type="password" name="password"></td>    </tr>    <tr>    <td colspan="2">    <input type="submit" value="登录"/>    <input type="reset" value="重置"/>       </td>    </tr>    </table>    </form>    </center>  </body></html>


LoginConf.jsp

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>  </head>    <body>     <%    String username=request.getParameter("username");    String password=request.getParameter("password");    %>    <%    if("123".equals(username)&&"456".equals(password))    {    session.setAttribute("username",username);        %>    <jsp:forward page="LoginSuccess.jsp"/>    <%    }    else    {     %><jsp:forward page="LoginFailure.jsp"/>    <%    }    %>  </body></html>


 

LoginSuccess.jsp

 

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>  </head>    <body>   <center><h1>登录成功</h1> ${sessionScope.username }欢迎登录  </center>     </body></html>


 

LoginFailure.jsp

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>  </head>    <body>   <center>    <h1>登录失败</h1>  </center>  </body></html>