- 抛出一个域的问题,后面阐述如何使用Cookie解决
准备工作:
1.创建两个html
第一个:
第二个:
第二步:
创建相对应的映射文件
web.xml文件配置映射路径
注意:在这个过程中创建了两个servlet,前端发起了两次请求,而我们想把第一次请求给后端数据发送给第二个servlet,显然是不行的,在第二个servlet中getAttrebute()拿到的是null, 因为在新的请求中,会创建新的request对象,域发生了变化,域只能在一个servlet类似请求之内才有意义。
- 使用Cookie解决域的问题
(1)创建Cookie并把数据写入浏览器
// 创建cookie对象
Cookie cookie = new Cookie("userpass", username + "+" + password);
// 把cookie写入浏览器
response.addCookie(cookie);
(2)从浏览器中读取当前项目的所有Cookie
// 从浏览器中读取当前项目的所有cookie
Cookie[] cookies = request.getCookies();
String userPassVal = null;
// 遍历cookies
for (Cookie cookie : cookies) {
// 获得cookie的name
String cookiesName = cookie.getName();
if("userpass".equals(cookiesName)) {
// 拿到第一步写入Cookie的值
userPassVal = cookie.getValue();
}
}
response.getWriter().println("用户名密码" + userPassVal);