关于servlet 和jsp中的 session对象

Posted bbs1234

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于servlet 和jsp中的 session对象相关的知识,希望对你有一定的参考价值。

1.在servlet中,要得到session并设值 要用 request.getSession().setAttribute(); 

2.在jsp页面中

              <% request.getSession().setAttribute("name","zzc");%>  

              <%=session.getAttribute("name")%> 

3.servlet是个类,要想使用session必须先获取 session对象。 
4.jsp中可以直接使用session ,原因是因为他把session对象内置了,就像java.lang.*那4个包他默认导入一样。 
5.Jsp 也是最后要编译成一个个类,容器遇到jsp文件 就会自动创建 一个session对象 无须自己再写, 
   也就是 session =request.getSession(); 容器替你完成。 
6.requst.getSession().setAttribute("自己定义的名字",值)和requst.getSession().getAttribute("自己定义的名字",值) 

7.session的创建: 

由于session是jsp的内建对象,你在jsp中创建session的时候直接session.setAttribute("key", value);

就可以了。 但在java文件中你要引入javax.servlet.http.HttpSession;这个包,然后通过

HpptSession session = request.getSession(); 

session.setAttribute("key", value); 

8.session的取值: 
jsp中直接session.getAttribute("key");就可以了。 

但在java文件中你要引入javax.servlet.http.HttpSession;这个包,然后通过

HpptSession session = request.getSession(); 

session.getAttribute("key");

9.得到session中的对象。 

session的废除:jsp和java两种文件中的操作方法同上,调用session.removeAttribute("key");方法。或者通过session.invalidate();使所有的session失效。 
Response.Write("提示信息"); 把信息输出在页面上。 
Response.Write("<script>window.alert(‘" + sMsg + "‘)</script>"); 把信息现在在对话框中。 
MessageBox("提示信息");是Window.Form中显示一个对话框,并把提示信息显示在该对话框中。 
request 请求  请求完就完了 ,比如 jsp页面请求servlet 
response  相应 对请求的响应  比如 servlet相应请求,给出个jsp 
session 整个会话期, 比如 从打开IE 到关闭所有的IE

 

二者之间的关系

jsp的Session和Servlet的Session本质上是一致的,区别是:jsp中session是作为隐式对象存在的,可以直接使用;Servlet中的session需要手动提取后才能使用.
HttpSession是Java平台session机制的实现规范,因为它仅仅是个接口,具体到每个web应用服务器的提供商,除了对规范支持之外,仍然会有一些规范里没有规定的细微差异。
1、session机制

http是无状态的协议,客户每次读取web页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息,session就是一种保存上下文信息的机制,它是针对每一个用户的,变量的值保存在服务器端,通过SessionID来区分不同的客户,session是以cookie或URL重写为基础的,默认使用cookie来实现,系统会创造一个名为JSESSIONID的输出返回给客户端Cookie保存。
2、jsp和Servlet的关系

jsp是servlet的一种简化,jsp是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的html里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑

一个浏览器只能对应一个Session,就像一台电脑对应一个IP一样!
记住了,在Seesion下面还有窗口ID哦!这样它就能区分各个窗口了!
































以上是关于关于servlet 和jsp中的 session对象的主要内容,如果未能解决你的问题,请参考以下文章

关于jsp的date输入问题

怎么样将servlet中的内容输出到另外一个jsp页面中去啊?

JSP基础知识?Cookie和Session

JAVA中servlet页面怎样刷新session,使JSP页面得到即使更新????

javaweb-cookie&session(未处理)

Strut2中的session和servlet中的session的区别