博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Servlet从浅入深
阅读量:5933 次
发布时间:2019-06-19

本文共 1275 字,大约阅读时间需要 4 分钟。

Servlet是什么

         servlet 是运行在 Web 服务器中的小型 Java 程序(即:服务器端的小应用程序)。

         servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端的请求。

一.执行过程

          

 

二.生命周期

         实例化------》初始化--------》服务-------》消亡

      出生           实例化----》初始化                 (第一次访问Servlet就出生了:默认情况下)

      活着           服务           应用活着Servlet就活着 

      死亡           消亡           应用卸载了   Servlet就消亡了

三.创建Servlet的三种方式

  a.实现javax.servlet.Servlet接口(参见:编写一个servlet程序:)

  b.继承javax.servet.GenericServlet类(适配器模式)

 

  c.继承javax.servlet.http.HttpServlet类(模板方法设计模式)

(开发中常用方式)

Servlet --> GenericServlet --> HttpServlet  (继承HttpServlet)

曾祖父           爷爷                        爸爸             孙子

小技巧:使生成的servlet更清新一些

找到:MyEclipse\Common\plugins目录

把com.genuitec.eclipse.wizards_9.0.0.me201108091322.jar复制到上面目录

 

servlet的映射细节1.

lifeCycleDemo()
lifeCycleDemo.ServletCreate

一个完整的映射(可以配置多个映射路径)

lifeCycleDemo
/Demo1
 

映射细节2:

通配符* 代表任意字符串

  url-pattern: *.do  以*.字符串的请求都可以访问 注:不要加/  url-pattern: /*  任意字符串都可以访问  url-pattern: /action/* 以/action开头的请求都可以访问

匹配规则:

优先级:从高到低

绝对匹配-->  /开头匹配 --> 扩展名方式匹配

如果url-pattern的值是/,表示执行默认映射。所有资源都是servlet

二、Servlet的线程安全

  servlet的创建时时机:第一次调用会创建该对象。

但是里面的方法会在栈中执行完后进行销毁。但有些资源(成员变量)会存在共享

单实例:每次访问多线程

解决线程安全问题的最佳办法,不要写全局变量,而写局部变量。

三.  servlet的消亡方法 

手动调用servlet的消亡方法,servlet并不会消亡,只会在tomcat关闭的情况下才会进行销毁。

消亡方法可以进行资源的额释放等操作  

转载于:https://www.cnblogs.com/fjkgrbk/p/servlet.html

你可能感兴趣的文章
特殊回文数(蓝桥杯)
查看>>
记在邮件之外的
查看>>
Virtual Key Codes
查看>>
Java反射中的Type和GenericDeclaration
查看>>
如何解压缩后缀名为zip.001,zip.002等的文件
查看>>
我的一起开源网 www.17ky.net上线了
查看>>
OSGI企业应用开发(十二)OSGI Web应用开发(一)
查看>>
二维数组排序可以用php内置函数
查看>>
一些兼容性的知识
查看>>
标准库 string类型和字符串字面值
查看>>
eclipse tomcat maven热部署
查看>>
写给网页设计师的视觉设计基础手册
查看>>
Linux 笔记
查看>>
hdu1008Elevator
查看>>
Hadoop之Storm其他_pom
查看>>
windows环境Caffe安装配置步骤(无GPU)及mnist训练
查看>>
软件工程专题(摘自中国软考联盟)
查看>>
阅读作业(2)---Sheldon Peng‘s[彭笑东版]
查看>>
Python 以指定概率获取元素
查看>>
最大子序列
查看>>