Java学习日记 20210430 Servlet + ServletConfig +ServletContext + 注解开发Servlet

Servlet是运行在Java服务器端的程序,用于接收和响应来自客户端基于HTTP协议的请求。
如果想实现Servlet的功能,可以通过实现javax.servlet.Servlet接口或者继承它的实现类。
核心方法:servlet(),任何客户端的请求都会经过该方法。

servlet关系视图:
			Servlet(接口)--实现--GenericServlet(抽象类) --继承--   HttpServlet(抽象类)

Servlet实现方法:
1. 实现Servlet接口,要实现所有的抽象方法,这种方式支持最大程度的自定义。
2. 继承GenericServlet抽象类,必须重写Servlet方法,其他方法可选择性的重写,该方式让我们开发Servlet变得简单。但是这种方式和HTTP无关。
3. 继承HttpServlet抽象类,需要重写doGet和doPost方法,该方式表示请求和响应都需要和Http协议相关。

Servlet生命周期:
		出生:请求第一次到达Servlet的时候,对象就创建出来,并初始化成功。只出生一次,把对象放在内存中。
		活着:服务器提供服务的整个过程,该对象一直存在,每次都是执行Servlet()方法.
		死亡:当服务器停止时,或者服务器宕机时,对象死亡,就是销毁。

Servlet是单例模式。

Servlet映射方式:  优先级  1>2>3
	1.具体名称的方式。访问的资源路径必须和映射配置完全相同。
	2./开头 + 通配符的方式。只要符合目录结构即可,不用考虑结尾是什么。
	3.通配符 + 固定格式结尾的方式。只要符合固定结尾方式即可,不用考虑前面额的路径。

ServletConfig
ServletConfig是Servlet的配置参数对象,在Servlet规范中,允许为每一个Servlet提供一些初始化的配置。所以每一个Servlet都有一个自己的ServletConfig。
作用是 在Servlet的初始化时,把一些信息传递给Servlet。
生命周期和Servlet相同。

常用方法:
	getInitparameter(String name)      根据参数名称获取参数的值
	getInitParameterNames()			   获取所有参数名称的枚举
	getServletName()						   获取Servlet的名称
	getServletContext()					   获取ServletContext对象

ServletConfig
ServletContext是应用上下文对象(应用域对象)。每一个应用中只有一个ServletContext对象。
作用:可以配置和活得应用的全局初始化参数,可以实现Servlet之间的数据共享。
生命周期:应用一加载则创建,应用被停止则销毁。

域对象: 是指对象有作用域。也就是有作用范围。域对象可以实现数据的共享。不同作用范围的域对象,共享数据的能力也不一样。
在servlet规范中,一共有四个域对象。ServletContext就是其中一个。它也是web应用中最大的作用域,也叫application。它可以实现整个应用之间的数据共享。

配置;: 在<web - app>标签中 通过标签来配置。有两个子标签。 一个代表key 一个代表value。

ServletContext常用方法
getInitParameter(String name) 根据配置获取全局配置的参数
getContextPath() 获取当前应用的访问虚拟目录
getRealPath(String path) 根据虚拟目录获取应用部署的磁盘绝对路径

	setAttribute(String name,Object value)         向应用域对象中存储数据
	getAttribute(String name)								 	  通过名称获取应用域对象中的数据
	removeAttribute(String name) 							  通过名称移除应用域对象中的数据

注解开发Servlet*
自动注解开发的实现步骤:
1.创建一个web项目
2.定义一个类,继承HttppServlet。
3.重写doGet和doPost方法。
4.在类上使用@WebServlet注解配置Servlet。
5.部署启动项目
6.在浏览器测试

在这里插入图片描述

手动创建容器的实现步骤
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淡抹宜人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值