20210201-javaee-课程jsp_servlet_tomcat基础01

1 Servlet技术

它是java类

  • 一旦启动,常驻内存

与平台无前

与协议无关


2 Servlet提供的功能

  • 对客户端发送的数据进行读取或拦截
  • 读取客户端请求的隐含数据
  • 运行结果或者生成结果
  • 发送响应的数据

Servlet特点

  • 线程化,高效率
  • 简单方便
    • 写类-可以像类一样,处理复杂业务
    • 写配置
    • 运行使用

3 Servlet生命周期

三阶段

  • 初始化 init()
  • 运行 service(req,resp)
  • 消亡 destroy()

4 配置文件

在tomcat容器中运行,需要web.xml配置

核心节点

  • servlet
    • servlet-name
    • servlet-class
  • servlet-mapping
    • servlet-name
    • url-pattern

5 从编写servlet到部署

在ide中开发servlet

在server上部署servlet


6 tomcat和servlet的关系

Tomcat 是Web应用服务器,是一个Servlet/JSP容器。

Tomcat 作为Servlet容器,负责处理客户请求,把请求传送给Servlet,并将Servlet的响应传送回给客户

而Servlet是一种运行在支持Java语言的服务器上的组件

Servlet最常见的用途是扩展Java Web服务器功能,提供非常安全的,可移植的,易于使用的CGI替代品

从http协议中的请求和响应可以得知,浏览器发出的请求是一个请求文本,而浏览器接收到的也应该是一个响应文本。但是在上面这个图中,并不知道是如何转变的,只知道浏览器发送过来的请求也就是request,我们响应回去的就用response。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PLYRPluU-1613801842302)(images/image-20210203092040274.png)]

①Tomcat将http请求文本接收并解析,然后封装成HttpServletRequest类型的request对象,所有的HTTP头数据读可以通过request对象调用对应的方法查询到。

②Tomcat同时会要响应的信息封装为HttpServletResponse类型的response对象,通过设置response属性就可以控制要输出到浏览器的内容,然后将response交给tomcat,tomcat就会将其变成响应文本的格式发送给浏览器

7 servlet实例分析

  1. 创建一个MyServlet继承HttpServlet,重写doGet和doPost方法,也就是看请求的方式是get还是post,然后用不同的处理方式来处理请求
  2. 在web.xml中配置MyServlet,让浏览器发出的请求知道到达哪个servlet,也就是让tomcat将封装好的request找到对应的servlet让其使用
  3. 运行,观察各生命周期函数的运行

8 几个重点对象

  • ServletConfig
  • ServletContext
  • request
  • response

ServletConfig对象

  • 获取途径:getServletConfig();

ServletContext对象

  • 获取途径:
    • getServletContext();
    • getServletConfig().getServletContext();  //两种读是一样的。
  • 功能:tomcat为每个web项目都创建一个ServletContext实例,tomcat在启动时创建,服务器关闭时销毁,在一个web项目中共享数据,管理web项目资源,为整个web配置公共信息等,通俗点讲,就是一个web项目,就存在一个ServletContext实例,每个Servlet读可以访问到它。

另外两个对象是入参带进来的,自动装填相应的信息


9 从请求到响应的流程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jf0NbXQi-1613801842311)(images/image-20210203092733290.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1uviony8-1613801842314)(images/servlet run.gif)]

10 Servlet(Server Applet)

全称Java Servlet,未有中文译文。

是用Java编写的服务器端程序。

其主要功能在于交互式地浏览和修改数据,生成动态Web内容。

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

11 Servlet的工作模式

客户端发送请求至服务器
服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器
服务器将响应返回客户端

12 Servlet API 概览

Servlet API 包含以下4个Java包:
1.javax.servlet   			其中包含定义servlet和servlet容器之间契约的类和接口。
2.javax.servlet.http   		其中包含定义HTTP Servlet 和Servlet容器之间的关系。
3.javax.servlet.annotation  其中包含标注servlet,Filter,Listener的标注。它还为被标注元件定义元数据。
4.javax.servlet.descriptor	其中包含提供程序化登录Web应用程序的配置信息的类型。

Servlet 和Servlet容器之间的关系。
3.javax.servlet.annotation 其中包含标注servlet,Filter,Listener的标注。它还为被标注元件定义元数据。
4.javax.servlet.descriptor 其中包含提供程序化登录Web应用程序的配置信息的类型。

猜你喜欢

转载自blog.csdn.net/matrixbbs/article/details/113882547
今日推荐