Cookie的创建:

创建一个JSP页面,第一次访问时显示没有Cookie,正在创建,再次访问就会自动显示cookie的名称,并设置cookie过期时间


<%
//在javaweb规范中使用Cookie类代表Cookie
//获取cookie
Cookie[] cookies = request.getCookies();
if(cookies != null && cookies.length > 0){
for(Cookie cookie : cookies){
out.println(cookie.getName()+" : "+cookie.getValue());
out.println("<br>");
}
}else{
out.println("没有一个Cookie,正在创建并返回...");
//1.创建一个Cookie对象
Cookie cookie =new Cookie("name","Test"); //2.setMaxAge:设置Cookie的最大时效,以秒为单位,若为0,表示立即删除该Cookie,为负数,表示不存储,为正数,表示存储时间
cookie.setMaxAge(30); //调用response的一个方法把Cookie传给客户端
response.addCookie(cookie);
} %>

demo1:自动登录

JSP页面:login.jsp、index.jsp

其中login.jsp登陆,index.jsp显示登录信息

第一次访问index.jsp页面时,会自动跳转到login.jsp页面,再次访问时自会自动显示登陆信息,不需要再次登录

login.jsp

<body>

    <form action="index.jsp" method="post">
name:<input type="text" name="name"/>
<input type="submit" value="Submit"/>
</form> </body>

index.jsp

<body>

        <!-- 自动登录 -->
<!-- 此服务端 -->
<%
//若可以获取到请求参数name,则打印出欢迎信息,把登录信息存储到Cookie中,并设置Cookie的最大时效为30S
String name = request.getParameter("name");
//输入账号提交表单,获取到name字段,创建Cookie并发送到客户端中
if(name != null && !name.trim().equals("")){
//创建一个Cookie,name为login.jsp页面传进来的账号
Cookie cookie = new Cookie("name",name);
cookie.setMaxAge(30);
response.addCookie(cookie);
}else{
//没有输入账号,自动登录,账号从Cookie中获取到
//从Cookieh中获取用户信息,若存在则打印欢迎信息
Cookie[] cookies = request.getCookies();
if(cookies != null && cookies.length > 0){
for(Cookie cookie : cookies){
String cookieName = cookie.getName();
if("name".equals(cookieName)){
String val = cookie.getValue();
name = val;
}
}
}
} if(name != null && !name.trim().equals("")){
//显示欢迎信息
out.println("Hello:"+name);
}else{
out.println("Hello");
//既没有表单提交,又没有Cookie,则重定向到index.jsp
response.sendRedirect("login.jsp");
} %> </body>

JSP(4)—Cookie创建及简单案例(自动登录)的更多相关文章

  1. OpenCms JSP 模板开发——创建一个简单的JSP模板

    OpenCms中的JSP模板就是一个普通的JSP页面,在特定的位置使用标签来包含内容,在这个的例子中,我们将要开发一个简单JSP模板,这个模板只是在内容(如<html>.<body& ...

  2. Cookie实现记住密码、自动登录

    前端代码 <form id="form" action="xxx" method="post"> <div> < ...

  3. spring mvc 用cookie和拦截器实现自动登录(/免登录)

    Cookie/Session机制详解:http://blog.csdn.net/fangaoxin/article/details/6952954 SpringMVC记住密码功能:http://blo ...

  4. 一个selenium简单案例自动添加数据

    //本来想着用execl来录入数据的,但是为了尽快完成所以直接搞了个数组 package aldtest; import org.openqa.selenium.*; import org.openq ...

  5. cookie理解与实践【实现简单登录以及自动登录功能】

    cookie理解 Cookie是由W3C组织提出,最早由netscape社区发展的一种机制 http是无状态协议.当某次连接中数据提交完,连接会关闭,再次访问时,浏览器与服务器需要重新建立新的连接: ...

  6. 【JAVAWEB学习笔记】24_filter实现自动登录和解决全局的编码问题

    过滤器Filter 学习目标 案例-自动登录 案例-解决全局的编码 一.过滤器Filter 1.filter的简介 filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标 ...

  7. springboot+layui实现PC端用户的增删改查 & 整合mui实现app端的自动登录和用户的上拉加载 & HBuilder打包app并在手机端下载安装

    springboot整合web开发的各个组件在前面已经有详细的介绍,下面是用springboot整合layui实现了基本的增删改查. 同时在学习mui开发app,也就用mui实现了一个简单的自动登录和 ...

  8. java 自动登录代码

    javaBean的代码    package bean;    import java.io.Serializable;    public class Admin implements Serial ...

  9. java_web用户的自动登录模块的实现

    javaBean的代码 package bean; import java.io.Serializable; public class Admin implements Serializable{ / ...

随机推荐

  1. Linux 的文件类型

    Linux 的文件通常分为 7 大类 文件类型                                  缩写      英文名称                                ...

  2. bzoj4773: 负环

    题解: 网上还有一种spfa+深度限制的算法 https://www.cnblogs.com/BearChild/p/6624302.html 是不加队列优化的spfa,我觉得复杂度上限是bellma ...

  3. WPF: Hide grid row

    http://stackoverflow.com/questions/2502178/wpf-hide-grid-row Setting all the Items in the Row to Vis ...

  4. Python_collections_namedtuple可命名元组

    namedtuple:用来构建带字段名的元组 import collections # 创建类,两种创建方法 MytupleClass = collections.namedtuple('Mytupl ...

  5. You have new mail in /var/spool/mail/root消除提示的方法

    有时在进入系统的时候经常提示You have new mail in /var/spool/mail/root 你觉得烦人---解决方法: 修改系统配置文件/etc/profile,告诉系统不要去检查 ...

  6. gitlab之五: gitlab之webhook

    webhook(网络钩子),一般与jenkins联合使用,gitlab的某个项目的代码更新了后就触发 webhook中配置的 url ,这个url一般是某一个jienkins中某一个job的url.即 ...

  7. XXX系统项目目标文档课堂讨论

    XXXX重大技术征集系统 1.讨论结果: 2.项目目标文档 A目标: 1. 实现普通用户在线需求填报,个人信息管理,需求结果查看. 2. 实现审核员用户的需求审核,需求查看浏览和生成图表结果. 3. ...

  8. Trident中的过滤与函数的区别

    1.共同点 都需要实现storm.trident.operation.Function接口 2.不同点 其中函数有发射这个步骤. .each(new Fields("orderTime&qu ...

  9. Scrapy-redis 安装配置使用

    # 安装redis服务器端 sudo apt-get install redis-server # 安装scrapy和scrapy-redis库 pip install scrapy pip inst ...

  10. 工作记录之 [ python请求url ] v s [ java请求url ]

    背景: 模拟浏览器访问web,发送https请求url,为了实验需求需要获取ipv4数据包 由于不做后续的内容整理(有内部平台分析),故只要写几行代码请求发送https请求url列表中的url即可 开 ...