servlet

一、servlet的继承关系

public class Servlet extends HttpServlet

public abstract class HttpServlet extends GenericServlet

public abstract class GenericServlet implements Servlet, ServletConfig, Serializable

HttpServlet中有一个重要的方法叫service方法,每当html页面发送请求,servlet就会自动执行这个方法,service会调用doPost或者doGet方法。

二、session会话跟踪技术

1、概念

a给服务器发请求付款购物车中的商品,b又发请求更新购物车,a在付款时可能会对b购物车中的商品付款,因为html是无状态的,servlet无法判断是哪个人给自己发的请求,这时候就需要用到会话跟踪技术。

  1. 当客户端第一次请求会话对象时,服务器会创建一个 Session 对象,并为该 Session 对象分配一个唯一的 SessionID(用来标识这个 Session 对象);
  2. 服务器将 SessionID 以 Cookie(Cookie 名称为:“JSESSIONID”,值为 SessionID 的值)的形式发送给客户端浏览器;
  3. 客户端浏览器再次发送 HTTP 请求时,会将携带 SessionID 的 Cookie 随请求一起发送给服务器;
  4. 服务器从请求中读取 SessionID,然后根据 SessionID 找到对应的 Session 对象。

 

 

 银行页面一段时间不操作就退出登录,就是会话失效了。

2、session保存作用域

一个会话可以向session的保存作用域中储存一个键值对,过一段时间这个会话又可以取出这个键值对(只要会话不失效),键值对存放在某一处内存中。别的会话想要获取这个键值对是不行的。

 假如我的一个项目有两个网站,同一个浏览器,先访问第一个网站,在第一个网站上保存了数据,然后又访问第二个网站,希望得到刚刚的数据,这是可行的,因为虽然网站变了,但是是同一个session。但是如果我在一个浏览器上储存一个数据,在另一个浏览器上得到访问,那就不行,因为session变了。

一些方法(key value):

我们可以用这样的方法获取数据库中的内容并存储在session保存作用域中。 

String data=DB.getdata();
HttpSession session=request.getSession();//request 是doGet方法中传进来的参数
session.setAttribute("DATA",data);//键+值

3、服务器转发和客户端重定向

[javaweb] servlet 服务器端转发和客户端重定向 (四)_半岛铁盒@的博客-CSDN博客

 用户注册的时候,假如没有账号,需要注册一个,那点击一下链接需要跳转页面,我们可以使用客户端重新定向,跳转到一个新的页面。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值