10Servlet-filter 实例
来源:互联网 发布:哈萨克歌软件 编辑:程序博客网 时间:2024/06/05 05:53
过滤器(filter) 登陆检测功能。
SessionFilter.java 过滤器
package com.tao.filter;import java.io.IOException;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.HttpServletResponse;import javax.servlet.http.HttpSession;public class SessionFilter implements Filter {public void destroy() {// TODO Auto-generated method stub}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {// TODO Auto-generated method stubHttpServletRequest resq = (HttpServletRequest) request;HttpServletResponse resp = (HttpServletResponse) response;HttpSession session = resq.getSession();String username = (String) session.getAttribute("user");if (username != null && !username.equals("")) {System.out.println(username);} else {String msg = "你还没有登陆!";HttpSession hs = resq.getSession();hs.setAttribute("error", msg);resq.getRequestDispatcher("/login.jsp").forward(resq, resp);}}public void init(FilterConfig filterConfig) throws ServletException {// TODO Auto-generated method stub}}LoginServlet.java
package com.tao.servlet;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 LoginServlet extends HttpServlet {/** * Constructor of the object. */public LoginServlet() {super();}/** * Destruction of the servlet. <br> */public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String username=request.getParameter("username");System.out.println(username);HttpSession session=request.getSession();session.setAttribute("user", username);response.setContentType("text/html");PrintWriter out = response.getWriter();out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");out.println("<HTML>");out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");out.println(" <BODY>");out.print(username);out.println(" </BODY>");out.println("</HTML>");out.flush();out.close();}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}/** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */public void init() throws ServletException {// Put your code here}}login.jsp 登陆页面
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%><%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'login.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body>${error }<form action="<%=path%>/servlet/LoginServlet" method="post"><table><tr><td>username:</td><td><input type="textbox" name="username" value="${un }"></td></tr><tr><td>password:</td><td><input type="password" name="password" value="${pw }"></td></tr><tr><td></td><td><input type="submit" value="login" /></td></tr></table></form></body></html>web.xml 配置文件 ★
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><display-name></display-name><servlet><description>This is the description of my J2EE component</description><display-name>This is the display name of my J2EE component</display-name><servlet-name>LoginServlet</servlet-name><servlet-class>com.tao.servlet.LoginServlet</servlet-class></servlet><servlet-mapping><servlet-name>LoginServlet</servlet-name><url-pattern>/servlet/LoginServlet</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><filter><filter-name>ef</filter-name><filter-class>com.tao.filter.MyFilter</filter-class></filter><filter-mapping><filter-name>ef</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter><filter-name>sf</filter-name><filter-class>com.tao.filter.SessionFilter</filter-class></filter><filter-mapping><filter-name>sf</filter-name><url-pattern>/page/*</url-pattern></filter-mapping></web-app>
打开page/MyJsp.jsp ,因为没有从login.jsp进入,所以没有给session中的"user"传值,过滤器检测到,就跳转到login.jsp页面,如下图:
0 0
- 10Servlet-filter 实例
- Filter Servlet实例应用
- Servlet Filter实例
- 【Servlet】Filter深入讲解及实例研究
- Servlet- Filter-实例-非法字符过滤器
- Servlet容器Filter的使用(Filter解决乱码问题实例)
- servlet.Filter
- Servlet Filter
- Servlet Filter
- Servlet Filter
- servlet filter
- servlet-filter
- Servlet-Filter
- Servlet Filter
- Servlet-Filter
- Filter【servlet】
- servlet filter
- servlet Filter
- ffmpeg+sdl2.0做一个简单的音频播放器
- Transfer postgres database to another server - backup and restore
- Spring 基础教程之五:AOP编程介绍
- URL和URI的区别和联系
- 绝对路径和相对路径的区别
- 10Servlet-filter 实例
- CSDN处女篇
- 链表--连续归并
- cocos2d-x 3.0rc开发指南:Windows下Android环境搭建
- flex 报表工具 收集
- Uva 11645 - Bits 解题报告(递推+大数)
- SPRING AOP的实现机制
- Ui学习笔记---EasyUI的介绍
- iframe标签用法详解(属性、透明、自适应高度)