servlet基础

servlet基础

1、什么是Servlet

Servlet 是一个 Java程序,是在服务器上运行以处理客户端请求并做出响应的程序

Servlet 运行于服务器端

1.1、初识Servlet

在这里插入图片描述

2、Servlet与JSP的关系

3、Servlet体系结构

在这里插入图片描述

4、Servlet接口

Servlet概述
定义了所有Servlet需要实现的方法
Servlet接口的常用方法

方法名称功能描述
public void init(ServletConfig config) servlet 容器调用,用于完成Servlet对象在处理客户请求前的初始化工作
public void service(ServletRequest req**,** ServletResponse res) servlet 容器调用,用来处理客户端的请求
public void destroy() servlet 容器调用,释放Servlet对象所使用的资源
public ServletConfig getServletConfig**()**返回****ServletConfig 对象**,该对象包含此** servlet 的初始化和启动参数。返回的 ServletConfig 对象是传递给 init() 方法的对象
public String getServletInfo**()**返回有关 servlet 的信息,比如作者、版本和版权。返回的字符串是纯文本,而不是任何种类的标记(比如 HTML**、XML,等等)**

4.1、ServletConfig接口

ServeltConfig概述
在Servlet初始化过程中获取配置信息
一个Servlet只有一个ServletConfig对象
ServletConfig的常用方法

方法名称功能描述
public String getInitParameter**(String** name)获取web.xml中设置的以name命名的初始化参数值
public ServletContext getServletContext**( )**返回Servlet的上下文对象引用

4.2、GenericServlet抽象类

GenericServlet概述
提供了Servlet与ServletConfig接口的默认实现方法
GenericServlet的常用方法

方法名称功能描述
public void init(ServletConfig config)调用Servlet接口中的init()方法。此方法一无参的重载方法,其功能与此方法****相同
public String getInitParameter**(Stringname)**返回名称为name的初始化参数的值
public ServletContext getServletContext**()**返回ServletContext对象的引用

4.3、HttpServlet抽象类

HttpServlet概述
继承于GenericServlet
处理HTTP协议的请求和响应
HttpServlet的常用方法

方法名称功能描述
public void service(ServletRequest req**,** ServletResponse res)**调用GenericServlet类中****service()**方法的实现
public void service(HttpServletRequest req, HttpServletResponseres**)**接收****HTTP 请求,并将它们分发给此类中定义的 doXXX 方法
public void doXXX**(HttpServletRequestreq,HttpServletResponse** res)**根据请求方式的不同,分别调用相应的处理方法,例如doGet()****、doPost()**

4.4、请求、响应相关接口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oeqbHPEf-1635037261596)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210922084542859.png)]

4.5、ServletRequest接口

ServletRequest概述
获取客户端的请求数据
ServletRequest的常用方法

方法名称功能描述
public Object getAttribute**(String** name**)**获取名称为name的属性值
public void setAttribute**(String** name, Object object**)**在请求中保存名称为name的属性
public void removeAttribute**(String** name)清除请求中名字为name的属性

4.6、HttpServletRequest接口

HttpServletRequest概述
除了继承ServletRequest接口中的方法,还增加了一些用于读取请求信息的方法
HttpServletRequest的常用方法

方法名称功能描述
public String getContextPath**()**返回请求URI中表示请求上下文的路径,上下文路径是请求URI的开始部分
public Cookie**[ ]** getCookies**()**返回客户端在此次请求中发送的所有cookie对象
public HttpSession getSession**()**返回和此次请求相关联的session,如果没有给客户端分配session,则创建一个新的****session
public String getMethod**()****返回此次请求所使用的HTTP方法的名字,如GET、**POST

4.7、ServletResponse接口

ServletResponse概述
向客户端发送响应数据
ServletResponse接口的常用方法

方法名称功能描述
public PrintWriter getWriter**()**返回PrintWrite对象,用于向客户端发送文本
public String getCharacterEncoding**()**返回在响应中发送的正文所使用的字符编码
public void setCharacterEncoding**()**设置发送到客户端的响应的字符编码
public void setContentType**(String type)**设置发送到客户端的响应的内容类型,此时响应的状态属于尚未提交

4.8、HttpServletResponse接口

HttpServletResponse概述
除了继承ServletResponse接口中的方法,还增加了新的方法
HttpServletResponse的常用方法

方法名称功能描述
public void addCookie**(Cookie** cookie**)**增加一个cookie到响应中,这个方法可多次调用,设置多个****cookie
public void addHeader**(String** name,String value)将一个名称为name,值为value的响应报头添加到响应中
public void sendRedirect**(String location)**发送一个临时的重定向响应到客户端,以便客户端访问新的****URL
public void encodeURL**(String** url**)**使用session ID对用于重定向的URL进行编码

5、Servlet的生命周期

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n3mXny2N-1635037261600)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210922084813567.png)]

生命周期的各个阶段

在这里插入图片描述

6、Servlet的应用

创建Servlet
实现doPost()或doGet()方法
部署Servlet
编辑部署描述文件web.xml(添加< servlet>和< servlet-mapping>)
启动Tomcat,访问Servlet

7、获取Servlet初始化参数

7.1、Servlet初始化参数配置

在这里插入图片描述

7.2、获取初始化参数

在这里插入图片描述

8、ServletContext接口

ServletContext概述
获取Servlet上下文
ServletContext的常用方法

方法名称功能描述
public String getInitParameter**(String** name)获取名称为name的系统范围内的初始化参数值,系统范围内的初始化参数可以在部署描述符中使用**<context-param>**元素定义
public void setAttribute**(String** name, Object object**)**设置名称为name的属性
public Object getAttribute**(String name)**获取名称为name的属性
public String getRealPath**(String path)**返回参数所代表目录的真实路径
public void log(String message)记录一般日志信息

9、获取Servlet上下文参数

9.1、配置Servlet上下文

在这里插入图片描述

9.2、读取Servlet上下文

在这里插入图片描述

总结

Servlet的应用

在这里插入图片描述

Servlet初始化参数配置

在这里插入图片描述

Servle上下文参数配置

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值