jsp页面中如何通过cookie传递数据

2025-10-02 10:04:09

1、Cookie: 什么是cookie?浏览器向Web服务器发送请求时,服务器会将少量的数据以set-Cookie消息头的方式发送给浏览器,浏览器将这些数据保存下来:当浏览器再次访问服务器时,会将这些数据以Cookie消息头的方式发送给服务器

jsp页面中如何通过cookie传递数据

2、如何创建cookie:Servlet API给我们提供了创建cookie的类 :javax.servlet.http.Cookie;语法: Cookie c=new Cookie(参数1,参数2);     参数1:Cookie的名字     参数2:需要保存的数据值如何添加cookie? response.addCookie(c);

jsp页面中如何通过cookie传递数据

3、如何去查找cookie?获取客户端所有的cookie对象:语法:Cookie[] cookies=request.getCookies();获取每一个cookie对象的值:  Cookie.getName();  Cookie.getValue();

jsp页面中如何通过cookie传递数据

4、如何去修改cookie?步骤:step1,获取客户端发送的所有Cookiestep2,根据name找到要修改的Cookiestep3,调用Cookie的setValue( String newValue )方法修改该Cookie的值step4,将修改后的Cookie加入到response发送回客户端

jsp页面中如何通过cookie传递数据

5、Cookie的生存周期:默认情况下cookie的生命周期就是浏览器会话结束时,生命就over了如果我们想让它在指定的时间到期后才over,需要通过设置其生命周期:通过Cookie.setMaxAge(int seconds);来设置。单位以秒计算,精确度不高。

如何设置生命周期:由seconds决定seconds>0;设置多少时间,就在时间到期时失效seconds=0;默认设置值,浏览器会话结束,overseconds<0;缺省设置,永远活着(存在本地内存中)

解决cookie中的中文问题:cookie编码:因为在cookie中只能够使用合法的ASCII字符,所以在设置cookie值的时候需要将中文转为ASCII字符。怎么转?URLEncode.encode(参数1,参数2);参数1:cookie中文值参数2:编码格式

jsp页面中如何通过cookie传递数据

6、cookie解码:要想让获取的cookie值显示实际中文,需要用相同的字符进行解码URLDecode.decode(参数1,参数2);进行解码参数1:获得的cookie值参数2:编码格式

Cookie状态管理存在的一些弊端:1.Cookie可以被用户禁止2.Cookie会将状态保存在浏览器端,不安全。对于敏感数据,需要加密后再使用Cookie来保存3.Cookie只能保存少量的数据,大约4kb左右4.Cookie的个数是有限制的5.Cookie只能保存字符串

jsp页面中如何通过cookie传递数据

7、public class CookieServlet extends HttpServlet {   @Overrideprotected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {     request.setCharacterEncoding("utf-8");     response.setContentType("text/html;charset=utf-8");     //创建cookie     Cookie c1=new Cookie("username","root");     Cookie c2=new Cookie("password","123");     //添加cookie     response.addCookie(c1);     response.addCookie(c2);   }}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢