当前位置 : 主页 > 编程语言 > java >

JSP——状态管理

来源:互联网 收集:自由互联 发布时间:2021-06-25
状态管理 1 复习 跳转到一个显示内容页面,思考一下这个页面的数据是否来源数据库的数据? 如果不需要直接跳转过去. 如果需要,则要进入处理页(servlet,控制器)查数据,将查出来的数据放

状态管理

1 复习

跳转到一个显示内容页面,思考一下这个页面的数据是否来源数据库的数据?

如果不需要直接跳转过去.

如果需要,则要进入处理页(servlet,控制器)查数据,将查出来的数据放入请求域中(request.setAttribute),转发到相应的显示数据的页面.

 

如果当前页面正在执行添加数据的操作,表单将提交的数据发送给后台处理页,处理页通过request.getParameter方式获取,并进行数据库添加数据操作.

 

 

2  session

session会话:一个会话就是浏览器与服务器之间的一次通话,包含浏览器与服务器之间的多次请求、响应过程 .

session生命周期:指一个浏览器开始,到浏览器关闭这段时间,session都是有效的.

 

转发和重定向都不影响session的值的传递.

在服务器启动期间,浏览器没有关闭期间,Session保存的数据是同一个浏览器的所有页面共享.

Session和request一样,其域中的数据都是保存在服务器上.

 

Session默认有效时间是半个小时

 

常用的方法

 

 

 

 

Invalidate方法通常用于退出登录

 

Session 只保存一些重要的数据,并且这些数据在大多数的页面上都能使用得到.比如说登录的用户对象,或者图形验证码.

 

3  application

类似”全局变量”,不管哪个用户都能访问的对象.

生命周期:服务器开启到服务器关闭这段时间都有效

常用方法:

 

 

 

使用场景:

在线投票

网站访问次数

在线人数

设置思路:将所有的用户保存在Map中,map中key指user_id,value指当前用户对象.第一次访问当前网页时,从session中取出当前用户对象,创建map,将用户保存到map中,再将map保存到application中.第二次之后的访问,先从application中取出map,判断map中是否已经存在当前的用户,如果有则将原来的用户删除,将当前用户加入map中.如果没有则直接加入.

 

建议少使用application.

 

 

4  Cookie

A Cookie不是内置对象

B Cookie是保存在浏览器中的

C Cookie不能用于保存重要信息,不能直接存储中文字符串.

D Cookie中只能保存字符串数据.

常用方法

 

 

 

 

 

 

如果要在cookie保存中文数据内容,那么使用

 

 

如果需要将Cookie内容取出来并转换成原来的中文内容,那么使用

 

网友评论