Javaweb笔记之-Servlet(1)

1.Servlet是什么?(Servlet提供的功能大多与JSP相似,不过实现的方式不同。JSP通常是大多数的HTML代码中嵌入少量的java代码,而Servlet全部由Java写成并且生成HTML。)

  • Servlet是Java Web的三大组件之一,它属于动态资源,必须运行在web容器中(Tomcat)。
  • 本质上Servlet就是一个Java类,即继承HttpServlet。
  • HttpServlet中定义了很多方法,自定义的Servlet类必须覆盖其中的方法,一般情况下,只覆盖doGet或doPost。

2.如何配置Servlet
Servlet是组件,所以不能够像JavaSE类那样,使用main方法自定义对象来访问,必须放在容器中,使用容器访问。
*访问之前,必须配置Servlet,在web.xml中配置Servlet。其中<url-pattern>是访问Servlet使用的路径。
在这里插入图片描述在这里插入图片描述
3.如何访问Servlet

  • 直接在地址栏中输入URL访问,调用doGet方法(默认提交方式是GET)

  • 使用form表单提交访问,在action中指定Servlet的URL,如果form的method是GET,表单调用doGet方法,如果form的method是POST,调用doPost方法。
    在这里插入图片描述

  • 使用超链接访问,在href处指定Servlet的URL。(默认的提交方式是GET)在这里插入图片描述
    总结:
    在这里插入图片描述
    4.Servlet的继承关系(Servlet类有我们自己来写,但对象由服务器来创建,并且由服务器来调用相应的方法)
    在这里插入图片描述

  • 两个顶级接口
    **Servlet
    **ServletConfig

  • 接口的实现类
    **GenericServlet

  • 基于HTTP协议的实现类
    **HttpServlet

ServletConfig Servlet的配置信息,常用来在Servlet初始化时进行信息传递(一个ServletConfig对象,对应一段Servlet的配置信息)
API:
String getServletName(String name);获取的是<servlet-name>中的内容。
ServletContext getContext();获取Servlet运行的上下文环境对象,可以获取对应信息(如Servlet路径)。
String getInitParameter(String name);通过名称获取指定初始化参数的值(web.xml中配置的init-param)。“ServletConfig接口中定义了此方法获得Servlet的初始化参数。而自定义的Servlet类又间接实现了该接口,因此可以下Servlet类中任意方法中直接调用该方法,获得初始化参数。多数情况建议在init方法中获得”

继承javax.servlet.GenericServlet类
在这里插入图片描述HttpServlet 基于Http协议的实现类
在这里插入图片描述5.Servlet的生命周期
Servlet生命周期可被定义为从创建直到销毁的整个过程,主要包括初始化、加载、实例化、服务、销毁这几个阶段。
遵循过程:
1.初始化阶段:Servlet通过init()方法进行初始化(该方法只调用一次,它在第一次创建Servlet时被调用,在后续每次用户请求时都不再调用)
注:一个Servlet对象默认情况下,在第一次访问Servlet的时候被初始化,而且只初始化一次,可以在web.xml中<servlet>下进行配置
在这里插入图片描述
注意:1不是数量,而是Servlet之间的启动顺序(默认值是0)。

2.响应客户端请求阶段:servlet通过调用service()方法来处理客户端请求;由service方法根据提交方式选择执行的doGet()方法或者是doPost方法。

3.终止阶段:servlet通过调用destory()方法终止(结束)(该方法只会被调用一次,在servlet声明周期结束时被调用,可以让servlet关闭数据库连接、可以停止后台线程。在destory被调用之后,servlet对象被标记为垃圾回收)。

4.最后,Servlet是由JVM的垃圾回收器进行垃圾回收。
在这里插入图片描述总结:
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值