Unit06: 状态管理-cookie
Unit06: 状态管理-cookie
web
- package web;
- import java.io.IOException;
- import java.io.PrintWriter;
- import javax.servlet.ServletException;
- import javax.servlet.http.Cookie;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- public class FindCostServlet extends HttpServlet {
- //相当于MainServlet.findCost()
- @Override
- protected void service(
- HttpServletRequest req,
- HttpServletResponse res) throws ServletException, IOException {
- Cookie[] cs = req.getCookies();
- if(cs != null) {
- res.setContentType(
- "text/html;charset=utf-8");
- PrintWriter out = res.getWriter();
- for(Cookie c : cs) {
- out.println(
- c.getName()+":"+c.getValue());
- }
- out.close();
- }
- }
- }
FindCostServlet.java
- package web;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.net.URLDecoder;
- import javax.servlet.ServletException;
- import javax.servlet.http.Cookie;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- public class IndexServlet extends HttpServlet {
- //相当于MainServlet.toIndex()
- @Override
- protected void service(
- HttpServletRequest req,
- HttpServletResponse res) throws ServletException, IOException {
- //浏览器再次访问此服务器时,会自动传入
- //之前保存的cookie,现在获取此cookie.
- Cookie[] cs = req.getCookies();
- //将cookie中的数据显示到页面上
- if(cs != null) {
- res.setContentType(
- "text/html;charset=utf-8");
- PrintWriter out = res.getWriter();
- for(Cookie c : cs) {
- String value =
- URLDecoder.decode(
- c.getValue(),"utf-8");
- out.println(
- c.getName()+":"+value);
- }
- out.close();
- }
- }
- }
IndexServlet.java
- package web;
- import java.io.IOException;
- import java.net.URLEncoder;
- import javax.servlet.ServletException;
- import javax.servlet.http.Cookie;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- public class LoginServlet extends HttpServlet {
- //相当于MainServlet.login()
- @Override
- protected void service(
- HttpServletRequest req,
- HttpServletResponse res) throws ServletException, IOException {
- //接收传入的参数
- String code = req.getParameter("code");
- //存入cookie,给其他功能使用
- //1.一个cookie对象中只能存一个数据
- //2.所存的数据必须是字符串
- //3.可以创建更多个cookie以保存更多的数据
- Cookie c1 = new Cookie("code",code);
- //设置cookie的生存时间
- c1.setMaxAge(600000);
- //将cookie存入response,在服务器响应时,
- //会自动把cookie发送给浏览器.
- res.addCookie(c1);
- //向cookie中存中文
- Cookie c2 = new Cookie("city",
- URLEncoder.encode("北京", "utf-8"));
- res.addCookie(c2);
- //设置cookie的有效路径
- Cookie c3 = new Cookie("name","Tarena");
- c3.setPath("/jsp3");
- res.addCookie(c3);
- }
- }
LoginServlet.java
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
- <display-name>jsp3</display-name>
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- <welcome-file>index.htm</welcome-file>
- <welcome-file>index.jsp</welcome-file>
- <welcome-file>default.html</welcome-file>
- <welcome-file>default.htm</welcome-file>
- <welcome-file>default.jsp</welcome-file>
- </welcome-file-list>
- <servlet>
- <servlet-name>login</servlet-name>
- <servlet-class>web.LoginServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>login</servlet-name>
- <url-pattern>/main/login</url-pattern>
- </servlet-mapping>
- <servlet>
- <servlet-name>index</servlet-name>
- <servlet-class>web.IndexServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>index</servlet-name>
- <url-pattern>/main/index</url-pattern>
- </servlet-mapping>
- <servlet>
- <servlet-name>findCost</servlet-name>
- <servlet-class>web.FindCostServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>findCost</servlet-name>
- <url-pattern>/cost/find</url-pattern>
- </servlet-mapping>
- </web-app>
web.xml
Unit06: 状态管理-cookie的更多相关文章
- 状态管理cookie 案例
1状态管理:服务器为了追踪同一个客户端发出的请求,将多次交互看成一个整体看待 2:cookie的生存时间,默认情况下,cookie保存在浏览器内存中,只要不关闭浏览器,cookie就一直存在 如果希望 ...
- [原创]java WEB学习笔记28: 会话与状态管理Cookie 机制
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- aspx页面状态管理Cookie和ViewState
Cookie 设置cookie protected void Button2_Click(object sender, EventArgs e) { HttpCookie cookie = new H ...
- JSP | 基础 | JSP状态管理 | Cookie
Cookie : 是web服务器保存在客户端的一系列文本信息. Cookie的作用: 1.对特定的对象的追踪 2. 3. JSP中创建Cookie以及使用 创建Cookie对象 写入Cookie对象 ...
- [Asp.Net]状态管理(ViewState、Cookie)
简介 HTTP协议是无状态的.从客户端到服务器的连接可以在每个请求之后关闭.但是一般需要把一些客户端信息从一个页面传送给另一个页面. 无状态的根本原因是:浏览器和服务器使用Socket通信,服务器将请 ...
- 转载ASP.NET 状态管理Application,Session,Cookie和ViewState用法
转载原地址 http://www.cnblogs.com/cuishao1985/archive/2009/09/24/1573403.html ASP.NET状态管理 APPlication,Ses ...
- 状态管理之cookie使用及其限制、session会话
# 1.什么是状态管理? 将浏览器与web服务器之间多次交互当作一个整体来处理,并且将多次交互所涉及的数据(即状态)保存下来.(cookie浏览器所涉及到的访问数据保存下来)# 2.如何进行状态管理? ...
- 基于cookie的用户登录状态管理
cookie是什么 先来花5分钟看完这篇文章:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Cookies 看完上文,相信大家对cookie已经有 ...
- 表格搞定 Asp.net Web 状态管理
最近在网上搜罗了 ASP.NET WEB 状态管理方面的一些内容,终于把这些内容整合总结了一下. 1. 希望自己通过整理,能够掌握一些,为自己投资. 2. 以便自己忘记,又要浪费时间搜罗. 3. 希望 ...
随机推荐
- Sql server日期函数操作
1.获取前一小时内的数据:DATEADD(HOUR,-1,GETDATE()),将"HOUR"替换成DAY,Month,YEAR就是前一天,前一月,前一年 2.获取日期部分,格式为 ...
- 利用 LINQ的skip和Take 方法对List实现分页效果
var testList=new List<string>(); )).Take(pageSize); //skip是跳过的条数,pageSize*(pageIndex-),Take 是返 ...
- Oracle 常用系统包
一.DBMS_OUTPUT(用于输入和输出信息) 二.DBMS_JOB(用于安排和管理作业队列) 三.dbms_pipe(类似UNIX系统的管道) 四.dbms_alert(用于生成并传递数据库预警信 ...
- LeetCode OJ:Implement strStr()(实现子字符串查找)
Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle ...
- tooltip提示框组件
Tooltip 提示框组件 可独立于其他组件通过$.fn.tooltip.defaults重写默认的defaults.当用户移动鼠标指针在某个元素上时,出现提示信息窗口来显示额外信息.提示内容可以包含 ...
- C++面向对象高级编程(一)基础篇
技术在于交流.沟通,转载请注明出处并保持作品的完整性. 概要: 知识点1 构造函数与析构函数 知识点2 参数与返回值 知识点3 const 知识点4 函数重载(要与重写区分开) 知识点5 友元 先以C ...
- 剑指offer--44.两个链表的第一个公共结点
@selfboot 牛逼的代码,长度相同,一遍出结果, 长度不同,短的点跑完,变成长的,当长的跑完变成短的链表的时候,较长的链表已经走过了多的结点. ------------------------- ...
- ubuntu16 jdk7 install&config
1,下载jdk文件 http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521 ...
- Kotlin Reference (七) Returns and Jumps
most from reference kotlin有三个结构跳跃表达式 return 默认情况下,从最近的封闭函数或匿名函数返回. break 跳出整个循环 continue 跳出本次循环,进行下一 ...
- 使用DaoCloud持续构建docker镜像,自动化部署
我们学会了在主机上安装部署docker,也学会了构建自己的docker镜像和容器,启停也都会用了,下一步就需要持续构建发布docker的技能了. 我们希望能在代码提交后,有个远程服务能自动开始构建项目 ...