`
com_xpp
  • 浏览: 374668 次
社区版块
存档分类
最新评论

JavaEE学习笔记之JSP+Servlet(二)

    博客分类:
  • j2ee
jsp 
阅读更多

一、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类,实现过滤功能。源代码如下:

Java代码 
  1. package edu.cn.filters;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5.   
  6. import javax.servlet.Filter;  
  7. import javax.servlet.FilterChain;  
  8. import javax.servlet.FilterConfig;  
  9. import javax.servlet.ServletException;  
  10. import javax.servlet.ServletRequest;  
  11. import javax.servlet.ServletResponse;  
  12. import javax.servlet.http.HttpServlet;  
  13.   
  14. public class LoginFilter extends HttpServlet implements Filter {  
  15.     public void doFilter(ServletRequest request, ServletResponse response,  
  16.             FilterChain filterchain) throws IOException, ServletException {  
  17.         String username = request.getParameter("username");  
  18.         String password = request.getParameter("password");  
  19.         if(username.length()==0||password.length()==0){  
  20.             //设定response返回的编码  
  21.             response.setContentType("text/html;charset=gb2312");  
  22.             try{  
  23.                 PrintWriter out = response.getWriter();  
  24.                 out.print("用户名或口令为空,请");  
  25.                 out.print("<a href='Login.jsp'>");  
  26.                 out.print("重新登录");  
  27.                 out.print("</a>!");  
  28.                 out.flush();  
  29.                 return;  
  30.             }catch(Exception e){  
  31.                   
  32.             }  
  33.         }  
  34.         try{  
  35.             filterchain.doFilter(request, response);  
  36.         }catch(Exception e){  
  37.               
  38.         }  
  39.     }  
  40.   
  41.     public void init(FilterConfig config) throws ServletException {  
  42.   
  43.     }  
  44. }  

还需要在配置文件中配置过滤器,此时的配置文件内容为

Java代码 
  1. <?xml version="1.0" encoding="GB2312"?>  
  2. <web-app version="2.5"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  7.   <servlet>  
  8.     <servlet-name>Login</servlet-name>  
  9.     <servlet-class>edu.cn.servlets.Login</servlet-class>  
  10.   </servlet>  
  11.   
  12.   <servlet-mapping>  
  13.     <servlet-name>Login</servlet-name>  
  14.     <url-pattern>/Login</url-pattern>  
  15.   </servlet-mapping>  
  16.   <welcome-file-list>  
  17.     <welcome-file>Login.jsp</welcome-file>  
  18.   </welcome-file-list>  
  19.   <span style="color: #ff0000;"><filter>  
  20.     <filter-name>LoginFilter</filter-name>  
  21.     <filter-class>edu.cn.filters.LoginFilter</filter-class>  
  22.   </filter>  
  23.   <filter-mapping>  
  24.     <filter-name>LoginFilter</filter-name>  
  25.     <url-pattern>/Login</url-pattern>  
  26.   </filter-mapping>  
  27. </span></web-app>  

其中红色的为配置过滤器的代码。

5
5
分享到:
评论
6 楼 xianwu13 2012-05-25  
讲的很没有水平,鉴定垃圾,抄袭,没有重点
5 楼 longfor5 2012-05-24  
username.length()==0||password.length()==0  这样判断字符串有些不合适吧。如果字符串是null。。。
4 楼 liveonnoevil 2012-05-24  
太少了讲的。。。
3 楼 290845534 2012-05-24  
bestchenwu 写道
兄弟,这些文章自己写写看看就好了,没必要老是要人工置顶到首页吧?

+ 1
2 楼 bestchenwu 2012-05-24  
兄弟,这些文章自己写写看看就好了,没必要老是要人工置顶到首页吧?
1 楼 mixer_a 2012-05-24  
关注一下,最近也在学习这个

相关推荐

    JavaEE学习笔记.pdf

    "JavaEE学习笔记.pdf" JavaEE(Java Enterprise Edition)是Java平台的企业版,用于开发大型企业级应用程序。作为JavaEE学习笔记,以下是相关的知识点总结: JavaEE架构 JavaEE架构主要由以下几个部分组成: * ...

    javaEE学习笔记

    以上就是JavaEE学习笔记中可能涵盖的关键知识点,它们构成了JavaEE开发的基础,并且每个部分都有深入研究的价值。通过学习和实践这些技术,开发者能够构建出高效、稳定和可扩展的企业级Web应用。

    基于WEB的考研资源共享系统,Jsp+Servlet+Bootstrap开发.zip

    【标题】基于WEB的考研资源共享系统,Jsp+Servlet+Bootstrap开发 【系统概述】 本项目是一个基于WEB的考研资源共享平台,旨在为考研学生提供一个集学习资料、经验分享、在线讨论等功能于一体的互动学习环境。该系统...

    javaEE servlet 学习笔记

    在Java EE开发中,Servlet是核心组件之一,用于处理HTTP请求和响应,实现服务器端的业务逻辑。Servlet在MVC(Model-View-Controller)架构中扮演着Controller的角色,负责接收用户请求,处理数据,然后转发到相应的...

    JavaEE学习项目源代码及学习笔记.zip

    【JavaEE学习项目源代码及学习笔记.zip】这个压缩包包含了一系列关于JavaEE技术栈的实践项目源码和对应的学习笔记,旨在帮助开发者深入理解JavaEE的各项核心技术。下面将逐一介绍这些子文件所涵盖的JavaEE知识点。 ...

    Java/JavaEE 学习笔记

    Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、...

    JavaEE学习笔记含代码网盘下载地址

    ### JavaEE 学习笔记概览 #### 一、JavaEE 概念及核心知识点 **JavaEE**(Java Platform, Enterprise Edition),即Java平台企业版,是为开发可移植、健壮、可伸缩、模块化且安全的服务器端应用而设计的。JavaEE ...

    java-servlet学习笔记

    在本篇学习笔记中,我们将深入探讨与Java Servlet相关的知识点,包括其工作原理、生命周期、配置以及实际应用。 首先,了解Servlet的工作原理至关重要。当一个HTTP请求到达服务器,Web容器(如Tomcat)会识别请求的...

    JavaEE笔记(chorar)

    总之,这份"JavaEE笔记(chorar)"是学习JavaEE开发的一个宝贵资源,涵盖了Servlet和JSP的基础到进阶知识,通过实践案例和详细的讲解,有助于提升读者的JavaEE开发技能。无论是初学者还是经验丰富的开发者,都能从中...

    javaee学习笔记

    综上所述,Java EE学习笔记涉及了JSP的基础知识、JSP模型2架构、JavaBeans的使用、自定义标签的创建以及Servlet的配置和会话管理,这些都是构建企业级Web应用的关键技术。理解并掌握这些内容,对于成为Java EE开发者...

    JavaEE学习实战笔记心得

    ### JavaEE学习实战笔记心得 #### JavaSE基础要点 - **环境配置**: - **JDK下载与安装**:确保下载与操作系统相匹配的JDK版本,完成安装。 - **环境变量设置**: - **JAVA_HOME**: 指向JDK的安装目录。 - **...

    JavaEE2017最新版基础班学习笔记

    本"JavaEE2017最新版基础班学习笔记"涵盖了JavaEE入门所需的基本概念和技术,是新手学习JavaEE的良好参考资料。以下将详细介绍其中可能涉及的关键知识点: 1. **Servlet与JSP**:Servlet是JavaEE中处理HTTP请求的...

    全套java笔记javaEE(上)

    【Java全套笔记】JavaEE(上)是一套全面的Java后端开发学习资料,涵盖了从基础到进阶的多个主题,旨在帮助开发者深入理解和掌握JavaEE技术栈。这份笔记集合了多个关键知识点,包括设计模式、开发工具的使用、实战...

    Javaee课堂笔记精华总结就业必备

    这个"Javaee课堂笔记精华总结就业必备"显然是一份针对求职者或初入职场的开发者准备的学习材料,旨在帮助他们掌握JavaEE的核心概念和技术,以提升就业竞争力。 JavaEE平台包括一组服务、APIs和协议,用于构建分布式...

Global site tag (gtag.js) - Google Analytics