ServletDemo1.java

 package ztq.servlet.study;

 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 ServletDemo1 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置服务器端以UTF-8编码进行输出
response.setCharacterEncoding("UTF-8");
//设置浏览器以UTF-8编码进行接收,解决中文乱码问题
response.setContentType("text/html;charset = UTF-8");
PrintWriter out = response.getWriter(); //获取cookie
String username = "";
String check = "";
Cookie[] cookies = request.getCookies();
for(int i = 0; cookies != null && i < cookies.length; i++){
Cookie c = cookies[i];
if("username".equals(c.getName())){
username = c.getValue();
check = "checked = 'checked'";
break;
}
} //登录页面
out.write("<form action = '" + request.getContextPath() + "/servlet/ServletDemo2' method = 'post'>");
out.write("用户名:<input type = 'text' name = 'username' value = '" + username + "'><br />");
out.write("密码:<input type = 'password' name = 'password' value = ''><br />");
out.write("记住用户名:<input type = 'checkbox' name = 'remember'" + check + "'><br />");
out.write("<input type = 'submit' name = 'submit' value = '登录'><br />");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}

ServletDemo2.java

package ztq.servlet.study;

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 ServletDemo2 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String remember = request.getParameter("remember");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset = UTF-8");
PrintWriter out = response.getWriter(); //创建一个新的Cookie
Cookie cookie = new Cookie("username", username);
cookie.setPath(request.getContextPath());
if(remember != null){
//如果选择了记住用户名,则设置Cookie的有效期为一个不为0的整数
cookie.setMaxAge(Integer.MAX_VALUE);
}else{
//否则则把有效期设置为0,即命令浏览器删除该cookie
cookie.setMaxAge(0);
}
//将cookie对象添加到response对象中,这样服务器在输出response对象中的内容时就会把cookie也输出到客户端服务器
response.addCookie(cookie);
out.write("登录成功!");
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}

结果:

输入用户名和密码,选择记住用户名,然后点击登录。

页面显示登录成功!

重新打开浏览器,再次访问登录界面,会显示如图。

Cookie案例:简单登录界面中的应用的更多相关文章

  1. Win7隐藏登录界面中的用户(不建议HOME版使用)

    一天一點 能登多高,靠的不是双脚!能看多远,靠的不是双眼!人生路,贵在坚持! Win7隐藏登录界面中的用户(不建议HOME版使用) Win7中如何隐藏不想出现在登录界面中的用户 在Windows系统管 ...

  2. android 案例二 登录界面

    效果图: 运行图:   总结: 编写这个简单的用户登录界面,主要用到了以下的知识:   java基础中的IO流的操作 用以读取.显示用户的信息 Android布局 线性布局和相对布局 数据的存储选在包 ...

  3. 以java实现的一个简单登录界面(带验证码)

    本文参考于:https://blog.csdn.net/wyf2017/article/details/78831744 https://blog.csdn.net/MengKun822/articl ...

  4. JSP内置对象的cookie和session实现简单登录界面

    创建一个index.jsp页面 <%@ page language="java" contentType="text/html; charset=utf-8&quo ...

  5. 易懂 易上手的cookie 最简单明了 js中cookie的使用方法及教程

    今天项目中需要用到cookie 看到我的cookie不行了 大喊一声我曹 怎么可以这样 我就疯狂的在网上找 找啊 找 但是我感觉都太官方了   废话不说 看栗子 1.引入jQuery与jQuery.C ...

  6. JAVA语言实现简单登录界面

    程序设计思想: 使用Math.random()方法循环生成6个97~122之间的随机整数(对应ASCII码值‘a’~‘z’),将其转化为char型变量,连接成为一个6位字符串作为验证码输出,提示用户输 ...

  7. 设计简单登录界面(Java web)

    程序设计思想: 在Input.jsp中创建一个表格里边分别是课程名称,任课老师,教学地点,并分别用三个文本框来接受输入的三个属性, 并传到另外的Jsp页面中,又来接受三个数据,并判断传来的教师,与教室 ...

  8. qt 简单登录界面(一)

    widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include<QLineEdit> class ...

  9. Java案例——简单登录

    public class UserLogin { public static void main(String[] args) { //1.定义两个字符串作为已知用户的姓名与密码 String Use ...

随机推荐

  1. MSYS2的源配置

    关于MSYS2的文章可以参考下面的链接,笔者不多赘述: msys2安装笔记 MSYS2 + MinGW-w64 + Git + gVim 环境配置 msys2环境搭建 msys2安装g++: pacm ...

  2. Java Web 学习链接

    解决JSP中文乱码问题:http://www.cnblogs.com/chengkai/articles/2171848.html 编程思想之多线程与多进程:http://blog.csdn.net/ ...

  3. Authcode()

    加密解密函数Authcode(): 1.  // 参数解释   2. // $string: 明文 或 密文   3. // $operation:DECODE表示解密,其它表示加密   4. //  ...

  4. jvm指令调试

    监控GC的工具分为2种:命令行工具和图形工具: 常用的命令行工具有: 注:下面的命令都在JAVA_HOME/bin中,是java自带的命令.如果您发现无法使用,请直接进入Java安装目录调用或者先设置 ...

  5. Swift3.0P1 语法指南——函数

    原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...

  6. 01OC概述

    目前来说,Objective-C(简称OC)是iOS开发的核心语言,在开发过程中也会配合着使用C语言.C++,OC主要负责UI界面,C语言.C++可用于图形处理.特点如下: 一.OC基于C语言 C语言 ...

  7. UVA2636

    理解;类似我们离散的命题  因为只有一个是坏的 超过一个人说你坏  你一定就是坏的  有人说你对 你就对了 分为两种情况 1.说你对的是好的  他的判断是正确的 2.说你对的人 是坏的 他的判断是错误 ...

  8. 前端XSS攻击和防御

    xss跨站脚本攻击(Cross Site Scripting),是一种经常出现在web应用中的计算机安全漏洞,指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会 ...

  9. Retroactive priority queues

    http://erikdemaine.org/papers/Retroactive_TALG/paper.pdf 明天写..大概就是通过一些结论发现这个东西其实就是往最后的集合里加入或删除一些可以被快 ...

  10. JS中多种方式创建对象

    1.内置对象创建 var girl=new Object(); girl.name='hxl'; console.log(typeof girl); 2.工厂模式,寄生构造函数模式 function ...