web —— jsp笔记
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笔记的更多相关文章
- Java Web学习笔记之---JSP
Java Web学习笔记之---JSP (一)JSP常用语法 (1)HTML注释 <!--所要注释的内容 --> 在客户端显示一个注释. (2)隐藏注释 <%--所要注释的内容--% ...
- [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- java web 学习笔记 编码问题总结
java web 学习笔记 编码问题总结 1.非form表单中提交的中文参数---------------------------传递给Servlet服务器时,默认以iso-8859-1解码 ...
- Java Web 学习笔记 1
Java Web 学习笔记 1 一.Web开发基础 1-1 Java Web 应用开发概述 1.1.1 C/S C/S(Client/Server)服务器通常采用高性能的PC机或工作站,并采用大型数据 ...
- Java Web学习笔记之---EL和JSTL
Java Web学习笔记之---EL和JSTL (一)EL (1)EL作用 Expression Language(表达式语言),目的是代替JSP页面中复杂的代码 (2)EL表达式 ${变量名} ( ...
- JAVA Web学习笔记
JAVA Web学习笔记 1.JSP (java服务器页面) 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . JSP全名为Java Server Pages,中文名叫java服务器 ...
- Java Web程序设计笔记 • 【目录】
章节 内容 实践练习 Java Web程序设计作业目录(作业笔记) 第1章 Java Web程序设计笔记 • [第1章 Web应用程序] 第2章 Java Web程序设计笔记 • [第2章 JSP基础 ...
- [原创]java WEB学习笔记95:Hibernate 目录
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径
Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径 (2015/07/08更新) JDK下载地址(JDK官网下载地址) 下载地址为:http://www.oracle.co ...
随机推荐
- 《uname命令》-linux命令五分钟系列之五
本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...
- asp.net将数据导出到excel
本次应用datatable导出,若用gridview(假设gridview设为了分页显示)会出现只导出当前页的情况. protected void btnPrn_Click(object sender ...
- 分数拆分( 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 ...
- 连接MySQL数据常见问题
错误信息1 :ERROR 1045 (28000): Access denied for user 'usera'@'localhost' (using password:YES) 错误信息2 :ER ...
- JS拖动div的原理
要实现移动窗体,首先要捕获三个参数:1.a = 鼠标点击时的坐标.2.b = 被移动窗体的左顶点坐标.3.c = 鼠标移动时的坐标.然后还要算出你鼠标无论点击窗体哪个位置,移动改变的都是 (d = 窗 ...
- swfobject.js IE兼容问题
错误代码 在562行左右 / add style rule if (ua.ie && ua.win) { if (dynamicStylesheet && typeof ...
- The Wedding Juicer
poj2227:http://poj.org/problem?id=2227 题意:给你一块矩形区域,这个矩形区域是由一个个方格拼起来的,并且每个方格有一个高度.现在给这个方格灌水,问最多能装多少水. ...
- siem主流厂商
http://www.scmagazine.com/siem/products/6428/5/ http://www.edu.cn/wlaq_6572/20131217/t20131217_10532 ...
- SCVMM更换数据库,如何搞?
因为SCVMM和SQL不是集成在同一台机器上的. 所以,当SQL换机器或是换名字后,SCVMM就不能启动了. 并且MS没提供直观的更改数据库连接的工具,只是在安装的时候有选项. 网上找了方法,修改注册 ...
- Leetcode:Repeated DNA Sequences详细题解
题目 All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: " ...