# Tomcat+Servlet保存Cookie到浏览器
我们在访问一些大型购物网站的时候,都有添加到购物车这一项,而购物车里面的东西都是临时的,商品买完之后购物车里面的东西可能就没有价值了。如果把这些临时的东西都保存到服务器的话,无疑是一种资源浪费。因此今天我们就引入一个新名词Cookie,说是新名词其实一点也不陌生,我们电脑或者浏览器清理垃圾的时候都有轻触Cookie这一项。其实这就是我们访问一些网站的时候,开发者为了避免自己服务器压力,或者减少服务器的存储浪费,而把一些临时的与用户相关的文件或者信息保存到用户电脑上。
这样的技术是怎样实现的呢,这里我做了一个简单的实例,供大家参考。核心代码如下:
~~~
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SetCookies extends HttpServlet{
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
Cookie c1=new Cookie("password","123");
response.addCookie(c1);
response.getWriter().println("add cookie success!");
}
}
~~~
~~~
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ShowCookies extends HttpServlet{
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
Cookie[] Cookies=request.getCookies();
for(int i=0;i<Cookies.length;i++){
Cookie c=Cookies[i];
response.getWriter().println(c.getName()+","+c.getValue());
}
}
}
~~~
配置文件:
~~~
<servlet>
<servlet-name>SetCookies</servlet-name>
<servlet-class>SetCookies</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SetCookies</servlet-name>
<url-pattern>/SetCookies</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ShowCookies</servlet-name>
<servlet-class>ShowCookies</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ShowCookies</servlet-name>
<url-pattern>/ShowCookies</url-pattern>
</servlet-mapping>
~~~
运行效果:
![](https://box.kancloud.cn/2016-01-18_569c9b4c044c7.jpg)
![](https://box.kancloud.cn/2016-01-18_569c9b4c2176a.jpg)
原理很简单,其实到具体应用用到cookie的地方特别多,因此我们还需要多多实践,多多应用,多读交流,有不足之处请大家批评指正。