我是一个刚学几天的小白,写得不好,如果哪个地方有错误,欢迎你们指出。

在服务器端,我用的是Tomcat作为Servlet 容器,在容器中有一个Servlet接口,你编写一个servlet类放在Tomcat中,当你在浏览器中访问这个servlet的URL时,在这里假设你访问的是存在的servlet,我们都知道接下来就是WEB容器会解析请求,创建servlet 实例,然后调用service( )方法,然后把响应结果发送给浏览器,具体过程可以通过一些资料得知,我接下来要写的是我自己的一些迷惑和理解。

我是在eclipse ee 搭建Tomcat,然后创建一个项目,创建一个serlet类,在该servlet类中,你只看到无参构造方法、doGet()和doPost( )方法,并没有service( )方法,那么上面所说的调用service( )方法是什么意思呢?

其实通过eclipse 提供的servlet类模板,可以看到你所编写的servlet类是继承了HttpServlet类,而HttpServlet类是GenericServlet类的子类,GenericServlet类实现了Servlet容器中的Servlet接口,在Servlet接口中,就定义了service( )方法,这个方法是要由Servlet 容器来调用的,GenericServlet类实现该接口,由GenericServlet类的源码可看出,GenericServlet类并没有实现Service( )方法,而service()方法也成为了GenericServlet类中唯一的抽象方法,(GenericServlet类是抽象类),所以GenericServlet类的具体子类必须实现该方法,而HttpServlet是GenericServlet类的子类,所以在HttpServlet类中,由源码可知HttpServlet实现了Servlet接口中的service()方法,并且重载了该方法,重载后的该方法,会根据获得的客户端请求方式来调用匹配的服务方法,如果是Get方法,则调用doGet()方法,如果是Post方法,则调用doPost()方法,我们创建的servlet类继承了HttpServlet类,并且重载了doGet()和doPost(),这可以说是一种封装思想吧,你并不需要去修改service()方法,你只需要根据需要去修改doGet()和doPost()方法,通过源码,我们可以知道在HttpServlet中,有两个service()方法,第一个是实现了Servlet接口的service()方法,第二个则是重载service()方法,在第一个srevice()方法调用了重载的service()方法,重载的service()方法的功能,上面已经说过了,就是判断要调用哪个方法,

servlet的运行工作的更多相关文章

  1. Servlet生命周期+工作原理

    Servlet生命周期+工作原理 1.Servlet的生命周期:     Servlet加载,加载,服务,销毁. 2.典型函数解释:     Init():这个函数是用来初始化Servlet对象的.在 ...

  2. Servlet启动运行顺序

    1.web项目执行属性 启动web项目后,web容器首先回去找web.xml文件,读取这个文件. 容器会创建一个 ServletContext ( servlet 上下文),整个 web 项目的所有部 ...

  3. Servlet的运行流程以及web.xml文件中的几种配置方式

    Servlet的运行流程: 有俩种方式: 1.创建一个包,然后在包下创建一个class,class里面需要继承httpservlet,复写service方法------>配置web.xml文件: ...

  4. JDK - Tomcat - JSP - Servlet 配置运行全攻略(转)

    http://www.cnblogs.com/myqiao/archive/2005/08/29/225497.html 花了将近两个月的时间,从 JDK 开始一步一步摸索,历经千辛万苦,终于让第一个 ...

  5. JDK - Tomcat - Eclipse - JSP - Servlet 配置运行全攻略

    花了将近两个月的时间,从 JDK 开始一步一步摸索,历经千辛万苦,终于让第一个 Servlet 运行起来了,创建第一个 Servlet  程序确实要比创建第一个 Asp.net 程序困难多了,但是不要 ...

  6. Servlet主要相关类核心类 容器调用的过程浅析 servlet解读 怎么调用 Servlet是什么 工作机制

      WEB简介   Web项目 是 B/S结构 浏览器/服务器模式的 浏览器发起请求,服务器作出响应   请求的发起和响应使用HTTP协议进行通讯 所谓协议也就是一种固定格式   而Socket是应用 ...

  7. Java Servlet(四):Servlet接口service工作(ServletRequest,ServletResponse对象)(jdk7+tomcat7+eclipse)

    本篇将会记录,Servlet接收客户端传递来的参数信息,并返回信息使用的对象,及这些对象的函数相关用法. 还是在java ee工程中进行操作,在WebContent目录下创建一个login.jsp文件 ...

  8. servlet 容器,工作原理,优缺点

    转自http://blog.sina.com.cn/s/blog_b5a157500101ld71.html servlet:是以java技术为基础,应用于服务器端的程序组件,本质就是java代码,用 ...

  9. Servlet基础(工作原理、生命周期)

    (一)Servlet开发与配置 1.1 开发步骤 1)编写java类,继承HttpServlet类 2)重新doGet和doPost方法 3)Servlet程序交给tomcat服务器运行! 配置信息: ...

随机推荐

  1. SSH框架搭建最终版【测试、log4j、baseDao】

    最详细搭建SSH框架环境 本博文主要是讲解如何搭建一个比较规范的SSH开发环境,以及对它测试[在前面的搭建中,只是整合了SSH框架,能够使用SSH实现功能],而这次是相对规范的. 导入开发包 在Str ...

  2. 源码跟读,Spring是如何解析和加载xml中配置的beans

    Spring版本基于: 跟踪代码源码基于: https://github.com/deng-cc/KeepLearning commit id:c009ce47bd19e1faf9e07f12086c ...

  3. quartz定时格式配置以及JS验证

    一个Cron-表达式是一个由六至七个字段组成由空格分隔的字符串,其中6个字段是必须的而一个是可选的,如下: ---------------------------------------------- ...

  4. mongoose api 图表整理

    一.背景 今天看 mongoose 的基础 API,参考了下面的链接做了图表以供查阅. 参考资料: http://www.cnblogs.com/xiaohuochai/p/7215067.html ...

  5. org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML doc

    今天在Spring中换了一种配置bean的方式,发现报错了Unexpected exception parsing XML document from class path resource , 经过 ...

  6. js添加下拉列表的模糊搜寻

    1引入插件<script type="text/javascript"src="common/lib/jQueryComboSelect/jquery.combo. ...

  7. 19.Linux-USB总线驱动分析

    如下图所示,以windows为例,我们插上一个没有USB设备驱动的USB,就会提示你安装驱动程序 为什么一插上就有会提示信息? 是因为windows自带了USB总线驱动程序, USB总线驱动程序负责: ...

  8. gulp使用2-gulp-less及watch和错误提示

    gulpfile.js /** * Created by Administrator on 2017/4/4 0004. */ const gulp = require('gulp'), less = ...

  9. wxPython中基本控件学习

    wxPython工具包提供了多种不同的窗口部件,包括了本章所提到的基本控件.我们涉及静态文本.可编辑的文本.按钮.微调.滑块.复选框.单选按钮.选择器.列表框.组合框和标尺.对于每种窗口部件,我们将提 ...

  10. HDU2048 HDU2049 组合数系列 错排

    HDU1465HDU2048HDU2049#include<cstdio> #include<cstdlib> #include<iostream> #includ ...