编写login.jsp
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2020/11/24
Time: 16:41
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="http://localhost:8080/cookie_session/login" method="get">
用户名<input type="text" name="username" value="${cookie.username.value}"><br/>
密 码<input type="password" name="password"><br/>
<input type="submit" value="登录">
</form>
</body>
</html>
编写loginservlet程序
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 java.io.IOException;
/*
//1.创建Cookie对象
Cookie cookie=new Cookie("key1","value1");
Cookie cookie1=new Cookie("key2","value2");
//2.通知客户端保存Cookie
resp.addCookie(cookie);
resp.addCookie(cookie1);
//获取cookie
Cookie[] cookies=req.getCookies()
Cookie iwantcookie=null;
for(Cookies cookie:cookies){
//getname方法返回Cookie的key名
//getValue方法返回Cookie的Value值
if("key1".equals(cookie.getName())){
iwantcookie=cookie;
}
//if(iwantcookie!=null){
resp.getWriter().write("Cookie["+cookie.getName()+"="+cookie.getValue()+"]<br/>");
}
}
}
//Cookie值的修改
方案一:1.先创建一个要修改的同名的Cookie对象
2.在构造器,同时赋予新的Cookie值
3.调用response.addCookie(Cookie)
Cookie cookie=new Cookie("key1","new Value1");
resp.addCookie(cookie);
方案二:
1.先查找到需要修改的Cookie对象
2.调用setValue()方法赋予新的Cookie值
3。调用response.addCookie()通知客户端保存修改
*/
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取用户名和密码
String username=req.getParameter("username");
String password=req.getParameter("password");
if("cb".equals(username)&&"123456".equals(password)){
//登录成功
Cookie cookie=new Cookie("username",username);
cookie.setMaxAge(60*60*24*7);//当前cookie一周内有效
resp.addCookie(cookie);
System.out.println("dengluchenggong");
}
else
{
//登录失败
System.out.println("denglushibai");
}
}
}
配置web.xml
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.atshangqiu.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>