cookie写入 和读取

Cookie的写入和读取:

先写一个HTML页面,在HTML表单提交后,action = “cookie_demo1/hello”

提交到servlet,servlet获取到表单内容,并且设置cookie给浏览器,同时跳转到注册页面2.html,

在2.html填写相应的内容后action=“cookie_demo1/hello1”

servlet1获取2.html中的内容并且获取到浏览器中的cookie


最后将两次表单提交的数据打印到屏幕上:


java代码  ----hello

package com.demo.wgg;

import java.io.IOException;
import java.io.PrintWriter;

import javax.jms.Session;
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;

public class Demo extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//设置相应编码,防止中文乱码
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		
		//没有设置cookie是获取HTML中的属性
		String username = request.getParameter("name");
		String password = request.getParameter("password");
		
		System.out.println(username);
		System.out.println(password);
				
		//创建cookie对象
		
		Cookie cookie = new Cookie("userpass", username + "," +password);
		
		//把cookie写入到浏览器中:
		
		response.addCookie(cookie);
				
		//跳转到另一个页面
		request.getRequestDispatcher("/3.html").forward(request, response);
		

	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		doGet(request, response);
		
	}

}


1.html代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
  <body>
  
	<h1>Welcome you ! </h1>
	
	<form action="/cookie_demo1/hello" method="post">
		姓名<input name="name" type="text"><br><br>
		
		密码:<input name="password" type="password"><br><br>
		<br><br>
		提交:<input name="submi" type="submit"><br><br>
		
	</form>

  </body>
  
</html>

2.html代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>


<h1>Welcome you ! </h1>
	
	<form action="/cookie_demo1/hello1" method="post">
		职业:<input name="job" type="radio" value="1">teacher
			<input name="job" type="radio" value="2">student
			<br><br>
		提交:<input name="submi" type="submit"><br><br>
		
	</form>

</body>
</html>

hello1的代码:java

package com.demo.wgg;

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 Demo1 extends HttpServlet {

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		String job = request.getParameter("job");
		
		System.out.println(job);
		
		//设置编码方法
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html ;charset=UTF-8");
		
		//从浏览器中读取cookie
		Cookie [] cookies =  request.getCookies();
		
		String userpass = null;
		//循环遍历cookie找到需要的cookie
		for(Cookie cookie :cookies){

			String ckname  = cookie.getName();
			if("userpass".equals(ckname)){
				//拿到第一步写入cookie的值
				userpass = cookie.getValue();
			}
		}
		
		String username = null;
		String password = null;
		
		//分割userpass
		String [] ck = userpass.split("," );
		
		//把从cookie中拿到的姓名和密码赋值
		username = ck[0];
		password = ck[1];
		
		String printName = "姓名是:" + username + "<br>"; 
		String printPassword = "密码是:" + password + "<br>"; 
		String printJob = "工作是:" + job + "<br>"; 
		//打印到屏幕上:
		response.getWriter().print(printName);
		response.getWriter().print(printPassword);
		response.getWriter().print(printJob);
		
	}
}






  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值