Java Web servlet中的cookie
<head>
<title>cookie input page</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
请输入用户名(英文或者数字)<br>
<form name="form1" action="
SetCookiesServlet" method="post" >
<table border="0">
<tr><td>用户名:</td>
<td><input type="text" name="username">
</td></tr>
<tr><td colspan="2" align="center">
<input name="submit" value="submit" type="submit">
</td></tr>
</table>
</form>
</body>
</html>
*
*/
package webbook.chapter6;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
throws ServletException, IOException {
doPost(request, response);
}
throws ServletException, IOException {
String output = null;
String username = request.getParameter("username");
if (!StringUtil.validateNull(username)) {
Cookie cookie1 = new Cookie("username", StringUtil
.filterHtml(username));
// cookie的有效期为1个月
cookie1.setMaxAge(24 * 60 * 60 * 30);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Cookie cookie2 = new Cookie("lastTime", sdf.format(new Date()));
cookie2.setMaxAge(24 * 60 * 60 * 30);
response.addCookie(cookie1);
response.addCookie(cookie2);
output = "本次登录时间与用户名已经写到Cookie中。<br><a href=\"/webproject_cookie/GetCookiesServlet\">查看Cookies</a>";
} else {
output = "用户名为空,请重新输入。<br><a herf=\"/webproject_cookie/cookieInput.htm\">输入用户名</a>";
}
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>set cookies </title></head>");
out.println("<body>");
out.println("<h2>" + output + "</h2>");
out.println("</body>");
out.println("</html>");
out.flush();
out.close();
}
}
*
*/
package webbook.chapter6;
import java.io.PrintWriter;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
throws ServletException, IOException {
doPost(request, response);
}
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>display login infomation</title></head>");
out.println("<body>");
out.println("<h2>从Cookie中获得上次登录时间与用户名</h2>");
Cookie[] cookies = request.getCookies();
Cookie cookie = null;
for (int i = 0; i < cookies.length; i++) {
cookie = cookies[i];
if (cookie.getName().equals("username")) {
out.println("用户名:" + cookie.getValue());
out.println("<br>");
}
if (cookie.getName().equals("lastTime")) {
out.println("上次登录时间:" + cookie.getValue());
out.println("<br>");
}
}
out.println("</body>");
out.println("</html>");
out.flush();
out.close();
}
}
Java Web servlet中的cookie的更多相关文章
- [Java][Web] Servlet中转发和重定向比较
Servlet中页面跳转的两种方式 请求转发 使用requestDispatcher对象 request.getRequestDispatcher("path").forward( ...
- 4、Servlet中的Cookie 用于存储 web 页面的用户信息。
Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. 识别返回用户包括三个步骤: 服务 ...
- JAVA WEB项目中各种路径的获取
JAVA WEB项目中各种路径的获取 标签: java webpath文件路径 2014-02-14 15:04 1746人阅读 评论(0) 收藏 举报 分类: JAVA开发(41) 1.可以在s ...
- Java Web开发中MVC设计模式简介
一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条 ...
- 对Java Web项目中路径的理解
第一个:文件分隔符 坑比Window.window分隔符 用\;unix采用/.于是用File.separator来跨平台 请注意:这是文件路径.在File f = new File(“c:\\hah ...
- 在Java Web项目中添加定时任务
在Java Web程序中加入定时任务,这里介绍两种方式:1.使用监听器注入:2.使用Spring注解@Scheduled注入. 推荐使用第二种形式. 一.使用监听器注入 ①:创建监听器类: impor ...
- Java Web开发中路径问题小结
Java Web开发中,路径问题是个挺麻烦的问题,本文小结了几个常见的路径问题,希望能对各位读者有所帮助. (1) Web开发中路径的几个基本概念 假设在浏览器中访问了如下的页面,如图1所示: 图1 ...
- java web 项目中 简单定时器实现 Timer
java web 项目中 简单定时器实现 Timer 标签: Java定时器 2016-01-14 17:28 7070人阅读 评论(0) 收藏 举报 分类: JAVA(24) 版权声明:本文为博 ...
- 在Java Web程序中使用监听器可以通过以下两种方法
之前学习了很多涉及servlet的内容,本小结我们说一下监听器,说起监听器,编过桌面程序和手机App的都不陌生,常见的套路都是拖一个控件,然后给它绑定一个监听器,即可以对该对象的事件进行监听以便发生响 ...
随机推荐
- rsync之expect脚本shell
r_expect.sh: #!/bin/expect -f set timeout 30 #spawn rsync -avz --delete --exclude-from=exclude.list ...
- VMware 设置桥接方式 本机使用WLAN
最近使用开始VMware,以前一直用vritual box ,回归正题. 问题: VMware网络连接使用桥接方式如何做? 环境: 系统:centOS6.7 主机:win10 虚拟机:VMware10 ...
- go语言从例子开始之Example35.原子计数器
Go 中最主要的状态管理方式是通过通道间的沟通来完成的,我们在工作池的例子中碰到过,但是还是有一些其他的方法来管理状态的.这里我们将看看如何使用 sync/atomic包在多个 Go 协程中进行 原子 ...
- JVM分为哪些区,每一个区干嘛的?
程序计数器PC 线程私有的 它可以看做是当前线程所执行的字节码的行号指示器 内存区域中唯一一个没有规定任何OutOfMemoryError的区域 Java虚拟机栈 线程私有的 每个方法在执行的同时都会 ...
- java pravite关键字的使用
package java04; /* * 问题描述:定义Person的年龄时,无法阻止不合理的数值设置进来 * 解决方案:用private关键字将需要保护的成员变量进行修饰 * * 一旦使用了priv ...
- java 计算时间差
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date d1 = df.parse(&quo ...
- HTML5 绘制阴影
代码: <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8 ...
- 并行流水线--求 (B+C)*B/2
public class Msg { public double i; public double j; public String orgStr = null; } import java.util ...
- 接口上传base64编码图片
package com.*.util; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io. ...
- 【leetcode】572. Subtree of Another Tree
题目如下: Given two non-empty binary trees s and t, check whether tree t has exactly the same structure ...