重温cookie,session的获取,写入与读写
来源:互联网 发布:sql语句起别名 编辑:程序博客网 时间:2024/05/17 02:48
这个知识点其实不应该不懂,但却偏偏忘记了!相信很多人会跟我一样!
cookie的写入:
String cookieName="休息休息";
Cookie cookie=new Cookie(cookieName, "value");
cookie.setMaxAge(10);
response.addCookie(cookie);
cookie读取:
Cookie cookies[]=request.getCookies();
for(Cookie cookie:cookies)
{
out.println(cookie.getName());
out.println(cookie.getValue());
}
在JSP中的session
Jsp使用httpsession的对象来跟踪用户的操作状态。Httpsession是一个建立在cookies和URL-rewriting上的高质量的界面。Session的信息保存在服务器端,session的id保存在客户机的cookies中,实际上,许多服务器上,如果浏览器的支持的话他们聚使用cookie,但是如果不支持或者废除了的话就自动转化为url-rewriting,session 自动为每个流程提供了方便存储信息的方法。
Session一般在服务器上设置了一个30分钟的国旗时间,当客户停止活动后自动失效。Session中保存和检索的信息不能使基本的数据类型 如 int,double等,而必须是Java的相应的对象,如Double,Integer。
注意如果JSP没有显示的使用 <% @page session="false"%> 关闭session,则JSP文件在编译成Servlet时将会自动加上这样一条语句HttpSession session = HttpServletRequest.getSession(true);
这也是JSP中隐含的 session对象的来历。由于session会耗费内存资源,因此,如果不盘算使用session,应当在所有的JSP中关闭它。
Httpsession具有如下api
getid 此方法返回唯一的标识,这些标识为每个session二产生。只有一个单一的值与一个Session联合时,或当日志信息与先前的session有关时,它被当做键名用。
GetCreationTime 返回session被创建的时间。最小单位为千分之一秒。为得到一个对打印输出很有用的值,可以将此值传给date constructor 或者gregorian calendar得方法set timelnmillis。
GetLastAccessesTime 返回session最后被客户发送的时间。最小单位为千分之一秒。
GetMaxinActiveInterval 返回总时间(秒)负值表示session永远不会超时。
getAttribute 取一个session相联系的信息。
Integer item =(Integer) session.getAttrobute(“item”);
setAttribute 提供一个关键词和一个值。会替换掉任何以前的值。
Session.setAttribute(“itemvalue”,itemname);
在应用中setAttribute和getAttribute用的最多 例子如下:
1、test1.jsp
<html>
<head>
<tittle>Document</tittle>
</head>
<body bgcolor=”#ffffff”>
Session.setAttribute(“str”,new String(“this a test”));
</body>
</html>
2、test2.jsp
<html>
<head>
<title>new Document </title>
</head>
<body bgcolor=”#ffffff”>
<%
String is_str=null;
is=str=(String)session.getAtribute(“str”);
Out.println(“从session 里取出的值为:”+is_str);
</body>
</html>
在struts中的session
要获得上述对象,关键Struts 2.0中com.opensymphony.xwork2.ActionContext类。我们可以通过它的静态方法getContext()获取当前 Action的上下文对象。 另外,org.apache.struts2.ServletActionContext作为辅助类(Helper Class),可以帮助您快捷地获得这几个对象。
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session = request.getSession();
如果你只是想访问session的属性(Attribute),你也可以通过ActionContext.getContext().getSession()获取或添加session范围(Scoped)的对象
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
publicclass NonIoCServlet extends ActionSupport {
private String message;
public String getMessage() {
return message;
}
@Override
public String execute() {
ActionContext.getContext().getSession().put("msg", "Hello World from Session!");
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session = request.getSession();
StringBuffer sb =new StringBuffer("Message from request: ");
sb.append(request.getParameter("msg"));
sb.append("<br>Response Buffer Size: ");
sb.append(response.getBufferSize());
sb.append("<br>Session ID: ");
sb.append(session.getId());
message = sb.toString();
return SUCCESS;
}
}
- 重温cookie,session的获取,写入与读写
- 重温那些模糊的知识点 ----Session,Cookie
- Cookie 的写入与读取
- Cookie 的写入与读取
- Cookie 的写入与读取
- cookie的写入与读取
- Cookie的写入与读出
- jsp读写session和cookie的方法
- session与cookie的区别
- session与cookie的区别
- Session与Cookie的区别
- session与cookie的区别
- cookie与Session的区别
- session与cookie的区别
- session与cookie的区别
- cookie 与 session 的区别
- Session与Cookie的区别
- session与cookie的区别
- JSP和Servlet的性能优化
- Synchronizer类
- 关于ActionScript 3.0 中方法重写和继承的发现(运行时多态,原理同Java)
- APE物理引擎初探+实例
- Windows XP下使用ASP.Net 访问Access数据库提示“System.Data.OleDb.OleDbException: 未指定的错误”的解决办法
- 重温cookie,session的获取,写入与读写
- MINIGUI,WIN32消息循环中的lParam参数传递时小注意点
- dll导出声明相关
- [MS-ERREF]:NTSTATUS values (NDIS_STATUS)
- 低级别工具---锁定和原子
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- Js的Test()方法
- ISM
- 根文件系统的启动及配置-linuxrc