JavaWeb(二) - Servlet:重定向和转发,状态管理,Cookie和Session技术

本文介绍了JavaWeb中Servlet的重定向和转发,包括概念、实现方式、特点以及两者的比较。同时,详细讲解了Cookie和Session技术,包括基本概念、生命周期、特点和相关方法,探讨了状态管理在Web应用中的重要性。
摘要由CSDN通过智能技术生成

目录

1. Servlet + JDBC 应用

2. 重定向和转发

2.1 重定向的概述

2.2 转发的概述

2.3 重定向和转发的比较

2.4 Servlet 线程安全

2.5 状态管理

3. Cookie 技术

3.1 基本概念

3.2 相关的方法

3.3 Cookie 的生命周期

3.4 Cookie 的路径问题

3.5 Cookie 的特点

4. Session 技术

4.1 基本概念

4.2 相关的方法

4.3 Session 的生命周期

4.4 Session 的特点


1. Servlet + JDBC 应用

在 Servlet 中可以使用 JDBC 技术访问数据库,常见功能如下:

  • 查询 DB 数据,然后生成显示页面,例如:列表显示功能。

  • 接收请求参数,然后对 DB 操作,例如:注册、登录、修改密码等功能。

为了方便重用和便于维护等目的,经常会采用 DAO(Data Access Object)模式对数据库操作进行独立封装。

DAO 工厂(工厂模式):工厂类封装了对象的创建细节,为调用者提供符合要求的对象。


2. 重定向和转发

2.1 重定向的概述

概念

首先客户浏览器发送 http 请求,当 web 服务器接受后发送 302 状态码响应及对应新的 location 给客户浏览器,客户浏览器发现是 302 响应,则自动再发送一个新的 http 请求,请求 url 是新的 location 地址,服务器根据此请求寻找资源并发送给客户。

实现:

实现重定向需要借助 javax.servlet.http.HttpServletResponse 接口中的方法:

方法声明 功能介绍
void sendRedirect(String location) 使用指定的重定向位置 URL 向客户端发送临时重定向响应

原理:

  • 当执行添加页面功能时,浏览器发送 add.do 请求给 Tomcat 服务器;

  • Tomcat 服务器的 AddServlet 收到 add.do 请求后,先访问数据库 DB 执行插入新数据的操作,然后发送 302 状态码及重定向的新地址 Location: list.do 信息到浏览器;

  • 浏览器根据新地址发送 list.do 请求给 Tomcat 服务器;

  • Tomcat 服务器的 ListServlet 收到 list.do 请求后,先访问数据库 DB 获取 list 数据,然后发送 200 状态码及 list 数据到浏览器;

  • 浏览器根据 list 数据展示页面。

特点:

重定向之后,浏览器地址栏的 URL 会发生改变。

重定向过程中会将前面 Request 对象销毁,然后创建一个新的 Request 对象。

重定向的 URL 可以是其它项目工程。

2.2 转发的概述

转发的概念:

一个 Web 组件(Servlet/JSP)将未完成的处理通过容器转交给另外一个 Web 组件继续处理,转发的各个组件会共享 Request 和 Response 对象。

转发的实现:

  • 绑定数据到 Request 对象
方法声明 功能介绍
Object getAttribute(String name) 将指定属性值作为对象返回,若给定名称属性不存在,则返回空值
void setAttribute(String name,Object o)</
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值