cookies 的使用

1、首先确保客户机上允许使用cookie,一般在浏览器的 隐私 设置项里可以设置。

2、下面给出具体的例子

  a)index.jsp中如果没注册过,让游客注册,如果注册了,拿出贮存在cookie中的注册信息显示出来

  1. <%@ page language="java" contentType="text/html; charset=GB18030"
  2. pageEncoding="utf8"%>
  3. <%@page import="java.util.Date" %>
  4. <%@page import="java.text.SimpleDateFormat" %>
  5. <%@ page import="java.net.URLDecoder" %>
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  7. <html>
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=utf8">
  10.  
  11. <title>First Jsp/ show system time</title>
  12. </head>
  13. <body onload="setInterval(updateTime(), 1000)">
  14. <%!
  15. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
  16. String updateTime(){
  17. Date date = new Date();
  18. return df.format(date);
  19. }
  20.  
  21. %>
  22. 当前时间:<%= updateTime() %>
  23. <br/><br/>
  24. <%
  25. Cookie[] cookies = request.getCookies();
  26. String user="";
  27. String date="";
  28. String date2="";
  29. if(cookies != null)
  30. {
  31. for(int i=0;i<cookies.length;i++)
  32. {
  33. if(cookies[i].getName().equals("mrCookie"))
  34. {
  35. user = URLDecoder.decode(cookies[i].getValue().split("#")[0], "gbk") ;
  36. date = cookies[i].getValue().split("#")[1];
  37. date2 = cookies[i].getValue().split("#")[2];
  38. }
  39. }
  40. }
  41. if("".equals(user)&& "".equals(date)){
  42. %>
  43. 游客,你好,欢迎光临!
  44. <form action = "deal.jsp" method = "post">
  45. 请输入姓名:<input type="text" name="user"/>
  46. <input type= "submit" value="确认">
  47. </form>
  48. <%
  49. }else{
  50. %>
  51. 欢迎,[<b><%= user %></b>] 再次光临!<br/>
  52. 您的注册时间为:<%= date %><br/>
  53. cookies有效期至:<%= date2 %>
  54. <%
  55. }
  56. %>
  57. </body>
  58. </html>

index.jsp

  b)deal.jsp 写入cookies 信息

  1. <%@ page language="java" contentType="text/html; charset=utf8"
  2. pageEncoding="utf8"%>
  3. <%@ page import="java.net.URLEncoder" %>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf8">
  8. <title>Insert title here</title>
  9. </head>
  10. <body>
  11. <%
  12. request.setCharacterEncoding("GB18030");
  13. String user = URLEncoder.encode(request.getParameter("user"), "gbk");
  14. java.util.Date date_start = new java.util.Date();
  15. long times= date_start.getTime();
  16. java.util.Date date_end = new java.util.Date(times+20*1000);
  17.  
  18. Cookie cookie = new Cookie("mrCookie",user+"#"+date_start.toLocaleString()+"#"+date_end.toLocaleString());
  19. cookie.setMaxAge(20);
  20. response.addCookie(cookie);
  21. %>
  22. <a href="index.jsp">回到index.jsp页面</a>
  23. </body>
  24. </html>

deal.jsp

【注】1、deal.jsp 中的 request.setCharacterEncoding("GB18030"); 编码设置应该与index.jsp中的第一行的 @page charset=GB18030" 一致

    2、Decode 和 encode 应该使用同种或兼容的编码(gbk?gb18030? 好像兼容?)

解决中文乱码(jsp内置的request传递参数包含中文时)

方法有两个:

1、<% request.setCharacterEncoding("utf8"); %> //在request指明发出请求页的编码

2、new String(request.getParameter("name").getBytes("ISO-8859-1"), "utf8"); //对于每一个request字段,使用String的新编码构造函数,指定目标编码;

web —— jsp笔记的更多相关文章

  1. Java Web学习笔记之---JSP

    Java Web学习笔记之---JSP (一)JSP常用语法 (1)HTML注释 <!--所要注释的内容 --> 在客户端显示一个注释. (2)隐藏注释 <%--所要注释的内容--% ...

  2. [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  3. java web 学习笔记 编码问题总结

       java web 学习笔记 编码问题总结 1.非form表单中提交的中文参数---------------------------传递给Servlet服务器时,默认以iso-8859-1解码 ...

  4. Java Web 学习笔记 1

    Java Web 学习笔记 1 一.Web开发基础 1-1 Java Web 应用开发概述 1.1.1 C/S C/S(Client/Server)服务器通常采用高性能的PC机或工作站,并采用大型数据 ...

  5. Java Web学习笔记之---EL和JSTL

    Java Web学习笔记之---EL和JSTL (一)EL (1)EL作用 Expression  Language(表达式语言),目的是代替JSP页面中复杂的代码 (2)EL表达式 ${变量名} ( ...

  6. JAVA Web学习笔记

    JAVA Web学习笔记 1.JSP (java服务器页面) 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . JSP全名为Java Server Pages,中文名叫java服务器 ...

  7. Java Web程序设计笔记 • 【目录】

    章节 内容 实践练习 Java Web程序设计作业目录(作业笔记) 第1章 Java Web程序设计笔记 • [第1章 Web应用程序] 第2章 Java Web程序设计笔记 • [第2章 JSP基础 ...

  8. [原创]java WEB学习笔记95:Hibernate 目录

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  9. Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径

    Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径 (2015/07/08更新) JDK下载地址(JDK官网下载地址) 下载地址为:http://www.oracle.co ...

随机推荐

  1. 《uname命令》-linux命令五分钟系列之五

    本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...

  2. asp.net将数据导出到excel

    本次应用datatable导出,若用gridview(假设gridview设为了分页显示)会出现只导出当前页的情况. protected void btnPrn_Click(object sender ...

  3. 分数拆分( Fractions Again, UVA 10976)-ACM

    It is easy to see that for every fraction in the form  (k > 0), we can always find two positive i ...

  4. 连接MySQL数据常见问题

    错误信息1 :ERROR 1045 (28000): Access denied for user 'usera'@'localhost' (using password:YES) 错误信息2 :ER ...

  5. JS拖动div的原理

    要实现移动窗体,首先要捕获三个参数:1.a = 鼠标点击时的坐标.2.b = 被移动窗体的左顶点坐标.3.c = 鼠标移动时的坐标.然后还要算出你鼠标无论点击窗体哪个位置,移动改变的都是 (d = 窗 ...

  6. swfobject.js IE兼容问题

    错误代码 在562行左右 / add style rule if (ua.ie && ua.win) { if (dynamicStylesheet && typeof ...

  7. The Wedding Juicer

    poj2227:http://poj.org/problem?id=2227 题意:给你一块矩形区域,这个矩形区域是由一个个方格拼起来的,并且每个方格有一个高度.现在给这个方格灌水,问最多能装多少水. ...

  8. siem主流厂商

    http://www.scmagazine.com/siem/products/6428/5/ http://www.edu.cn/wlaq_6572/20131217/t20131217_10532 ...

  9. SCVMM更换数据库,如何搞?

    因为SCVMM和SQL不是集成在同一台机器上的. 所以,当SQL换机器或是换名字后,SCVMM就不能启动了. 并且MS没提供直观的更改数据库连接的工具,只是在安装的时候有选项. 网上找了方法,修改注册 ...

  10. Leetcode:Repeated DNA Sequences详细题解

    题目 All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: " ...