Servlet(一)----快速入门
## Servlet:server applet
* 概念:运行在服务端的小程序
* servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。
* 将来我们自定义一个类,实现servlet接口,复写方法。
* 快速入门
1、创建javaee项目
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> </dependency>
2、定义一个类,实现Servlet接口
public class ServletDemo01 implements Servlet
3、实现接口中的抽象方法
4、配置Servlet(在web.xml中配置)
<servlet> <servlet-name>RequestTest</servlet-name> <servlet-class>com.seu.servlet.RequestTest</servlet-class> </servlet> <servlet-mapping> <servlet-name>RequestTest</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping>
* 执行原理
1、当服务器接收到客户端的浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径。
2、查找web.xml文件,是否有对应的<url-pattern>标签体内容。
3、如果有,则在找到对应的<servlet-class>全类名。
4、Tomcat会将字节码文件加载进内存,并且创建其对象。
5、调用方法。
* Servlet中的生命周期
1、被创建:执行init方法,只执行一次
* servlet什么时候被创建?
* 默认情况下,第一次被访问时,Servlet被创建
* 可以配置执行Servlet的创建时机
<!--指定Servlet的创建时机:1、第一次被访问时,创建。值为负数 2、在服务器启动时,创建。值为正整数或0--> <load-on-startup>5</load-on-startup>
* Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的。
* 多个用户同时访问时,可能存在线程安全问题。
* 解决:尽量不要再Servlet中定义成员变量。即使定义了成员变量,也不要对其修改值。
2、提供服务:执行service方法,执行多次
* 每次访问Servlet时,service方法都会被调用一次。
3、被销毁:执行destroy方法,执行一次
* Servlet被销毁时执行。服务器关闭时,Servlet被销毁。
* 只有服务器正常关闭时,才会执行destroy方法。
* destroy方法在Servlet销毁之前执行,一般用于释放资源。
原文地址:https://www.cnblogs.com/21seu-ftj/p/12442517.html
- Jquery filter()方法简介
- 加拿大滑铁卢大学刘腾博士:平行增强学习及其无人驾驶应用
- 曾六位数被秒的yadea.com 终端真是雅迪!
- 2018年IT行业必须面对的7个改变
- SqlTransaction 数据库编程事务使用示例
- 再谈web.config/app.config敏感数据加/解密的二种方法
- NVIDIA颁布最新禁令,GeForce不能再行深度学习了!
- 2017年终盘点:请留意这七项科学技术的最新进展
- 什么叫做真正的无人驾驶汽车?难道真的没有人么?
- 零基础学习人工智能之Python篇1-Python定义
- aspx超时问题容易忽略的细节
- 给最后一周下个猛料,JavaScript 2017 使用调查!
- MongoDB快速入门
- AI:被过度夸大
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Unlock a VBA password protected Excel file By HKL,
- kde安装gtk主题(kde-gtk-theme)KDE4下gtk程序美化 By HKL,
- Monkey's Audio vs. WavPack vs. FLAC By HKL,
- 彻底屏蔽优酷广告 By HKL, Monday 12 Au
- C# 如何给Winform的button等控件添加快捷键 By HKL,
- kmskeys10 By HKL, Saturday 7
- C# Random 生成不重复随机数 By HKL, We
- Resin4配置 By HKL, Thursday 11
- 从源码编译N(ginx)+M(ySQL)+P(HP)并安装WordPress By HKL,
- MPEG4视频中,I帧、p帧、B帧的判定(转载) By HKL,
- 使用attrib命令解决存储器中毒后文件夹被隐藏的方法 By HKL,
- 在Archlinux上通过qemu运行ReactOS By HKL,
- Archlinux下解决wireshark普通用户抓包权限问题 By HKL,
- 使用jemalloc对nginx进行优化 By HKL,
- 配置IIS6+PHP5.6+MySQL5 By HKL,