JavaWeb学习—Servlet

1.什么是Servlet

  • Servlet是一个继承HttpServlet类的Java类
  • Servlet必须部署在web服务器端,用来处理客户端的请求

2.Servlet运行过程

  1. Web Client 向Servlet容器(Tomcat)发出Http请求
  2. Servlet容器接收Web Client的请求
  3. Servlet容器创建一个HttpRequest对象,将Web Client请求的信息封装到这个对象中。
  4. Servlet容器创建一个HttpResponse对象
  5. Servlet容器调用HttpServlet对象的service方法,把HttpRequest对象与HttpResponse对象作为参数传给 HttpServlet 对象。
  6. HttpServlet调用HttpRequest对象的有关方法,获取Http请求信息。(Servlet的service方法中)
  7. HttpServlet调用HttpResponse对象的有关方法,生成响应数据。(Servlet的service方法中)
  8. Servlet容器把HttpServlet的响应结果传给Web Client。

  如果想要分别相应客户端的GET和POST请求,需要重写HttpServlet对象的doGet和doPost方法,如果所有请求的相应都是一样的,则只需要重写service方法即可。

3.Servlet的创建

  创建Servlet实例有两个时机:

  • 客户端第一次请求某个Servlet时,容器创建该Servlet实例(大部分Servlet都是以这种方式创建)。
  • Web应用启动时立即创建Servlet实例,即load-on-startup Servlet。

  关于load-on-startup参数:

  • load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。
  • 它的值必须是一个整数,表示servlet应该被载入的顺序
  • 当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
  • 当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载。
  • 正数的值越小,该servlet的优先级越高,应用启动时就越先加载。
  • 当值相同时,容器就会自己选择顺序来加载。

4.Servlet的生命周期

  • 实例化:容器创建Servlet对象
  • 初始化:调用Servlet的init()方法
  • 服务:调用Servlet实例的service()方法来处理请求
  • 销毁:容器删除Servlet实例(调用Servlet实例的destroy()方法)

5.Servlet的配置  

  为了让Servlet响应客户端的请求,还必须将Servlet配置在web应用中,配置Servlet时,需要修改web.xml文件。

  <servlet>
    <servlet-name>ServletDemo</servlet-name>
    <servlet-class>cn.dragon.servlet.ServletDemo</servlet-class>
  </servlet>

 <servlet-mapping>
    <servlet-name>ServletDemo</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>

  其中servlet-name属性的值必须一致才能保证响应客户端请求。

6.Servlet与JSP

  JSP的本质就是Servlet,我们将编写好的JSP文件部署在web容器中之后,web容器会将JSP编译成对应的Servlet。

  如果Servlet要生成表现层页面时,所有的HTML标签都需要使用Servlet的输出流来输出,繁琐且不利于美工人员修改。

  在标准的MVC模式中,Servlet仅作为控制器使用,而JSP仅作为表现层技术使用:

  • M:Model,即模型,对应JavaBean。
  • V:View,即视图,对应JSP。
  • C:Controller,即控制器,对应Servlet。

参考:

http://www.cnblogs.com/xdp-gacl/p/3760336.html

http://www.cnblogs.com/xuekyo/archive/2013/02/24/2924072.html

http://www.cnblogs.com/goody9807/archive/2007/06/13/782519.html

http://www.blogjava.net/xzclog/archive/2011/09/29/359789.html

转载请注明出处

时间: 2024-10-29 19:09:42

JavaWeb学习—Servlet的相关文章

JavaWeb学习--Servlet认识

Servlet开发 用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这种请求—响应模式就是典型的Web应用程序访问过程. JavaWeb应用程序中所有的请求—响应都是由Servlet完成的. Servlet是JavaWeb的核心程序,所有的网址最终都交给Servlet处理.Servlet并没有main之类的执行方法.当用户访问服务器的 时候,Tomcat是通过调用Serv

javaweb学习--Servlet开发(一)

一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术: Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态资源(即开发一个java程序向浏览器输出数据),需要完成以下2个步骤: 1.编写一个java类,实现servlet接口: 2.把开发好的Java类部署到web服务器中: 按照一中和约定俗成称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet: 二.Servlet的运行过程 Servlet程序是由WEB服务

javaweb学习之Servlet开发(二)

javaweb学习总结(六)--Servlet开发(二) 一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 例如: 1 <servlet> 2 <servlet-name>ServletConfigDemo1</servlet-name> 3 <servlet-class>gacl.servlet

JavaWeb学习笔记之Servlet(一)

1. 引子: 当我们开始进入JavaWeb开发的学习时,我们就必须要和Servlet和HTTP这两个词进行打交道了,尤其是Servlet.即使到了后面使用JSP (我们知道JSP其本身就是一个Servlet)来进行开发我们的应用. 下图就是 Servlet API中相应的UML图,在学习JavaWeb 开发时,我们最好对下面的各个Servlet中的方法做一定的了解及其相应的图中的关系,尤其是HttpServletRequest和HttpServletResponse 中的方法. 2. 部署服务器

javaweb学习总结(六)——Servlet开发(二)

转载:http://www.cnblogs.com/xdp-gacl/p/3763559.html 只为成功找方法,不为失败找借口! javaweb学习总结(六)——Servlet开发(二) 一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 例如: 1 <servlet> 2 <servlet-name>ServletC

JavaWeb学习之Servlet(二)----Servlet的生命周期、继承结构、修改Servlet模板

[声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140466.html 联系方式:[email protected] 一.http协议回顾: 在上一篇文章中:JavaWeb学习之Servlet(一)----MyEclipse及Tomcat的配置,我们通过在浏览器输入url,就能看到在MyEclipse中编写的Servlet资源,效果如下: 上图中,整个过程是这样的:浏览器中输入url后,会通过hosts文件/dns服务

JavaWeb学习总结(四十八)——模拟Servlet3.0使用注解的方式配置Servlet

JavaWeb学习总结(四十八)——模拟Servlet3.0使用注解的方式配置Servlet 一.Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示: 1 <servlet> 2 <servlet-name>ActionServlet</servlet-name> 3 <servlet-class>me.gacl.web.controller.ActionServlet</s

JavaWeb学习篇之----Servlet过滤器Filter和监听器

JavaWeb学习篇之----Servlet过滤器Filter和监听器 首先来看一下Servlet的过滤器内容: 一.Servlet过滤器的概念: *************************************************************************************** Servlet过滤器是在Java Servlet规范2.3中定义的,它能够对Servlet容器的请求和响应对象进行检查和修改. Servlet过滤器本身并不产生请求和响应对象,

JavaWeb学习之Servlet(四)----ServletConfig获取配置信息、ServletContext的应用(转)

JavaWeb学习之Servlet(四)----ServletConfig获取配置信息.ServletContext的应用 [声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140877.html [正文] 一.ServletConfig:代表当前Servlet在web.xml中的配置信息(用的不多) String getServletName()  -- 获取当前Servlet在web.xml中配置的名字 String