重定向

重定向

什么时候重定向

以员工管理信息为例:
添加员工,访问SaveServlet,添加成功后,通知浏览器显示添加后的数据库中的所有数据,指定浏览器访问FindAllServlet

Servlet映射路径

精确匹配

<url-pattern>/save.do</url-pattern>
http://ip:port/appName/save.do

通配符匹配

<url-pattern>/*</url-pattern>
http://ip:port/appName/任意路径

后缀匹配

<url-pattern>*.do</url-pattern>
http://ip:port/appName/以.do结尾的任何路径

优先级:精确匹配 > 通配符匹配 > 后缀匹配

一个Servlet处理多个请求

方案一:

使用精确匹配,多个请求向Servlet中传递参数
弊端:需要传递一个没有业务意义的参数

方案二

使用后缀匹配
获取请求资源路径,并解析
String uri = request.getRequestURI();
uri.substring();

Servlet的生命周期

阶段一:实例化

容器调用Servlet的构造器,创建一个Servlet对象

实例化Servlet的时机
情景一 : 开始容器中没有Servlet对象,只有第一次收到请求后才创建Servlet对象
情景二 : 容器启动之后,立即创建Servlet的对象
Servlet作为整个应用的(核心)前端控制器

<!-- 默认级别 0、1、2 -->
<load-on-startup>2</load-on-startup>

阶段二:初始化

容器在创建Servlet之后,会立即调用init()方法。
init()方法只会执行一次。

自动创建一个ServletConfigure对象,用于封装Servlet的参数

阶段三:就绪

调用Service()方法,实现功能。每请求一次调用一次。

阶段四:销毁

容器根据自身的算法删除Servlet对象,删除前会自动调用destory()方法。
destory()方法只会被执行一次。

浏览器servlet.do —> 访问servlet
容器创建哪些对象?
Request、Response、XXXSevlet、ServletConfig

Servlet核心类

GenericServlet
HttpServlet
UserServlet extends HttpServlet
UserServlet implements Servlet

Servlet上下文

作用:
1.绑定数据,获取绑定数据
context.setAttribute()
context.getAttribute()
2.获取服务器相关数据
context.getRealPath(“file”);

获取Servlet上下文

  • GenericServlet对象中的getServletContext()
  • ServletConfig对象中的getServletContext()

Servlet上下文的作用

  • setAttribute() 设置绑定数据
  • removeAttribute() 移除绑定数据
  • getAttribute() 获取绑定数据

Servlet上下文中绑定的数据可以被整个容器上的所有组件共享,并且一直可以被访问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值