`
wfzhanga
  • 浏览: 68643 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Servlet专题

阅读更多
1. Servlet 生命周期?
从Tomcat处理用户请求,我们可以清晰的看到容器Servlet的生命周期管理过程:
  1、客户发出请求—>Web 服务器转发到Web容器Tomcat;
  2、Tomcat主线程对转发来用户的请求做出响应创建两个对象:HttpServletRequest和HttpServletResponse;
  3、从请求中的URL中找到正确Servlet,Tomcat为其创建或者分配一个线程,同时把2创建的两个对象传递给该线程;
  4、Tomcat调用Servlet的service()方法,根据请求参数的不同调用doGet()或者doPost()方法;
  5、假设是HTTP GET请求,doGet()方法生成静态页面,并组合到响应对象里;
  6、Servlet线程结束,Tomcat将响应对象转换为HTTP响应发回给客户,同时删除请求和响应对象。
  从该过程中,我们可以理解Servlet的生命周期:Servlet类加载(对应3步);Servlet实例化(对应3步);调用init方法(对应3步);调用service()方法(对应4、5步);调用destroy()方法(对应6步)。
有时候希望在servlet首次载入时,执行复杂的初始化任务,但并不想每个请求都重复这些任务的时候,用init()方法他在servlet初次创建时被调用,之后处理每个用户的请求时,则不在调用这个方法。
2) servlet中 service dopost doget方法之间的区别?
1. get和post这是http协议的两种方法,另外还有head, delete等
2. 这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。
3. 在servlet开发中,以doGet()和doPost()分别处理get和post方法。
另外还有一个doService(), 它是一个调度方法,当一个请求发生时,首先执行doService(),不管是get还是post。在 HttpServlet这个基类中实现了一个角度,首先判断是请求时get还是post,如果是get就调用doGet(), 如果是post就调用 doPost()。

 

3) filter生命周期:
web应用发布完成之后,在request访问web资源之前,容器必须定位需要应用到该资源上的filter列表。容器需要确保实例化列表中的每个filter并调用它的init方法。如不能正确执行,filter可以抛出异常。
  配置描述文件中每个filter的声明在每个虚拟机中仅仅只有一个实例。容器提供filter配置秘书中声明的config对象, 它包含了该web应用的ServletContext引用,和filter初始参数。
  当容器接收到request,将取得列表中的第一个filter实例,并调用它的doFilter方法。将传入ServletRequest,ServletResponse和filterchain的引用。
  doFilter方法遵循以下模式:
  1.该方法检测request的头信息
  2.可能会用一个定制的ServletRequest或HttpServletRequest包装request对象。
  3.可能会用一个定制的ServletResponse或HttpServletResponse包装response对象。
  4.filter可以调用filter链中的下一个入口,可能是一个filter,也可能是目的web资源。
  5.调用链中的下一个filter之后,filter可以检测响应头信息。
  6.处理过程中,filter可能抛出异常。如果在doFilter中抛出UnavailableException,容器不要继续filter链的处理,如非永久性异 常,它可以选择在稍晚的时候重新执行整个filter链。
 
4) Struts2中过滤器,拦截器他们之间有什么区别?
1、拦截器是基于java反射机制的,而过滤器是基于函数回调的。
2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器。
3、拦截器只能对Action请求起作用,而过滤器则可以对几乎所有请求起作用。
4、拦截器可以访问Action上下文、值栈里的对象,而过滤器不能。
5、在Action的生命周期中,拦截器可以多次调用,而过滤器只能在容器初始化时被调用一次。
 
5) java反射机制 写道
在struts,spring等框架中配置类的实例化等...
 

 

 

 

 

 

分享到:
评论

相关推荐

    源码:阎宏设计模式光盘

    com.javapatterns.servlet 专题:Servlet技术中的模式 com.javapatterns.simplefactory 简单工厂模式 com.javapatterns.singleton 单态模式 com.javapatterns.singleton.mxrecord 专题:单例模式与MX记录 ...

    北京动力节点-专题08-Servlet3.0特性.pdf

    北京动力节点-专题08-Servlet3.0特性

    (2021-2022年)专题资料完美版基于Jspservlet的校园新闻管理与发布系统开题报告答辩.ppt

    教育精品资料

    Tomcat面试专题.pdf

    4、tomcat 容器是如何创建 servlet 类实例?用到了什么原理? 5.tomcat 如何优化? 6.内存调优 7.垃圾回收策略调优 8.共享 session 处理 8.添加 JMS 远程监控 9.专业点的分析工具有哪些 10.关于 Tomcat 的 session ...

    javaee专题分类

    里面涵盖集合类框架专题,mvc和struts专题,jdbc和数据源专题,bookstore需求分析,cookie和session专题,session详解,javabean专题,tomcat中数据源的配置和使用,servlet过滤器和jsp内置对象专题等专题分析,对于...

    JSP_BBS专题论坛系统_毕业设计论文

    Jsp+Servlet+JavaBean开发的,MySQL5.0数据库,BBS专题论坛系统论文

    Session-JavaWeb专题

    本课程系统地讲解了SESSION这个知识点,主要讲解了Session的概念,它是如何产生,如何工作,如何存放和如何消亡的,以及Session在JavaWeb中的体现和操作,在最后用一个小例子来演示了如何通过Servlet来操作Session。...

    Tomcat面试专题1

    1、Tomcat的缺省端口是多少,怎么修改 4、tomcat容器是如何创建servlet类实例 1、优化连接配置.这里以tomcat7的参数配置为例,需要修改c

    海量Java面试题专题

    海量的Java面试题 Struts面试题 Spring面试题 Hibernate面试题 EJB面试题 JSP面试题 Servlet面试题 大家可以参考一下

    轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发

    原书200多M,放到了百度网盘里。直接下载就行。 本书是《轻量级JavaEE企业应用实战》的第3版,第3版保持了第2...本书还全面介绍了Servlet3.0的新特性,以及Tomcat 7.0的配置和用法,本书的示例应该在Tomcat7.0上运行。

    JSP网络编程学习笔记源代码 part2

    第六篇为“Web应用高级专题”,主要讲述Servlet过滤器、JSP异常处理、JSP日志、认证和安全、部署等内容;第七篇为“Web应用开发实例”,围绕一个电子商务网站,从需求分析、架构选取、数据存储、开发、测试及部署等...

    Java Web 的好东西(打包下载)

    00_集合类框架专题01_JDBC技术和数据库连接池专题02_bookstore应用分析03_Cookie和Session专题04_Session详解05_JavaBean的使用06_Tomcat中数据源的配置和使用07_Servlet过滤器08_定义JSP标签09_MVC和Struts专题

    JSP应用开发祥解

    对于JSP开发中常遇到的典型的难点,专门设置了专题进行集中讨论。本书的最后一篇围绕一个电子商务网站,使用最新的表达式语言,创造性地以零Java代码介绍了各个模块的开发实现,并且提供完整的、可运行的实例。在...

    【动力节点】Javaweb开发视频教程之监听器

    教程名称: 【动力节点】Javaweb开发视频教程之监听器 动力节点推出的... 北京动力节点-05监听器专题-001-设计模式分类北京动力节点-05监听器专题-002 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    基于J2EE的B2C的电子商务系统开发 -新闻发布与系统管理子系统设计与实现

    世界贸易组织电子商务专题报告定义:电子商务是通过电子信息网络进行的生产、营销、销售和流通等活动。全球电子商务涉及世界各国,也为我国企业带来了新的发展机遇。所以本次毕业设计的选题就是一个电子商务系统的开发...

    BBS论坛设计文档--毕业设计

    JSP_BBS专题论坛系统_毕业设计论文 JSP+Servlet+Javabean+MySQL 可以作为毕业设计或者是课程设计的参考~

    JSP应用开发详解

    对于JSP开发中常遇到的典型难点,专门设置了专题进行集中讨论。对于最新兴起的Web2.0的Ajax技术,用理论和实例进行了深入浅出的描述。本书的最后一篇围绕实例,使用各种最新技术,对实例的各个模块进行开发实现,为...

    jsp应用开发详解

    对于JSP开发中常遇到的典型难点,专门设置了专题进行集中讨论。对于最新兴起的Web2.0的Ajax技术,用理论和实例进行了深入浅出的描述。本书的最后一篇围绕实例,使用各种最新技术,对实例的各个模块进行开发实现,为...

    JSP应用开发详解.rar

    对于JSP开发中常遇到的典型难点,专门设置了专题进行集中讨论。对于最新兴起的Web 2.0的Ajax技术,用理论和实例进行了深入浅出的描述。本书的最后一篇围绕实例,使用各种最新技术,对实例的各个模块进行开发实现,为...

Global site tag (gtag.js) - Google Analytics