现在很多的开发都是用的框架,然后很多同学学习的时候又是直接接触的框架,对于底层的一些开发,完全没有任何的了解。虽然对于业务上面来说,没有什么问题。但是很多时候当你被面试问到,或者是想要了解框架底层原理的时候,这就不得不知道了。所以今天详细说说它。

开发servlet的三种方式

1、实现servlet接口(偏向底层)

2、继承GenericServlet(觉得1不好用,就开发了这个,现在基本没啥用)

3、继承HttpServlet(现在大多数用这个)

理解实现servlet接口的方式,理解servlet生命周期

首先当servlet第一次被调用的时候,会调用servlet的init方法,把servlet实例装载到内存中。

之后会调用service方法,当第二次servlet被访问的时候就会直接调用service函数。

只有当web应用关闭,或者容器关闭,或者电脑关闭时候,才会调用destroy方法销毁servlet

下面是浏览器发出请求后servlet执行的流程图

aaarticlea/png;base64,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" alt="" width="1482" height="755" />

Servlet接口有五个方法

init初始化,就是把servlet装载到内存中,只会被调用一次

getServletConfig获取servletConfig对象

service主要的服务方法,放业务逻辑,每次都会被调用

getServletInfo得到servlet配置信息

destroy销毁该servlet,从内存中清除掉

继承GenericServlet

GenericServlet实现了servlet接口

然后只有一个抽象方法需要你自己去重写

那就是service方法,所以相比来说init别的方法他都帮你实现好了,只要你写service方法就可以了。

至少看起来继承GenericServlet比直接实现servlet接口要方便

这个类是在javax.servlet.GenericServlet下的

继承HttpServlet

因为后来发现servlet主要是为了服务于http请求的,而且发现GenericServlet对于http来说还不够好

所以有了HttpServlet,首先它是继承自GenericServlet

然后它有很多http相关的方法,post,get,put等待

用户可以根据自己需要来实现这些方法

每个过来的请求都会调用service方法,最后service会根据不用的请求分发到不同的地方去做。

下面的问题中会在源码中详细说明。

下面有关servlet service描述错误的是?

1、不管是post还是get方法提交过来的连接,都会在service中处理

每次请求都会调用service方法,最终都会在service中处理,正确;

2、doGet/doPost 则是在 javax.servlet.GenericServlet 中实现的

GenericServlet只是继承了Servlet的接口,实现了它其中的5个方法,其中需要用户重写的是service方法,而doGet/doPost是因为之后出现了HttpServlet才有的,是针对http请求才有了这个类,才有了doPost和doGet,所以是错误的。

3、service()是在javax.servlet.Servlet接口中定义的

Servlet接口一共定义了5个方法,其中就有service(),正确;

4、service判断请求类型,决定是调用doGet还是doPost方法

下面详细说说最后一个选项。

我们来看一看源码

protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String method = req.getMethod(); if (method.equals(METHOD_GET)) {
long lastModified = getLastModified(req);
if (lastModified == -1) {
// servlet doesn't support if-modified-since, no reason
// to go through further expensive logic
doGet(req, resp);
} else {
long ifModifiedSince = req.getDateHeader(HEADER_IFMODSINCE);
if (ifModifiedSince < (lastModified / 1000 * 1000)) {
// If the servlet mod time is later, call doGet()
// Round down to the nearest second for a proper compare
// A ifModifiedSince of -1 will always be less
maybeSetLastModified(resp, lastModified);
doGet(req, resp);
} else {
resp.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
}
} } else if (method.equals(METHOD_HEAD)) {
long lastModified = getLastModified(req);
maybeSetLastModified(resp, lastModified);
doHead(req, resp); } else if (method.equals(METHOD_POST)) {
doPost(req, resp); } else if (method.equals(METHOD_PUT)) {
doPut(req, resp); } else if (method.equals(METHOD_DELETE)) {
doDelete(req, resp); } else if (method.equals(METHOD_OPTIONS)) {
doOptions(req,resp); } else if (method.equals(METHOD_TRACE)) {
doTrace(req,resp); } else {
//
// Note that this means NO servlet supports whatever
// method was requested, anywhere on this server.
// String errMsg = lStrings.getString("http.method_not_implemented");
Object[] errArgs = new Object[1];
errArgs[0] = method;
errMsg = MessageFormat.format(errMsg, errArgs); resp.sendError(HttpServletResponse.SC_NOT_IMPLEMENTED, errMsg);
}
}

这个就是HttpServlet中service方法的源码

首先我们看到的就是String method = req.getMethod();

这个就是通过request获取方法

然后根据方法判断调用哪一个方法

要说明的是前面它已经定义好了那些字符串

private static final String METHOD_DELETE = "DELETE";
   private static final String METHOD_HEAD = "HEAD";

private static final String METHOD_GET = "GET";

private static final String METHOD_OPTIONS = "OPTIONS";

private static final String METHOD_POST = "POST";

private static final String METHOD_PUT = "PUT";

private static final String METHOD_TRACE = "TRACE";

所以第四个选项说:service判断请求类型,决定是调用doGet还是doPost方法,是正确的。

需要指出的是

前面说过

HttpServlet是继承自GenericServlet,而GenericServlet需要用户实现一个service,刚才我们看到的是它自己的

而在HttpServlet中其实是有的。它肯定要写这样一个方法的。

public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException
{
HttpServletRequest request;
HttpServletResponse response; try {
request = (HttpServletRequest) req;
response = (HttpServletResponse) res;
} catch (ClassCastException e) {
throw new ServletException("non-HTTP request or response");
}
service(request, response);
}

源码是这样的,它会把原来的ServletRequest 请求直接强转换成HttpServletRequest然后再去调用它正真的service方法。

这点是需要指出的,HttpServletRequest比ServletRequest进行了进一步的封装,方法更适合http。

Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。
(1)加载:容器通过类加载器使用servlet类对应的文件加载servlet
(2)创建:通过调用servlet构造函数创建一个servlet对象
(3)初始化:调用init方法初始化
(4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求
(5)卸载:调用destroy方法让servlet自己释放其占用的资源

详细理解servlet实现的几种方式和生命周期的更多相关文章

  1. 详细理解servlet实现的三种方式和生命周期

    阅读目录 开发servlet的三种方式 理解实现servlet接口的方式,理解servlet生命周期 Servlet接口有五个方法 继承GenericServlet 继承HttpServlet 现在很 ...

  2. @Scope注解设置创建bean的方式和生命周期

    1.1.1            Scope注解创建bean的方式和生命周期 作用 Scope设置对象在spring容器(IOC容器)中的生命周期,也可以理解为对象在spring容器中的创建方式. 取 ...

  3. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  4. Service的两种用法及其生命周期

    先来一点基础知识: Service 是android的四大组件之一,与Activity同属于一个级别,它是运行在后台进行服务的组件(例如在后台播放的音乐,播放音乐的同时并不影响其他操作).Servic ...

  5. Servlet实现的三种方式

    实现Servlet的三种方式:一个实现,两个继承 /*========================================== * servlet的执行过程: * 1.创建servlet对 ...

  6. Struts2访问Servlet API的三种方式

    有时我们需要用到Request, Response, Session,Page, ServletContext这些我们以前常用的对象,那么在Struts2中怎么样使用到这些对象呢,通常有三种方式. * ...

  7. Struts2访问Servlet API的几种方式

    struts2提供了三种方式访问servlet API:大致分为两类 1. ActionContext:  public static ActionContext getContext() :获得当前 ...

  8. selenium(1)-详细解读元素定位的八种方式

    安装selenium和下载webdriver 安装selenium pip install selenium pip install selenium  -U  (判断是否有最新版本) 下载drive ...

  9. JavaEE基础(01):Servlet实现方式,生命周期执行过程

    本文源码:GitHub·点这里 || GitEE·点这里 一.Servlet简介 Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容.使用S ...

随机推荐

  1. LoadRunner日志(归档记录,以便自己查阅)

    1.当设置迭代次数大于1时,回放从第二次迭代开始发生错误 这种现象多是由于在"Run-time Setting"的"Browse Emulation"的设置中, ...

  2. react学习笔记-05 lifecycle

    根据React官网,react有三个生命状态:装载(Mounting),更新(updating),卸载() 一:装载 装载:componentWillMount/componentDidMount(组 ...

  3. SSH整合例子

    三大框架: Struts框架 1. params拦截器: 请求数据封装 2. 类型转换/数据处理 3. struts配置 4. 文件上传/下载/国际化处理 5. 数据效验/拦截器 6. Ognl表达式 ...

  4. asp.net MVC中使用Autofac小结 (遇到的最傻错误: 没有为该对象定义无参数的构造函数)

    项目使用的MVC4,.net 4.5 Nuget安装最新的autofac,一直提示不支持.net 4.5.没办法了,最后用Nuget控制台安装的老版本.因为我使用的是MVC4,所以直接安装的是auto ...

  5. 分布式版本控制系统Git-----7.Git 使用git rebase合并多次commit

    将多次commit合并,只保留一次提交历史. PS:在我练习的时候,将一个文件的代码做了多次修改,而且每次修改都给提交了,这几次改动的目的都一样,比如说修改RADEME.md,但是每次改动的只是一个小 ...

  6. unity 隐藏GameObject的方法(转)

    改position,移到视野外,推荐,最节省 gameObject.SetActive (false); //要提前引用,要不你就改不回来了... renderer.enabled = false; ...

  7. jQuery切换网页皮肤并保存到Cookie示例代码

    经过使用,靠谱! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  8. iOS毛玻璃擦除效果

    思路:首先我的思路放两个imageView在Controller里把高清的图片放在下面,带有毛玻璃效果的图片放在上面. //在Controller的view上加一个手势代码如下(温馨提示,开启imae ...

  9. win2008阿里一键环境包mysql老是1067报错

    目前查看并不是染毒导致mysql无法启动,而是在mysql的配置文件中配置了log这个参数,这个参数语义不明确,请您将“--log”更改为general_log_file并添加一行“general_l ...

  10. Java 集合 fail-fast机制 [ 转载 ]

    Java 集合 fail-fast机制 [转载] @author chenssy 摘要:fail-fast产生原因.解决办法 在JDK的Collection中我们时常会看到类似于这样的话: 例如,Ar ...