servlet学习--Cookie小应用
Cookie是web服務(wù)器發(fā)送到瀏覽器的間斷文本信息,以后在訪問(wèn)同一個(gè)web站點(diǎn)或域時(shí)瀏覽器就會(huì)毫無(wú)更改的返回該文本信息,通過(guò)讓服務(wù)器讀取以前發(fā)送到客戶(hù)端的信息,站點(diǎn)就能為訪問(wèn)者提供許多方便,例如無(wú)需重新登錄.
資料源自于《Servlet與JSP核心技術(shù)》,我看完后,重新敲一遍以便于增加理解.
設(shè)置和讀取cookie的例子
import java.io.IOException; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class SetCookies extends HttpServlet {private static final long serialVersionUID = 2380669421746720857L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {for(int i = 0; i < 3; i++) {Cookie cookie = new Cookie("Session-Cookie-"+i, "Cookie-Value-S"+i);resp.addCookie(cookie);cookie = new Cookie("Persistent-Cookie-"+i, "Cookie-Value-P"+i);cookie.setMaxAge(3600);resp.addCookie(cookie);}PrintWriter out = resp.getWriter();out.print("<a href=\"/SetCookies/ShowCookies\">show the cookies</a>");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {doGet(req, resp);}} 以上是設(shè)置cookie,session cookie表示當(dāng)前的cookie,沒(méi)有設(shè)定時(shí)間,默認(rèn)時(shí)間為負(fù)數(shù)。persistent cookie表示持久性的cookie,設(shè)定時(shí)間為一小時(shí).
測(cè)試目的,關(guān)閉瀏覽器后重新打開(kāi),理應(yīng)看到persistent cookie;
showCookies.java如下
import java.io.IOException; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class ShowCookies extends HttpServlet {private static final long serialVersionUID = 2380669421746720857L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {Cookie[] cookies = req.getCookies();StringBuilder table = new StringBuilder();for(int i = 0; i < cookies.length; i++) {table.append("<table border = 1 align = \"center\"><tr><th>Cookie Name</th><th>Cookie value</th></tr>");table.append("<tr><td>"+cookies[i].getName()+"</td><td>"+cookies[i].getValue()+"</td></tr>");}PrintWriter out = resp.getWriter();out.print(table);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {doGet(req, resp);}}程序跑起來(lái)如下
設(shè)置cookies
顯示cookies
關(guān)掉瀏覽器重新打開(kāi)
直接瀏覽網(wǎng)址http://localhost:8080/SetCookies/ShowCookies
可以看到預(yù)期效果
persistent cookie生效了.
源碼地址http://www.oschina.net/code/snippet_778987_18392
本人典型ssh出道,工作半年,回頭學(xué)習(xí)servlet,請(qǐng)多多指教!
轉(zhuǎn)載于:https://my.oschina.net/liangzhenghui/blog/109133
總結(jié)
以上是生活随笔為你收集整理的servlet学习--Cookie小应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 不用eclipse创建第一个servle
- 下一篇: 单独组件_阿里P8年薪百万大牛-教你打造