Tomcat+Servlet保存Cookie到浏览器

x33g5p2x  于2021-03-13 发布在 其他  
字(1.6k)|赞(0)|评价(0)|浏览(131)

我们在访问一些大型购物网站的时候,都有添加到购物车这一项,而购物车里面的东西都是临时的,商品买完之后购物车里面的东西可能就没有价值了。如果把这些临时的东西都保存到服务器的话,无疑是一种资源浪费。因此今天我们就引入一个新名词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>

运行效果:

原理很简单,其实到具体应用用到cookie的地方特别多,因此我们还需要多多实践,多多应用,多读交流,有不足之处请大家批评指正。

相关文章