Servlet简述

#2020云栖大会#阿里云海量offer来啦!投简历、赢阿里云限量礼品及阿里云ACA认证免费考试资格!>>> hot3.png

Servlet

IT那个小笔记

  1. 什么是Servlet

  2. Servlet的使用

  3. Servlet生命周期

  4. 配置文件

什么是Servlet

Servlet 运行在服务端的Java程序,是sun公司提供一套规范(接口)


用来处理客户端请求、响应给浏览器的动态资源


servlet的实质就是java代码,通过java的API动态的向客户端输出内容

以后写的程序就不在是在本地执行了。而是编译成字节码,放到服务器上来去执行。


编写程序时, 不需要有main函数了。因为写完后,就把编写的程序编译成字节码,放到服务器上面。当前发送就一个请求的时候,服务器就会按照一定规则调用编写的代码


5f0b0e3baf8da23e6375863cdda5eca49d5.jpg


Servlet的使用

1.创建一个web工程

2.src中新建class文件

3.进入该class实现一个Servlet接口,实现它未实现的方法

4.在web.xml当中进行配置

Servlet的生命周期

init( ),service( ),destroy( )是Servlet生命周期的方法。代表了Servlet从“出生”到“工作”再到“死亡 ”的过程。Servlet容器(例如TomCat)会根据下面的规则来调用这三个方法:


init( )

  • 当Servlet第一次被请求时,Servlet容器就会开始调用这个方法来初始化一个Servlet对象出来,但是这个方法在后续请求中不会在被Servlet容器调用,之后会直接用之前第一次缓存好的对象。我们可以利用init( )方法来执行相应的初始化工作。调用这个方法时,Servlet容器会传入一个ServletConfig对象进来从而对Servlet对象进行初始化。


service( )

  • 每当请求Servlet时,Servlet容器就会调用这个方法。每次请求都会调用。第一次请求时,Servlet容器会先调用init( )方法初始化一个Servlet对象出来,然后会调用它的service( )方法进行工作,但在后续的请求中,Servlet容器只会调用service方法了。


destory( )

  • 当要销毁Servlet时,Servlet容器就会调用这个方法,在卸载应用程序或者关闭Servlet容器时,就会发生这种情况,一般在这个方法中会写一些清除代码。

配置文件

首先是web.xml
一个web应用就会有一个web.xml。它包含着整个应用的配置信息
请求通过server.xml找到web应用之后的处理就在此web应用的web.xml中

07604a4e487a86204e97eda97f47fcc96f5.jpg

 <servlet>    <description></description>    <servlet-name>Test</servlet-name>    <servlet-class>com.hao.servlet.Test</servlet-class>  </servlet>    <servlet-mapping>    <servlet-name>Test</servlet-name>    <url-pattern>/tttt</url-pattern>  </servlet-mapping>
每添加一个servlet就会添加这样一对,servlet标签中的<servlet-name>是自定义当前servlet的标识名,<servlet-class>是当前servlet文件的位置全限定名,servlet-mapping标签是一个映射通过它来找到servlet。
http://localhost:8080/myweb/tttt
通过这样一个请求就会找到<url-pattern>相匹配的<servlet-mapping>知道名字是Test,再去多对的<servlet>中去找到名字是Test的<servlet>然后就通过它的<servlet-class>访问到文件
还有ServletConfig对象
此对象可以访问获取配置文件的信息 在init方法中Tomcat就会自动传入一个ServletConfig对象config
/* 获取当前servlet配置的标识名 */config.getServletName();
/* 配置文件可以给servlet添加一些键值对,在程序中通过config来访问 */<servlet>    <description></description>    <display-name>Test</display-name>    <servlet-name>Test</servlet-name>    <servlet-class>com.hao.servlet.Test</servlet-class>        <init-param>        <param-name>参数名</param-name>        <param-value>参数值</param-value>    </init-param>  </servlet>    config.getInitParameter("参数名");
/* 除此之外还可以获得ServletContext */ServletContext sc = config.getServletContext();


f439b2605c9702e0bc0057d87fd5d3fc635.png 49c11ae0743ce234b875c007d9664b3581c.gif

勤学如春起之苗,不见其增,只有所长。辍学如磨刀之石,不见其增,日有所亏

3a4bc41332b0290217520174c15a267c4f6.jpg



4b6b5ad1c2bab1498d02a46b8f12b39a537.png

本文分享自微信公众号 - IT那个小笔记(qq1839646816)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值