需求:当客户端浏览器第一次访问Servlet时响应“您好,欢迎您第一次访问!”,第二次访问时响应“欢迎您回来!”。
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;import java.io.PrintWriter;public class WelcomServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//获取cookieCookie[] cookies = req.getCookies();boolean flag = false;if (cookies != null){for (Cookie cookie:cookies){if ("welcome".equals(cookie.getName())){flag = true;break;}}}resp.setContentType("text/plain;charset=utf-8");PrintWriter printWriter = resp.getWriter();if(flag){printWriter.println("欢迎回来");}else{printWriter.println("您好,欢迎第一次访问");Cookie cookie = new Cookie("welcome","welcome");cookie.setMaxAge(60);resp.addCookie(cookie);}}}
Cookie总结
Cookie对于存储内容是基于明文的方式存储的,所以安全性很低。不要在Cookie中存放敏感数据。在数据存储时,虽然在Servlet4.0中Cookie支持中文,但是建议对Cookie中存放的内容做编码处理,也可提高安全性。

