JavaEE学习笔记(2)-------Servlet

一、什么是Servlet?
Servlet本质上是Java程序——依赖jdk环境
Servlet装配到哪里?——装配到Tomcat容器当中
Servlet的作用?——总的来说,是帮助tomcat服务器扩大对Web应用的功能(增强健壮Web功能)。其装配在Tomcat之中,可以理解为,是tomcat的一个扩展功能的插件。拆开来讲,实际上servlet有两个主要的功能:1.创建动态web页面。2.处理请求、返回响应
流程:浏览器向服务器发送请求,服务器将请求交给Servlet容器处理,Servlet将响应由服务器返还给浏览器
二、Servlet API
每一个自定义的Servlet都需要继承HttpServelt

HttpServelt( 基于Http 协议 )——>GenericServlet(无协议的)——>超级接口:Servlet接口【定义了Servlet生命周期相关的方法】 和 ServletConfig【Servlet配置相关的方法(如获得初始化参数等等)】 ( 序列化接口 )

在这里插入图片描述

在这里插入图片描述

HttpServletRequest:包含了请求的相关信息,携带了发送请求方,也就是浏览器的一些信息

HttpServletResponse:包含了响应的相关信息,实际上里面可以携带服务器想传送给浏览器的信息

三、如何创建并使用一个Servlet
在这里插入图片描述

第一步:创建类继承HttpServlet,并重写doGet()/doPost()
在这里插入图片描述

第二步:配置servlet
在这里插入图片描述

① 在web.xml中进行配置

firstServlet
com.test.servlet.MyFirstServlet


firstServlet
/first

② 通过注解配置(@WebServlet()),例如:@WebServlet(description = “mysecondservlet”, urlPatterns = { “/second”, “/mysecondservlet” }, initParams = {
@WebInitParam(name = “num”, value = “3”) })

第三步:访问servlet
在这里插入图片描述

通过地址栏访问
http://127.0.0.1/TestWeb2/first
发送Get请求,调用Servlet当中的doGet方法
通过超链接访问

发送Get请求,调用Servlet当中的doGet方法
通过表单控件提交访问
表单当中的action指定需要访问的url的路径
表单当中的method指定发送请求的方式(post/get)
四、生命周期
1.实例化——构造方法的调用
2.初始化——init()
3.工作——service()/doGet()/doPost()
4.销毁——destory()

Tip:
1.什么时候实例化和初始化?一般情况下,servlet被第一次访问的时候进行先实例化、再初始化,值得说明的是,实例化和初始化方法仅会执行一次。
特殊情况:可以通过改变实例化和初始化的时间
2.一般情况下,先调用service(),再由service方法根据请求的method方式分配到不同doXXX()。如果没有重写service()方法,那么就直接执行对应method的doXXX()方法。值得说明的时,访问几次servlet,service()/doXXX()就会执行几次
3.销毁方法是当服务停止的时候,或者servlet容器重新载入(Servlet程序文件被修改)的时候调用
4.Tomcat容器当中装载了Servlet容器,Servlet容器当中,每一个部署到Tomcat当中的项目,都会有一个上下文容器,那么每个项目的servlet实际上就是上下文容器去实例化的。

五、Servlet配置
1)通过改变servlet实例化的时机
① 值只能为整数
② 当值为0或者负数的时候表示,只有第一次访问servlet的时候才会对其进行实例化。
③ 当值为正数的时候,就意味着,当servlet容器装配好,我们的servlet实例就会被创建
④ 当值为正数的时候,值越小,优先级越高
⑤ 是写在web.xml文件的指定的当中的,不可以给其它的servlet共享。

2)通过进行初始化参数的赋值

key
value

3)通过ServletConfig.getParameterValue(String key) 获取servlet初始化参数的值
4)以上两个内容的设置都是既可以用web.xml进行配置的,又可以使用注解进行的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值