cookies 的使用

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

2、下面给出具体的例子

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

<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="utf8"%>
<%@page import="java.util.Date" %>
<%@page import="java.text.SimpleDateFormat" %>
<%@ page import="java.net.URLDecoder" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8"> <title>First Jsp/ show system time</title>
</head>
<body onload="setInterval(updateTime(), 1000)">
<%!
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String updateTime(){
Date date = new Date();
return df.format(date);
} %>
当前时间:<%= updateTime() %>
<br/><br/>
<%
Cookie[] cookies = request.getCookies();
String user="";
String date="";
String date2="";
if(cookies != null)
{
for(int i=0;i<cookies.length;i++)
{
if(cookies[i].getName().equals("mrCookie"))
{
user = URLDecoder.decode(cookies[i].getValue().split("#")[0], "gbk") ;
date = cookies[i].getValue().split("#")[1];
date2 = cookies[i].getValue().split("#")[2];
}
}
}
if("".equals(user)&& "".equals(date)){
%>
游客,你好,欢迎光临!
<form action = "deal.jsp" method = "post">
请输入姓名:<input type="text" name="user"/>
<input type= "submit" value="确认">
</form>
<%
}else{
%>
欢迎,[<b><%= user %></b>] 再次光临!<br/>
您的注册时间为:<%= date %><br/>
cookies有效期至:<%= date2 %>
<%
}
%>
</body>
</html>

index.jsp

  b)deal.jsp 写入cookies 信息

<%@ page language="java" contentType="text/html; charset=utf8"
pageEncoding="utf8"%>
<%@ page import="java.net.URLEncoder" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("GB18030");
String user = URLEncoder.encode(request.getParameter("user"), "gbk");
java.util.Date date_start = new java.util.Date();
long times= date_start.getTime();
java.util.Date date_end = new java.util.Date(times+20*1000); Cookie cookie = new Cookie("mrCookie",user+"#"+date_start.toLocaleString()+"#"+date_end.toLocaleString());
cookie.setMaxAge(20);
response.addCookie(cookie);
%>
<a href="index.jsp">回到index.jsp页面</a>
</body>
</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. C#入门经典(第五版)学习笔记(三)

    ---------------面向对象编程简介--------------- UML表示方法: 1)方框上中下三分 2)上框写类名 3)中框写属性和字段,例如:+Description:string  ...

  2. 使用soapUI代替WSDL2JAVA生成cxf HTTPS 客户端调用代码

    如果直接用cxf下面的wsdl2java生成https服务调用代码,会报https证书的错误.在你不想导入证书的情况下,可以使用soapUI进行客户端代码的生成,步骤如下: 1.设置CXF,如下图: ...

  3. javascript——函数内部属性

    <script type="text/javascript"> //在函数内部有两个特殊的属性:arguments 和 this.arguments是一个类数组对象,包 ...

  4. linux防火墙解封某端口

    首先,使用netstat –tunlp查看是否23端口被防火墙封掉了: 再使用iptables修改设置, # iptables -I INPUT -p tcp --dport 23 –jACCEPT ...

  5. Windows Open with Sublime Text

    Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text] "Icon&q ...

  6. 项目任务管理(TaskMgr)技术篇

    判定是否为枚举型:type.IsEnum 应用原型:如果是枚举返回字符型,如果是其他类型直接返回: object value = pro1.FieldType.IsEnum ? pro1.GetVal ...

  7. bzoj2180: 最小直径生成树

    Description 输入一个无向图G=(V,E),W(a,b)表示边(a,b)之间的长度,求一棵生成树T,使得T的直径最小.树的直径即树的最长链,即树上距离最远的两点之间路径长度. Input 输 ...

  8. notepad++使用心得

    最近和网友谈论软件编译器的时候,很多人都推荐使用notepad++这款软件,于是怀着一份好奇心安装了这款软件耍了耍,感觉确实不错.特将网友的分享以及自己的心得总结如下: 1)首先notepad++支持 ...

  9. LINUX单网卡绑定多个IP

    在linux下,我们有时候需要给单网卡设置不同的IP地址,这样就涉及到单网卡绑定多个IP地址的情况.使用本方法可以方便的为单网卡绑定多个IP地址.笔者使用的环境是centos5.6,应该在fedora ...

  10. hadoop输出统计