Servlet

Servlet是Java中用于Web服务器端的接口,用于处理HTTP请求。本文介绍了Servlet的概述、生命周期、实现方式、HttpServlet的应用、Servlet的映射、ServletConfig和ServletContext接口,以及如何获取Web资源和初始化参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Servlet技术
1.1 Servlet概述:
什么是servlet:它是运行在web服务器端的一个java小程序,简单来说,它就是一个java类
在使用servlet时,需要导入javax.servlet下的jar包。比如:tomcat服务器提供了
servlet的servlet-api.jar包,所以在开发时用tomcat服务器就不需要再导入servlet的jar包。
Servlet它是一个资源,是用来被用户访问的资源,同时是一个动态资源,它是由sun指定的servlet规范。
Servlet的作用:它是基于Http协议的,主要是用来接收客户端发送的请求,处理请求,把数据响应给客户端。
1.2 Servlet的入门
1.Servlet的接口和实现类:
Servlet它是一个接口,在javax.servlet 包下面。
五个方法:
destroy():执行这个方法,销毁了servlet对象
init(ServletConfig config):在web服务器创建servlet对象以后,执行这个初始化方法。
service(ServletRequest req, ServletResponse res) :服务方法,用来接收客户端发送的请求,并且响应数据到客户端
getServletInfo():servlet 的信息,比如作者、版本和版权,这个方法在开发中不用。
GenericServlet,它是一个类,实现了Servlet接口
HttpServlet,它是一个类,实现了Servlet接口,同时继承了GenerciServlet
创建servlet三种方式
>直接实现Servlet接口。
>继承GenericServlet类
>继承HttpServlet类。
1.3.实现第一个Servlet程序
> 1.自己手动创建Servlet,通过Dos命令窗口编译Servlet,把编译好的class文件部署到tomcat服务器运行。
> 2.通过Eclipse创建Servlet,部署到tomcat服务器,然后就可以访问咱们所需要的Servlet。
步骤:
1.创建HelloWordServlet,继承GenericServlet
2.重写父类GenerciServlet的service方法。
3.在服务方法里面,处理客户端的请求后,把数据响应给客户端
导入jar包:先拷贝对应的jar包,放到WebContent下面的WEB-INF下面的lib文件夹下面。
jar的图标就变成小奶瓶。
1.3.Servlet的生命周期:
生命周期:自然界人从出生到最终走向西方极乐世界,这个周期过程就是人的生命周期,
其实servlet的生命周期和人的一样,从servlet对象被创建,经过使用servlet对象,
到最终servlet对象被销毁,整个过程就是servlet的生命周期。
与生命周期相关的三个方法:
>> 初始化阶段:
init(ServletConfig config) 初始化方法:首次访问这个Servlet,servlet对象会被创建,执行初始化方法,执行一次。
>> 运行阶段:
service(ServletRequest req, ServletResponse res) 服务方法:每次访问servlet时,服务方法都会被执行,执行多次。。
>> 销毁阶段:
destroy()销毁方法:在服务器正常关闭时。会执行销毁方法,执行一次。
1.4 Servlet应用-HttpServlet
在开发中,通常浏览器访问web服务器端的资源,是带有协议的访问,比如说http协议、https协议等,所以说
在创建servlet时。需要使用带有协议的servlet,那么咱们程序员在创建servlet时,通常用继承HttpServlet的
方式来实现。
1.查看HttpServlet源码得到的结论:
在HttpServlet里面重写service方法时,因为在service方法里面,最终调用doGet或者doPost方法,
所以说在重写服务方法时,一般情况下不会重写service方法,而是直接重写doGet和doPost方法
在客户端发送get请求,在服务器端就用doGet方法接收、
在客户端发送Post请求,在服务器端就用doPost方法来接收
1.6 实现Servlet的虚拟路径映射
1.Servlet的多重映射:一个Servlet,可以对应多个访问路径。
2.Servlet的映射路径可以使用通配符
servlet的映射路径有三种方式:、
>> 完全目录匹配: 比如 /hello
>> 目录匹配: 比如 /abc/* 或者 /*
>> 扩展名匹配: .do ,.action 注意 /*.do这种写法是错误的。
优先级:完全目录匹配>目录匹配>扩展名匹配
3.缺省Servlet
什么是缺省Servlet:它的映射路径 “/” ,代表这是一个缺省的servlet.
缺省的servelt作用:处理请求的资源找不到的问题(404 代表请求的资源找不到)

2.ServletConfig接口
什么是ServletConfig: 它是servlet的配置对象,作用就是获取与servlet的初始化参数。
它的子类是GenericServlet和HttpServlet.
它被实列化是通过web服务器实现的。
得到servletConfig对象:getServletConfig()
ServletConfig常用的方法:
>> 1. 获取servlet的初始化参数的值:getInitParameter(String name):根据encoding获取utf-8
>> 2. 获取servlet初始化参数的名称:getInitParameterNames() :获取encoding和username等名称
>> 3. 得到servletContext对象:getServletContext()
>> 4. 获取servlet的名称:getServletName():
3.ServletContext接口
ServletContext对象是在web服务器启动时就创建了,是web服务器创建的servletContext对象,
每一个web项目只有一个ServletContext对象。
ServletContext对象的作用:获取web应用程序的初始化参数,在web应用程序能共享数据,获取web项目下的资源文件。
得到ServletContext对象:
>>1.通过ServletConfig对象: config.getServletContext()
>>2.直接得到: getServletContext();
1.获取web应用程序的初始化参数(web应用程序就是web项目)
>> 1. 获取全局初始化参数的值:getInitParameter(String name)
>> 2. 获取全局初始化参数的名称:getInitParameterNames()
3.获取Web下面的资源文件
通过ServletContext对象能够获取Web项目下面文件的字节输入流,或者文件的绝对路径。
路径问题:
普通java项目:直接使用jdk编译java文件,所以说文件的路径是相对于工作空间。
web项目:运行在tomcat服务器上面的,所有说文件的路径是相对于tomcat服务器。
服务器端是没有src这个目录,写路径不能写src,必须相对于tomcat服务器端的路经。
1.获取文件的自己输入流:路径是相对于tomcat服务器的路径
InputStream in =getResourceAsStream(String path)
2.获取文件的绝对路径:路径是相对于服务器端的路径
String realPath = getRealPath(path);

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值