Java三十四篇: 回顾Servlet


什么是Servlet?

  • Servlet 是 JavaWeb 的三大组件之一,它属于动态资源,Servlet 的作用是处理请求,服务器会把接收到的请求给 Servlet 处理,在 Servlet 中需要:


    • 接收请求数据
    • 处理请求

    • 完成响应

每个 Servlet 是唯一的,它们处理的请求时不同的。

二、Servlet接口介绍

  • 概念:javaweb程序开发,项目就是一个java应用程序,用sun公司提供的接口Servlet,只要实现里面的一些接口,并按照规则把接口中的代码写完,就是一个javaweb项目。

  • 如果要完成一个javaweb项目的开发


    • 编写一个Java类,让这个java类实现Servlet接口。
    • 将编写好的javaweb项目放置到web服务器中

实现Servlet的方式

实现 Servlet 有三种方式:

  • 实现 java.servlet.Servlet 接口

  • 继承 javax.servlet.GenericServlet 类

  • 继承 javax.servletHttpServlet 类

查看源码

Java三十四篇: 回顾Servlet
img

Spring家族底层都是封装了大量的servlet

  <!-- 配置ServletDemo2的映射 -->
<servlet>
<servlet-name>ServletDemo2</servlet-name>
<servlet-class>com.woniuxy.demo.ServletDemo2</servlet-class>
</servlet>
<!-- 映射配置 -->
<servlet-mapping>
<servlet-name>ServletDemo2</servlet-name>
<url-pattern>/demo2</url-pattern>
</servlet-mapping>

4、启动tomcat,测试请求demo

Java三十四篇: 回顾Servlet
img

Servlet流程及原理

浏览器请求之后解析的步骤:

  • 浏览器发出请求,链接服务器

  • 发送http请求:http://localhost:8080/WebDemo2/demo2;

  • 解析出来IP地址

  • 解析出来端口号

  • 解析出来web应用程序

  • 解析出来请求访问的资源文件

  • 创建Servlet对象,并用init初始化Servlet对象

  • 调用Service方法或者别拆分出来的doxxx()方法。

  • 关闭服务器的时候,销毁Servlet对象,调用destroy方法

Servlet对象的生命周期

  • 实现Servlet接口或者继承HttpServlet,该类所在的工程为一个web应用程序,该程序需要放到服务器里面,当服务器一旦开启,那么服务器会自动的在容器中创建一个Servlet对象。

  • 当发送第一条请求的时候,会调用init方法进行初始化Servlet对象。后续请求将不再初始化

  • 每一次调用service方法或者doGet方法或者doPost方法之前,都需要使用Servlet对象创建独立的HttpServletRequest对象和HttpServletResponse对象。

  • 调用service方法或者对应的doXXX()方法处理请求响应。

  • 当服务器关闭的时候,销毁Servlet对象。

web中的其他重要的对象

ServletConfig对象
  • 作用:获取配置文件(web.xml)中的参数,一些数据可以先配置在web.xml文件中,由ServletConfig对象进行获取,在servlet接口中提供了有参的init方法,参数为ServletConfig对象,在初始化Servlet对象的时候,会调用init方法,在这个时候,web服务器会自动将web.xml里面的参数加载到ServletConfig对象。并且同时将ServletConfig对象交给Servlet对象。
ServletContext对象
  • 一个web容器里面,只有一个ServletContext对象,获取ServletContext对象有两种方式


    • 方式1:通过ServletConfig对象中的getServeltContext()方法来获取ServletContext对象

ServletContext context = this.getServletConfig().getServletContext();


    • 方式2:可以直接通过Servlet对象中的getServletContext()方法来获取ServletConext对象,推荐方式。

ServletContext context = this.getServletContext();

Servlet的第一个作用:实现各个Servlet类中的数据共享

  • 获取全局的配置文件值
  • 读取配置文件
Response对象(相应)
  • 当服务器接收到了请求之后,会执行doPost或者doGet方法,执行完之后会给浏览器反馈数据,完成反馈数据的对象就是response,该对象不需要程序员自己创建。
Request对象 (请求)
  • 当浏览器向服务器发送请求之后,服务器会接受到来自浏览器的数据(用户填写的数据、请求头数据和请求的数据),request是完成前端数据交给服务器的对象

总结:

  • 1.servlet是Javaweb 的三大组件之一,是很多框架的底层,如果需要知道底层怎么实现的那必须知道servlet

  • 2.实现 Servlet 有三种方式:

    • 实现 java.servlet.Servlet 接口

    • 继承 javax.servlet.GenericServlet 类

    • 继承 javax.servletHttpServlet 类

  • 3.servletContext对象、ServletCofig对象、Reponse对象、Request对象还是很重要的,要有一定的认识


                           Java三十四篇: 回顾Servlet

本篇文章来源于微信公众号: 小刘Java之路

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/11096.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!