介绍: 提供动态Java web资源开发技术
是一种 接口 需要定义servlet 实现类实现 接口,并且 由web 服务器运行
动态web 资源是不同用户访问得到不同的结果
由tomcat 创建
接口有五个方法 需要实现类 全部实现
快速入门:
创建 web项目 导入servlet 依赖坐标
<dependency>
创建:定义一个类 实现servlet 接口 并且重写接口中所有的方法 ,并且在 service 方法中输出一句话,代表被执行,
配置 在 类上使用@web servlet 注解,配置该servlet 的访问路径
访问 启动tomcat 浏览器 输入URL 并且访问额该servlet
执行流程
由web服务器 创建 由服务器 调用
服务器通过接口知道service 方法 所以可以调用service方法
生命周期
加载和实例化 当servlet 第一次被访问的时候 由容器创建servlet 对象
初始化 当servlet 实例化以后 容器调用init 方法初始化这个对象 完成加载配置 初始化的 一些工作 只调用一次
请求处理 调用service方法
服务终止 调用destroy 方法
init 方法 调用时间 默认情况 servlet 被第一次访问的时候 调用init 只调用一次
service 方法 每一次被访问 多次调用
destroy 在servlet 被销毁 内存释放或者服务器官关闭 对象被销毁 调用一次
属性 loadon startup 通过属性配置修改创建的时间
servlet 方法 介绍
get servlet info 用来返回一些信息 不常见 返回空字符串一般 或者return null
get servlet configure 在一方法里 使用另一个方法局部变量 将局部变量的作用域提升到成员变量 类里面都可以用在此方法里返回init 的 configure 对象
体系结构
servlet —generic servlet — http servlet
体系根接口 抽象实现类 对http 协议封装的实现类
由于web项目是BS架构 所以定义的是针对http协议的 继承http servlet
继承http servlet doget dopost 俩个方法
post需要表单 指定post方式 指定submit 为input type
httpservlet为什么要根据不同的请求方式调用不同的方法 如何调用 http协议有七个不同的请求方式 已经被封装了,不同的请求方式的不一样的情况需要分开处理
protected 表示将来子类可以看到父类的方法
url pattern 配置
servlet 要想被访问 必须访问其路径 URLpattern
一个servlet 可以配置多个URLpattern @web servlet (URL patterns ={})
URLpattern 配置规则
精确匹配 目录匹配 扩展名匹配 任意匹配
/和/*的区别 会覆盖掉tomcat中的default servlet 当其他的URLpattern 都不匹配时会走这个servlet
而/*意味着可以任意访问任何路径
request 和response
浏览器 通过载体http 信息传达给服务器 service(request ,response)
request 继承体系
servlet request Java提供的请求对象根接口 ——http servlet request Java提供的对Http协议封装的请求对象接口
request facade tomcat实现类
tomcat 需要解析 请求数据 封装为request 对象,并且创建request 对象传递到service方法中
request 获取请求数据 :请求行 请求头 请求体
x h
只有post请求才有请求体
定于表单 表单数据会提交到 servlet方法里
请求参数获取方式
get方式 :string getquerystring ()
post 方式:bufferedreader getreader ()
get请求方式和post请求方方式主要区别在于获取请求获取请求参数的方式不一样
统一的方法:现先获取请求参数判断 再调用方式
用map 将键值对存储进去 用泛型 map<string,string「」>
getparameter Map() 获取所有参数map集合
string