前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Servlet简述

Servlet简述

作者头像
木瓜煲鸡脚
发布2019-08-16 12:53:06
4990
发布2019-08-16 12:53:06
举报
文章被收录于专栏:Jasper小笔记Jasper小笔记

Servlet

IT那个小笔记

  1. 什么是Servlet
  2. Servlet的使用
  3. Servlet生命周期
  4. 配置文件

什么是Servlet

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

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

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

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

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

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中

代码语言:javascript
复制
 <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。

代码语言:javascript
复制
http://localhost:8080/myweb/tttt

通过这样一个请求就会找到<url-pattern>相匹配的<servlet-mapping>知道名字是Test,再去多对的<servlet>中去找到名字是Test的<servlet>然后就通过它的<servlet-class>访问到文件

还有ServletConfig对象

此对象可以访问获取配置文件的信息

在init方法中Tomcat就会自动传入一个ServletConfig对象config

代码语言:javascript
复制
/* 获取当前servlet配置的标识名 */
config.getServletName();
代码语言:javascript
复制
/* 配置文件可以给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("参数名");
代码语言:javascript
复制
/* 除此之外还可以获得ServletContext */
ServletContext sc = config.getServletContext();
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT那个小笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档