首先在html中添加两个a标签:添加cookie和读取cookie
< a href = “save”>saveCookie< /a> < br/>
< a href = “read”>readCookie< /a>< br/>
servlet:
1、添加cookie
主要语句:
Cookie cookie1 = new Cookie(“cookie1”,“cookie1’s value”);
resp.add(cookie1); //默认添加的cookie是在当前目录
Cookie cookie2 = new Cookie(“cookie2”,“cookie2’s value”);
cookie2.setPath("/") //相当于所有都可以查看,没有范围可言
public class SavaCookie extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Cookie cookie1 = new Cookie("cookie1","cookie1's value");
resp.addCookie(cookie1);
Cookie cookie2 = new Cookie("cookie2","cookie2's value");
cookie2.setPath("/");
resp.addCookie(cookie2);
Cookie cookie3 = new Cookie("cookie3","cookie3's value");
cookie3.setPath("/temp/");
resp.addCookie(cookie3);
resp.sendRedirect("index.html");
}
2、读取cookie
主要代码:
Cookie[] cookies = req.getCookies();
StringBuilder sb = new StringBuilder(“Cookie的信息:”);
for(Cookie c:cookies){
sb.append("< li>").append(c.getName()).append("–>").append(c.getValue()).append("< /li>");
resp.setContentType(“text/html;charset=UTF-8”);
resp.getWriter().write(sb.toString());
}
代码:
public class ReadCookie extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
Cookie[] cookies = req.getCookies();
StringBuilder sb = new StringBuilder("Cookie信息:");
for(Cookie c :cookies){
sb.append("<li>").append(c.getName()).append("->").append(c.getValue()).append("</li>");
}
resp.setContentType("text/html;charset=UTF-8");
resp.getWriter().write(sb.toString());
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
web.xml:
<servlet>
<servlet-name>saveservlet</servlet-name>
<servlet-class>com.sy.SavaCookie</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>saveservlet</servlet-name>
<url-pattern>/save</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>readservlet</servlet-name>
<servlet-class>com.sy.ReadCookie</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>readservlet</servlet-name>
<url-pattern>/read</url-pattern>
</servlet-mapping>