【JavaWeb】Servlet的学习与应用01

注:本文章基于尚硅谷JavaWeb相关视频及资料进行编写,代码简单,较容易理解,若有问题或者源码资料获取可以在评论区留言或者联系作者!



开篇

什么是Servlet?
1.Servlet是JavaEE的规范之一;(规范就是接口)
2.Servlet是JavaWeb三大组件之一;(Servlet程序,Filter过滤器,Listener监听器)
3.Servlet是运行在服务器上的一个java小程序,它可以接受客户端发送的请求,并相应数据给客户端。

一、手动实现一个Servlet程序

  1. 编写一个类去实现servlet接口
    在这里插入图片描述

  2. 实现service方法 ,处理请求,并响应数据;
    当访问指定请求地址时,会在控制台输出一段话

  3. 到web.xml文件中配置Servlet程序的访问地址;
    在这里插入图片描述
    (4)启动项目。访问http:localhost:8080/06_servlet/hello,控制台输出如下语句,说明第一个Servlet程序正常启动;
    在这里插入图片描述

Servlet的生命周期:

  1. 执行servlet构造器方法

  2. 执行init初始化方法
    * 第一二步是在第一次访问的时候创建Servlet程序的时候会调用

  3. 执行service方法
    *每次访问的时候会调用

  4. 执行destory销毁方法
    *终止程序运行的时候会调用

    一般项目中都是通过继承HttpServlet类的方式来实现Servlet程序

(1)编写一个类去继承HttpServlet类;
(2)根据业务需要重写doGet或doPost方法;
(3)到web.xml中配置Servlet程序的访问地址;

使用IDEA快捷方式创建一个Servlet类:
new–>Create New Servlet
在这里插入图片描述
在这里插入图片描述
然后会自动生成类。之后只需要配置web.xml文件的访问地址和映射地址;


二、Servlet类的继承体系

在这里插入图片描述
(1)Servlet接口:只是负责定义Servlet程序的访问规范
(2)GenericServlet:实现了Servlet的接口,作了很多空实现;并只有一个ServletConfig类的引用。。并对ServletConfig的使用作了一些方法;
(3)HttpServlet类实现了service()方法,并实现了请求的分发处理;这里的doGet和doPost方法只负责抛异常,说不支持GET/POST请求
(4)我们只需要根据自己的业务需要去重写doGet/doPost方法即可;


三、ServletConfig类

Servlet程序的配置信息类。
ServletConfig类的三大作用:
1.可以获取Servlet程序的别名,servlet-name的值
servletConfig.getServletName();

2.获取初始化参数init-param
servletConfig.getInitParameter(参数名)

3.获取ServletContext对象
servletConfig.getServletContext()

Servlet程序和servletConfig对象都是由Tomcat负责创建,我们负责使用。
Servlet程序默认是第一次访问的时候创建,servletConfig是每个servlet程序创建时,就创建一个对应的servletConfig对象;


四、ServletContext类

什么是ServletContext?

(1)ServletContext是一个接口,它表示Servlet上下文对象;
(2)一个web工程,只有一个ServletContext对象实例;
(3)ServletContext对象是一个域对象
(4)ServletContext是在web工程部署启动的时候创建,在web工程挺值得饿时候销毁

域对象:是可以像Map一样存取数据的对象,叫域对象,这里的域指的是存取数据操作的范围;

/存数据取数据删除数据
Mapput()get()remove()
域对象setAttribute()getAttribute()removeAttribute()

ServletContext类的四个作用

1.获取web.xml中配置的上下文参数context.param
可以在web.xml文件中配置context-param

<!--contextparam是上下文参数,它属于整个web工程-->
<context-param>
	<param-name>password</param-name>
	<param-value>root</param-value>
</context-param>

在ContextServlet.java程序中

ServletContext context=getServletCoonfig().getServletContext();
conntext.getInitParameter("passwora");
 

运行结果:
在这里插入图片描述

2.获取当前的工程路径。格式:/工程路径
context.getContextPath()
3.获取工程部署以后在服务器硬盘上的绝对路径
context.getRealPath("/")
“/"映射到web目录,输出以下类似内容
在这里插入图片描述

4.像Map一样存取数据
注意:ServletContext对象可以在任意地方进行增删改操作,且都是操作同一个ServletContext对象;


如果感觉内容写的还不错的话,一键三连不迷路!!!!
后面将会更新更多学习内容,一起学习吧!!!!!!
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

PoJo123

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

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

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

打赏作者

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

抵扣说明:

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

余额充值