Cookie,Session的区别与联系(最全面的分析)
来源:互联网 发布:枚举 c语言 编辑:程序博客网 时间:2024/06/05 22:35
1:login.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
<h3>登录界面</h3>
<form action="loginServlet" method="post">
账号:<input type="text" name="username" required="required"/><br/><br/>
密码:<input type="password" name="password" required="required"/><br/><br/>
<input type="submit" value="登陆"/>
</form>
</body>
</html>
2:web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>servlet</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>cn.itcast.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/helloServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>InitServlet</servlet-name>
<servlet-class>cn.itcast.servlet.InitServlet</servlet-class>
<init-param>
6:User
package cn.itcast.servlet;
//用户
public class User {
private String username;
private String password;
public User(String username, String password) {
super();
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [username=" + username + ", password=" + password + "]";
}
}
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>InitServlet</servlet-name>
<url-pattern>/initServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>MappingServlet</servlet-name>
<servlet-class>cn.itcast.servlet.MappingServlet</servlet-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MappingServlet</servlet-name>
<url-pattern>/mappingServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>cn.itcast.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/loginServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ListServlet</servlet-name>
<servlet-class>cn.itcast.servlet.ListServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ListServlet</servlet-name>
<url-pattern>/listServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>GetServlet</servlet-name>
<servlet-class>cn.itcast.servlet.GetServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GetServlet</servlet-name>
<url-pattern>/getServlet</url-pattern>
</servlet-mapping>
</web-app>
3:LoginServlet
import java.io.PrintWriter;
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;
import javax.servlet.http.HttpSession;
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
HttpSession session=request.getSession();
String name=request.getParameter("username");
out.println("<html>");
out.println("<head><title>响应页面</title></head>");
out.println("<body>");
out.print("欢迎"+name+"登陆本网站<br/>");
//URL重写
String url=response.encodeURL("/session/list");
System.out.println(url);
out.print("<a href='listServlet;jsessonid='"+session.getId()+">收件箱</a>");
//创建Cookie,并记录信息
//设置编码
String name1=URLEncoder.encode(name,"UTF-8");
Cookie cookie=new Cookie("currentName", name1);
//向客户端添加Cookie
//设置Cookie存活时间
cookie.setMaxAge(10);//10秒
response.addCookie(cookie);
/*
//修改Cookie
cookie=new Cookie("currentName", "SpringBroter");
response.addCookie(cookie);
*/
//获取sessionid
System.out.println(session.getId());
//设置属性
request.getSession().setAttribute("currentName", name);
//封用户信息装成一个对象
String password=request.getParameter("password");
User user=new User(name, password);
request.getSession().setAttribute("user", user);
out.println("</body>");
out.println("</html>");
}
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 ListServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
out.println("<html>");
out.println("<head><title>响应页面</title></head>");
out.println("<body>");
String username="";
//从请求头中获取Cookie
Cookie[] cookies=request.getCookies();
if(cookies!=null)
{
for(Cookie cookie:cookies)
{
String name=cookie.getName();
if("currentName".equals(name))
{
username=cookie.getValue();
break;
}
}
}
String name=URLDecoder.decode(username,"UTF-8");
out.println("欢迎"+name+"登陆<br/>");
username=(String)request.getSession().getAttribute("currentName");
System.out.println("用户名:"+username);
User user=(User)request.getSession().getAttribute("user");
System.out.println("用户登录信息:"+user);
for(int i=1;i<=6;i++)
out.print("<a href='getServlet'>第"+i+"份邮件</a><br/>");
out.println("</body>");
out.println("</html>");
}
5:GetServlet
import java.io.PrintWriter;
import java.net.URLDecoder;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GetServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
out.println("<html>");
out.println("<head><title>响应页面</title></head>");
out.println("<body>");
String username="";
//从请求头中获取Cookie
Cookie[] cookies=request.getCookies();
if(cookies!=null)
{
for(Cookie cookie:cookies)
{
String name=cookie.getName();
if("currentName".equals(name))
{
username=cookie.getValue();
break;
}
}
}
String name=URLDecoder.decode(username,"UTF-8");
out.println("欢迎"+name+"登陆<br/>");
out.print("<a href='listServlet'>正在学习Servlet</a>");
out.println("</body>");
out.println("</html>");
}
- Cookie,Session的区别与联系(最全面的分析)
- Cookie与session的区别与联系
- cookie与session的区别与联系
- session与cookie的区别与联系
- session与cookie的区别与联系
- Session与Cookie的区别与联系
- session与cookie的区别与联系
- Session与Cookie的区别与联系
- COOKIE与SESSION的区别与联系
- cookie与session的区别与联系
- session与cookie的区别与联系
- session与cookie的联系与区别
- cookie与session的区别与联系
- Cookie和Session的区别与联系
- cookie与session的区别和联系
- Session与Cookie的区别和联系
- Session和Cookie的区别与联系
- Session和Cookie的区别与联系
- Nginx+Tomcat+Redis (负载均衡+session共享)完整案例
- 文档
- Weka内置特征选择算法整理
- sqoop2简单使用
- Jrebel 最新激活方法
- Cookie,Session的区别与联系(最全面的分析)
- Vue项目实战(二)- 引入JQuery等第三方库
- CF
- P1073 最优贸易
- 修改Oracle SID
- 破解软件网站(MAC Windows)
- (49)组件
- Docker容器网络——网桥
- 汇编--二进制