简单Cookie应用

来源:互联网 发布:mysql如何导出sql文件 编辑:程序博客网 时间:2024/06/07 09:12

我们所知道的http协议是无状态协议那么它是如何实现无登入状态时的记录的呢?

原因是我们运用了Session和cookie,我今天做的是一个简单运用cookie的应用

这是最终要达到的目标,初始值的null,因为没有创建cookie对象,最终的目标是按一次会加一次

我在这边是创建了4个servlet和4个对应的jsp,这边会直接有默认值,然后自己在jsp中写出html的标签

然后我们来看看index这个类

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Cookie[] cookies = request.getCookies();Cookie counter =null;if(cookies !=null){for(Cookie c:cookies){if(c.getName().equals("counter")){counter = c;break;}}}if(counter ==null){counter = new Cookie("counter","1");}else{Integer count = Integer.parseInt(counter.getValue());count++;counter.setValue(count.toString());}response.addCookie(counter);request.setAttribute("count", counter.getValue());request.getRequestDispatcher("index.jsp").forward(request,response);

这边是用setAttribute接收的时候比价方便

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><a href="Index">首页</a> | <a href="Anmo">按摩</a> | <a href="LiFa">理发</a> | <a href="MeiJia">美甲</a><h1>欢迎来到红灯街休闲娱乐会所</h1><h2>你本次一共消费了<%=request.getAttribute("count")%>次</h2></body></html>
注意这边的编码问题,html中java的写法

还有要对应href是servlre中的注释@WebServlet值

然后只要在剩下的3个里面像上面一样补充完就好了


最后目标是这样的的,表示浏览器记录了你的次数


优化cookie::http://blog.csdn.net/wang0112233/article/details/77198812

有些地方没有讲明白的希望可以留言或者私信,我后面会补充


原创粉丝点击