一、Servlet过滤器
过滤器是进行过滤预处理的装置。
Servlet过滤器是一种特殊的Servlet,可以对用户的请求信息和响应信息进行过滤,当访问Servlet过滤器对应的Servlet时,会先执行Servlet过滤器,对请求和响应的信息进行过滤。
Servlet过滤器类需要实现javax.servlet.Filter接口,同时需要继承HttpServlet类。接口中的方法如下:
init(FilterConfig):初始化方法,完成Servlet过滤器类的初始化。
doFilter(ServletRequest, ServletResponse,FilterChain):完成过滤操作。
destory():销毁过滤器。
二、Demo
过滤器LoginFilter类实现登录时的过滤,如果帐号或密码为空的话,则不防问Login.java。该例子接上一篇:JavaEE学习笔记之JSP+Servlet(一)
在上一个工程中,建一个LoginFilter类,实现过滤功能。源代码如下:
- package edu.cn.filters;
-
- 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;
-
- public class LoginFilter extends HttpServlet implements Filter {
- public void doFilter(ServletRequest request, ServletResponse response,
- FilterChain filterchain) throws IOException, ServletException {
- String username = request.getParameter("username");
- String password = request.getParameter("password");
- if(username.length()==0||password.length()==0){
-
- response.setContentType("text/html;charset=gb2312");
- try{
- PrintWriter out = response.getWriter();
- out.print("用户名或口令为空,请");
- out.print("<a href='Login.jsp'>");
- out.print("重新登录");
- out.print("</a>!");
- out.flush();
- return;
- }catch(Exception e){
-
- }
- }
- try{
- filterchain.doFilter(request, response);
- }catch(Exception e){
-
- }
- }
-
- public void init(FilterConfig config) throws ServletException {
-
- }
- }
还需要在配置文件中配置过滤器,此时的配置文件内容为
- <?xml version="1.0" encoding="GB2312"?>
- <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:
- http:
- <servlet>
- <servlet-name>Login</servlet-name>
- <servlet-class>edu.cn.servlets.Login</servlet-class>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>Login</servlet-name>
- <url-pattern>/Login</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>Login.jsp</welcome-file>
- </welcome-file-list>
- <span style="color: #ff0000;"><filter>
- <filter-name>LoginFilter</filter-name>
- <filter-class>edu.cn.filters.LoginFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>LoginFilter</filter-name>
- <url-pattern>/Login</url-pattern>
- </filter-mapping>
- </span></web-app>
其中红色的为配置过滤器的代码。
分享到:
相关推荐
"JavaEE学习笔记.pdf" JavaEE(Java Enterprise Edition)是Java平台的企业版,用于开发大型企业级应用程序。作为JavaEE学习笔记,以下是相关的知识点总结: JavaEE架构 JavaEE架构主要由以下几个部分组成: * ...
以上就是JavaEE学习笔记中可能涵盖的关键知识点,它们构成了JavaEE开发的基础,并且每个部分都有深入研究的价值。通过学习和实践这些技术,开发者能够构建出高效、稳定和可扩展的企业级Web应用。
【标题】基于WEB的考研资源共享系统,Jsp+Servlet+Bootstrap开发 【系统概述】 本项目是一个基于WEB的考研资源共享平台,旨在为考研学生提供一个集学习资料、经验分享、在线讨论等功能于一体的互动学习环境。该系统...
在Java EE开发中,Servlet是核心组件之一,用于处理HTTP请求和响应,实现服务器端的业务逻辑。Servlet在MVC(Model-View-Controller)架构中扮演着Controller的角色,负责接收用户请求,处理数据,然后转发到相应的...
【JavaEE学习项目源代码及学习笔记.zip】这个压缩包包含了一系列关于JavaEE技术栈的实践项目源码和对应的学习笔记,旨在帮助开发者深入理解JavaEE的各项核心技术。下面将逐一介绍这些子文件所涵盖的JavaEE知识点。 ...
Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、...
### JavaEE 学习笔记概览 #### 一、JavaEE 概念及核心知识点 **JavaEE**(Java Platform, Enterprise Edition),即Java平台企业版,是为开发可移植、健壮、可伸缩、模块化且安全的服务器端应用而设计的。JavaEE ...
在本篇学习笔记中,我们将深入探讨与Java Servlet相关的知识点,包括其工作原理、生命周期、配置以及实际应用。 首先,了解Servlet的工作原理至关重要。当一个HTTP请求到达服务器,Web容器(如Tomcat)会识别请求的...
总之,这份"JavaEE笔记(chorar)"是学习JavaEE开发的一个宝贵资源,涵盖了Servlet和JSP的基础到进阶知识,通过实践案例和详细的讲解,有助于提升读者的JavaEE开发技能。无论是初学者还是经验丰富的开发者,都能从中...
综上所述,Java EE学习笔记涉及了JSP的基础知识、JSP模型2架构、JavaBeans的使用、自定义标签的创建以及Servlet的配置和会话管理,这些都是构建企业级Web应用的关键技术。理解并掌握这些内容,对于成为Java EE开发者...
### JavaEE学习实战笔记心得 #### JavaSE基础要点 - **环境配置**: - **JDK下载与安装**:确保下载与操作系统相匹配的JDK版本,完成安装。 - **环境变量设置**: - **JAVA_HOME**: 指向JDK的安装目录。 - **...
本"JavaEE2017最新版基础班学习笔记"涵盖了JavaEE入门所需的基本概念和技术,是新手学习JavaEE的良好参考资料。以下将详细介绍其中可能涉及的关键知识点: 1. **Servlet与JSP**:Servlet是JavaEE中处理HTTP请求的...
【Java全套笔记】JavaEE(上)是一套全面的Java后端开发学习资料,涵盖了从基础到进阶的多个主题,旨在帮助开发者深入理解和掌握JavaEE技术栈。这份笔记集合了多个关键知识点,包括设计模式、开发工具的使用、实战...
这个"Javaee课堂笔记精华总结就业必备"显然是一份针对求职者或初入职场的开发者准备的学习材料,旨在帮助他们掌握JavaEE的核心概念和技术,以提升就业竞争力。 JavaEE平台包括一组服务、APIs和协议,用于构建分布式...