Cookie教程
Session
浏览器与服务器交互信息的获取
Servlet域对象的生命周期及使用
HttpServletRequest接口和HttpServletResponse接口常用方法总结
404和500错误解决方法
WEB开发路径使用方式总结
实战:登录操作结合Session

Servlet中域对象的实际应用

域对象的实际应用

1、如何取得request域的值

转发能够取得request域的值

2、使用重定向是否可以取得request域的值

取不到,转发是唯一能够取得request域对象中值的方式

3、使用重定向是否可以取得request/session域的值

● request

不能,重定向是两次请求,两次响应。

第一次请求创建的request对象中存的值,在第一次响应的时候,值会随着request对象的销毁而销毁。

在第二次发出请求的时候,是新建一个request对象.里面是没有值的。

● session

能够取得session域的值

重定向后,session没有手动销毁,也没有超时,我们也没有关浏览器(JSESSIONID),所以我们是维持着有效的会话.存值的session并没有销毁,作为有效的会话,我们是可以从他身上取值的

4、系统登录操作后,用户名应保存在哪个域

在实际项目开发中,我们使用session域来保存用户名使得其他的每一个页面都能够取到我们的用户名并显示出来。

5、 服务器缓存(cache),应该使用哪个域来操作

使用上下文域来操作

使用服务器缓存的目的是使得我们每一次在取数据的过程中,不用每一次都去连接数据库,从数据库中取数据,我们直接从缓存中读取数据是最方便最快的。

需求:现在有一张表单,表单下拉框中的数据是活的, 这组数据不经常发生变化(数据更新频率较低),我们应该使用哪种方式来对这些数据做显示的操作。

我们应该使用服务器缓存(cache)(将数据从表中取出存放到上下文域中)

以下数据从city表中而来

<form>
		城市:
		<select>
			<option>--  请选择  --</option>
			<option>北京</option>
<option>上海</option>
<option>广州</option>
<option>深圳</option>
</select>
	</form>

每一次都从数据表中取值,非常的麻烦,而且耗费时间,所以我们的这张表单的使用效率不高。

我们可以这样来做,将city表中所有的城市查询出来,存放到服务器缓存中(将city表中取出的数据存放到上下文域).那么在我们每一次使用以上fomr表单的时候.直接从服务器缓存中取值就可以了(从上下文域对象中取值)

以上服务器缓存的使用,仅仅针对表中的数据不经常做更新的情况下才能够有效的时候。

域对象的应用原则总结

在我们的实际项目开发中,域对象会大量的用到,根据不同的需求,我们使用不同的域对象来做存取值的操作,但是有一个使用原则,能用小的域对象,就不用大的域对象。

为什么优先使用小的域?

较小的域,域对象的销毁周期比较短,所以在里面存的值安全性会得到保障.使用小的域,不耗费服务区。