`
heimeiyingwang
  • 浏览: 94928 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Servlet资料辅导(5)

阅读更多


Servlet过滤器和监听器

 

Servlet过滤器(Filter)

 

过滤器是用于过滤Servlet的请求和响应,过滤器是存在于请求和被请求资源之间的。
过滤器就像当于一个中间件,请求要经过过滤器,然后过滤器才去掉用Servlet,Servlet的响应也会被过滤器截获并作相应的处理。

Filter是一个接口,要写一个自己的Filter就只能实现Filter接口。
Filter也有自己的生命周期,他的生命周期和Servlet比较相似,也是会先调用init()方法,然后再调用核心的处理过滤的方法doFilter(),这个方法中可定义了过滤规则,然后是destory()方法销毁Filter对象。

dofilter(ServletRequest request,ServletResponse response,FilterChain chain)
这个是过滤的核心方法,FilterChain的方法doFilter(ServletRequest request, ServletResponse response)也就是用过滤后的请求调用资源的方法,如果不写这个方法,也就算不会去调用相应的资源。
 
Filter的配置

 

Filter的配置和Servlet相似。
 <filter>
  <filter-name>SessionFilter</filter-name>
  <filter-class>alan.filter.SessionFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>SessionFilter</filter-name>
  <url-pattern>/protected/*</url-pattern>
  <!--这里的url-pattern就是要过滤的Servlet的url-pattern-->
  <dispatcher>request</dispatcher>
  <dispatcher>forward</dispatcher>
  <dispatcher>include</dispatcher>
  <!--上面的三个是过滤的范围-->
 </filter-mapping>


CharArrayWriter类,是一个将数据保存在字符数组中的输出流,我们可以使用它来构造一个PrintWriter对象,也就实现了向内存输出。CharArrayWriter类的toString()和toCharArray()方法就可以取得写入内存中的数据。


注意:CharArrayWriter类是一个不会真正输出的类,他的write()方法只会将内容写入字符数组,而且这个字符数组是会自动增长的。

 

Servlet监听器

 

以下是3个Listener接口。
ServletRequestListener
HttpSessionListener
ServletContextListener


这三个监听器接口,分别监听Servlet中3种比较中要的对象的创建和销毁。这三个接口中分别有监听该对象创建和销毁事件的方法,服务器本身就是事件源。

 

listener的配置


<listener>
 <listener-class>alan.servlet.listener.AlanContextListener</listener-class>
        <!--listener-class也就是实现Listener接口的类-->
</listener>

Servlet中的重要对象(只针对应用)


                                              数量                生命周期             是否线程安全
ServletContext                        1                   全局的                不安全
                                                        只有在应用关闭时才销毁     需要加同步访问

HttpSession                      和用户的                局部的                不安全
                                         数量相同         只在有效时间内存在         需要加同步访问

ServletRequest                      多个                   局部的               线程安全


(HttpServletRequest)             只在servic()和doGet()             doPost()中存在

分享到:
评论

相关推荐

    利用servlet技术实现一个简单的聊天室

    2. 在实验完成时需要向辅导教师报告,以记录实验成绩,实验成绩以百分制记录;实验不得抄袭,否则不记成绩。 提示: 1. 需要实现一个静态登录页面及一个servlet 2. 对于聊天信息的保存可能用到servletcontext 3. ...

    学生信息管理系统(JSP+Servlet)

    《学生信息管理系统——基于JSP与Servlet的实现详解》 在信息技术领域,开发Web应用程序是常见的任务之一,其中,学生信息管理系统是一个典型的案例。本文将深入探讨如何利用JSP(JavaServer Pages)和Servlet技术...

    利用servlet实现一个简单的聊天室

    1. 利用servlet技术实现一个简单的聊天室,实现多人同时交流。当发送聊天信息时,信息窗口刷新。信息窗口显示发言人的姓名以及发言的内容。在进入聊天室之前需要进行登录,即输入用户名。 2. 在实验完成时需要向辅导...

    基于 jsp+servlet+jdbc 学生请假信息管理系统课程设计

    该项目是基于jsp+servlet+jdbc的学生请假信息管理系统-可用于大学生日常课设 1.后端开发技术:servlet+jdbc 2.前端技术:jsp 3.前端ui:经典蓝色ui 4.功能点描述: (1)学生 查看个人信息、查看个人的晚归记录、填写...

    4.3javaEE_原生Servlet_SqlServer医院管理住院系统的研究与实现.zip

    - **项目辅导视频、论文等资料**:可能包含项目开发过程的教程、设计文档、相关论文等,帮助理解和学习项目。 - **数据库**:包含数据库脚本或已有的数据库文件,用于恢复和操作系统的数据环境。 - **源代码**:...

    jsp+servlet请假系统

    6. **权限控制**:根据用户角色(学生、班主任、辅导员、教务主任等)设定不同权限,防止越权操作。 综上所述,"JSP+Servlet学生请假系统"是一个典型的Web应用示例,涉及Web开发的基础技术、数据库操作、MVC设计...

    4.6javaEE_原生Servlet_MySql酒店管理系统的设计与实现.zip

    《基于JavaEE、原生Servlet和MySQL的酒店管理系统设计与...项目的"项目辅导视频"和"论文等资料"可以进一步深入学习各个模块的具体实现细节,而"源代码"则可供开发者参考和学习,"项目截图"展示了系统的实际运行效果。

    辅导答疑管理系统

    5. **Spring框架**:Spring是Java企业级应用的首选框架,它提供了依赖注入(DI)和面向切面编程(AOP),简化了项目的开发和管理。Spring MVC模块可以方便地构建Web应用程序,而Spring Data支持与数据库的交互。 6....

    2009年Java认证辅导资料

    Java认证是全球认可的Java程序员技能评估标准,2009年的Java认证辅导资料涵盖了当时最新的Java技术,旨在帮助考生顺利通过考试并提升其Java编程能力。这些资料可能包括了Oracle Certified Associate (OCA), Oracle ...

    基于JSP+Servlet+ Mysql的宿舍管理系统.zip

    4. 权限管理:设置不同角色(如管理员、辅导员等)的权限,确保数据安全。 5. 报表统计:生成各类统计报表,如空余床位、住宿率等。 【开发工具与环境】 开发过程中,可能使用了Eclipse或IntelliJ IDEA作为集成开发...

    基于javaEE+原生Servlet+MySql的村镇旅游网站设计与实现(源码+文档)-JAVAEE-Servlet-旅游网站

    资源名字:基于javaEE+原生Servlet+MySql的村镇旅游网站设计与实现(源码+文档)_JAVAEE_Servlet_旅游网站 资源类型:项目全套源码+文档+辅导视频 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 适合...

    5.0javaEE_原生Servlet_MySql塞北村镇旅游网站设计.zip

    - **项目辅导视频**:这部分资源可能包含教程或讲解视频,帮助学习者理解项目的实现过程和关键概念。 - **论文等资料**:可能包含项目的设计理念、技术选型的分析报告等。 - **数据库**:包含了项目所需的表结构...

    javaWeb基础技术辅导

    #### Servlet辅导 Servlet是一种Java技术,用于扩展服务器的功能,特别是处理HTTP请求和响应。它相当于服务器端的小应用程序,可以接收客户端发送的请求,执行相应的业务逻辑,并返回响应结果。Servlet生命周期包括...

    毕业设计,城市公交查询系统,内含毕业论文、毕业答辩PPT、数据库以及项目辅导视频,使用的技术有Servlet、JSP

    城市公交查询系统介绍 我国许多城市都有一些颇具设计感的公交站台,但我们却很难在这里找到我们出行需要的信息。...5.训练检索文献资料和利用文献资料的能力; 6.训练撰写技术文档与学位论文的能力。

    4.5javaEE_原生Servlet_MySql网络考试系统的设计与实现.zip

    项目辅导视频、论文等资料可以进一步指导开发过程,帮助理解和解决问题。数据库文件和源代码提供了具体实现细节,通过阅读和分析这些内容,可以深入学习到实际开发中的技巧和最佳实践。项目截图则能直观展示系统功能...

    基于JAVAWEB的辅导员考评管理系统.zip

    5. **权限控制**:为了保证数据安全,系统会实现用户权限控制,例如辅导员、管理员等不同角色有不同的操作权限。 6. **考评流程**:考评流程可能包括设定考评指标、收集辅导员工作数据、自动计算评分、审核及反馈等...

    javaEE_原生Servlet_MySql银行柜员业务绩效考核系统的设计与实现(源码+数据库sql+论文+视频齐全).zip

    8. **论文撰写**:项目附带的论文详细阐述了系统的架构设计、功能实现和性能测试,是深入理解系统设计思想和技术实现的重要参考资料。 9. **视频教程**:项目辅导视频则为学习者提供了直观的操作演示,帮助理解和...

    小型课设Java项目-辅导员管理项目

    在辅导员管理系统中,Servlet将处理来自前端的请求,例如添加学生信息、更新课程表、查询成绩等。开发人员会创建自定义的Servlet类,重写`doGet`和`doPost`方法来处理特定的HTTP请求。 3. **JDBC与数据库交互** ...

Global site tag (gtag.js) - Google Analytics