Servlet技术

大纲

  1. Servlet技术
  2. 接口及实现类
  3. servlet配置
  4. cookie&session
  5. 转发与重定向
  6. 过滤器与监听器
  7. Servlet并发技术
  8. Jsp

1. Servlet技术

Servlet == Server + Applet
Server:服务端
Applet:Java的应用程序
即,Servelet是运行在服务端的Java程序。
Servlet无main方法,运行在容器中的程序。
即:一个Servlet就是一个Java类,并提供基于请求-响应模式的Web服务

Servlet容器

  • 装载和管理Servlet
  • 服务端程序:负责把请求转发给Servlet,交由Servlet处理

2. Servlet接口与实现类

Servlet生命周期
init —> service (doGet、doPost)—> destroy
在这里插入图片描述
注:doGet方法被调用了,所以没有显示

get & post

  • 传输方式

HTTP header & HTTP body
URL可见 & URL不可见

  • 设计目的

获取数据 & 发送数据

  • 安全性

高 & 低

ServletContext

  • 通过配置文件共享全局配置信息。
  • 通过ServletContext属性实现不同Servlet之间通信。
  • 读取资源配置文件信息
  • Servlet转发

3. Servlet配置

ServletMapping匹配规则

  • 精确路径匹配,完全匹配
  • 最长路径匹配,最长前缀匹配
  • 后缀名匹配
  • default servlet或者放弃

注,上述规则优先级递减

举例:

url映射Servlet
/helloServlet1
/hello/*Servlet2
/hello/world/*Servlet3
*.jspServlet4
/Servlet5

/hello -精确匹配-> Servlet1
/hello/world/index -最长路径匹配-> Servlet3
/admin.jsp -后缀名匹配-> Servlet4
/world -default servlet-> Servlet5
/hello.jsp -后缀名匹配-> Servlet4
/hello/world/hello.jsp -最长路径匹配-> Servlet3

如果需要在Servlet容器启动时执行操作

<servlet>
	<load-on-startup>0</load-on-startup>
	.....
</servlet>

load-on-startup改变Servlet默认初始化时间
大于或等于0时,在启动时就会加载该servlet
有多个大于或等于0时,数值小的servlet,优先级高
小于0,或者没有设置时,表示该servlet会在第一次请求时加载

4. Cokkie&Session

  • Cookie:会话数据保存在浏览器客户端(key-value)
  • Cookie的生命周期:

默认会话结束后失效
setMaxAge设置cookie的有效期

  • Cookie的缺陷

大小和数量限制
数据安全性问题

  • Session:会话数据保存在服务器端
  • Session的生命周期:

默认有效期30分钟
setMaxInactiveInterval设置有效期
部署描述符配置有效期
invalidate使session失效

5. 转发与重定向

转发
forword
一次请求,一次响应。对浏览器是透明的。
地址栏的url是不会变的

重定向
sendRedirect
通过response对象发送给浏览器一个新的url地址,让其重新请求。
比如,登录请求
两次请求,两次响应。

6. 过滤器与监听器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值