用过滤器验证用户登录功能
来源:互联网 发布:pos机s90如何设置网络 编辑:程序博客网 时间:2024/06/04 20:03
1. 创建一个User 类
public class User {
private String name;
private String pwd;
public String getname() {
return name;
}
public String getPwd() {
return pwd;
}
public void setname(String name) {
this.name = name;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
2.创建一个实现Filter的类
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;
import javax.servlet.http.HttpSession;
import cn.xh.Test.User;
public class filterDemo extends HttpServlet implements Filter {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpSession session=((HttpServletRequest)request).getSession();
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
if(session.getAttribute("user")==null){
PrintWriter out=response.getWriter();
System.out.println("cc");//创建一个输出流
//如果为空则通过javaScript脚本出输出提示并跳转到index.jsp页面
out.println("<font algin='center' color='red' size='5'>您还没有登陆,请登录 3秒后自动跳转登陆页面</font>");
((HttpServletResponse) response).setHeader("refresh", "3;url = '/JspDay8/Login.jsp'");
}
else{
chain.doFilter(request, response);
}
}
public void init(FilterConfig config) throws ServletException {
// TODO Auto-generated method stub
}
public void destroy() {
}
}
3
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class ServletDemo extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
User user = new User();
user.setname(name);
user.setPwd(pwd);
session.setAttribute("user", user);
if(name.equals("hao")&&pwd.equals("123"))
{
PrintWriter out=response.getWriter(); //创建一个输出流
out.println("<font algin='center' color='red' size='5'>登录成功 3秒后自动跳转</font>");
response.setHeader("refresh", "3;url = '/JspDay8/filter/success.jsp'");
}
else{
response.sendRedirect("/JspDay8/Login.jsp");
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
4. success.jsp --成功页面
<body>
登陆成功<br/>
<a href="/JspDay8/filter/tuichu.jsp">退出</a>
</body>
5. tuichu.jsp --注销
<%
session.invalidate();
out.print("<script language='javascript'>window.location.href='Login.jsp';</script>");
%>
<body>
This is my JSP page. <br>
</body>
6 xml 的配置
<filter>
<filter-name>Filter</filter-name>
<filter-class>cn.xh.Test.filterDemo</filter-class>
</filter>
<filter-mapping>
<filter-name>Filter</filter-name>
<url-pattern>/filter/*</url-pattern>
</filter-mapping>
- 用过滤器验证用户登录功能
- 用户是否登录验证--过滤器
- JSP中filter过滤器验证用户登录
- 使用Servlet过滤器实现用户登录验证
- 使用Servlet过滤器实现用户登录验证
- JSP中filter过滤器验证用户登录
- JSP中filter过滤器验证用户登录(
- 使用filter过滤器实现用户登录验证
- .net mvc 中的用户登录验证过滤器
- 过滤器篇(1)-----用户登录验证过滤器(LoginFilter)
- 网络编程--实现用户登录验证功能
- ASP.NET MVC 使用Filter过滤器 验证用户登录状态
- JFinal学习笔记(三) 过滤器实现用户登录验证
- 登录验证过滤器
- 过滤器验证登录
- filter过滤器登录验证
- 统一登录验证过滤器
- 简单判断用户登录,或者用过滤器
- 正则表达式中Matcher的group()、start()、end()带参方法解析
- Visual Studio 2008用过一段时间后编辑器自动提示(智能提示:Intellisense)功能失效
- Java 多文件上传存储到不同的路径及某上传框中未选择上传文件的处理方法
- uploadify来实现多文件上传
- Sonar及其eclipse插件的安装
- 用过滤器验证用户登录功能
- dom4j jar创建XML
- [LeetCode] Linked List Cycle II
- 如何优化app的运行内存占用
- 关于sax解析XML文件的简单流程+工具类
- Zookeeper集群模式部署配置
- perl去除字符串前后的字符
- 协议栈的网络拓扑结构概述
- OC编程语言学习-1