您的位置:首页 > 其它

初步使用session和cookie

2016-03-19 13:47 387 查看
下面代码是怎么基本使用session和cookie:

session.java

protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");

PrintWriter out=resp.getWriter();

String uname=req.getParameter("uname");
String pw=req.getParameter("pw");

System.out.println("这是从表单中得到的值:"+uname+"   "+pw);

/*session的初步使用*/

HttpSession session=req.getSession();       //创建session
session.setAttribute("myname",uname);   //添加

String string;
string =(String)session.getAttribute("myname");   //得到
System.out.println("这是从session中取出来的数据:"+string);

session.removeAttribute("myname");        //移除添加的
session.invalidate();       //删除所有session中保存的键

/*cookie的初步使用  注意,有时候tomcat对中文的不支持会使cookie使用时(resp.add())报错
*
* 设置Cookie时,name=URLEncoder.encode(name,"UTF-8");
* 读取Cookie时,name=URLDecoder.decode(name,"UTF-8");
*
* 在win7系统下,cookie保存在
* C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Cookies
*
* 用360浏览器在该目录下没有找到cookie,但用ie浏览器后可以找到
* */
uname=URLEncoder.encode(uname,"UTF-8");

Cookie c1=new Cookie("myCookie",uname);
c1.setMaxAge(60*60*1);

resp.addCookie(c1);
System.out.println("cookie保存成功!");

out.println("<a href=\"cookie\">点击获取cookie</a>");
//resp.sendRedirect("cookie");

out.flush();
out.close();

}


下面是获取cookie

getCookie.java

protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {

resp.setContentType("text/html;charset=utf-8");

PrintWriter out=resp.getWriter();
out.println("look:");
out.println("下面是获取cookie");

Cookie[] cookies=req.getCookies();
Cookie c=null;
String name;
String val;

if(cookies!=null){
for(int i=0;i<cookies.length;i++){
if("myCookie".equals(cookies[i].getName())){
System.out.println("找到cookie");
name=cookies[i].getName();
val=cookies[i].getValue();
name=URLDecoder.decode(name,"UTF-8");
val=URLDecoder.decode(val,"UTF-8");
System.out.println(name+"  "+val);
out.println(name+"  "+val);
}
}
}else {
out.println("没有找到cookie!");
}
out.flush();
out.close();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: