昌平网站制作开发公司,东莞金融网站建设,南昌做网站哪家便宜,佛山网站推广经理获取 Cookie
传统获取 Cookie
这是没有 Spring 的时候#xff0c;用 Servlet 来获取#xff08;获取所有的 Cookie#xff09;
Spring MVC 是基于 Servlet API 构建的原始 Web 框架#xff0c;也是在 Servlet 的基础上实现的
RequestMapping(/getcookie) …获取 Cookie
传统获取 Cookie
这是没有 Spring 的时候用 Servlet 来获取获取所有的 Cookie
Spring MVC 是基于 Servlet API 构建的原始 Web 框架也是在 Servlet 的基础上实现的
RequestMapping(/getcookie)
public String getCookie(HttpServletRequest request, HttpServletResponse response) { //String name request.getParameter(name); Cookie cookies[] request.getCookies(); if (cookies ! null) { //将 Cookie 转成了数据流然后进行循环 Arrays.stream(cookies).forEach(ck - System.out.println(ck.getName() : ck.getValue())); } return 获取Cookie成功;
}HttpServletRequest 代表 HTTP 的请求HTTP 请求里面有什么这个对象里面就有什么HttpServletResponse 代表 HTTP 的响应HTTP 响应里面有什么这个对象里面就有什么 这两个对象属于 Spring 的内置对象需要就加上不用就不用写
Cookie 是一个数组所以进行循环打印 进入网页后Cookie 可以直接进行修改F12。然后在里面添加信息namebitevalue666随后保存
之后刷新可在服务端看到 Cookie 信息
Spring MVC 是基于 Servlet API 构建的原始 Web 框架也是在 Servlet 的基础上实现的HttpServletRequestHttpServletResponse 是 Servlet 提供的两个类是 Spring MVC 方法的内置对象需要时直接在方法中添加声明即可HttpServletRequest 对象代表客户端的请求当客户端通过 HTTP 协议访问服务器时HTTP 请求头中的所有信息都封装在这个对象中通过这个对象提供的方法可以获得客户端请求的所有信息HttpServletResponse 对象代表服务器的响应。HTTP 响应的信息都在这个对象中比如向客户端发送的数据响应头状态码等。通过这个对象提供的方法可以获得服务器响应的所以内容Spring MVC 在这两个对象的基础上进行封装给我们提供更加简单的使用方法 简洁获取 Cookie注解
Spring MVC 在这两个对象的基础上进行封装给我们提供更加简单的使用方法 上面获取的话就是获取的所有的 Cookie而如果想要获取某个 Cookie就需要使用 CookieValue
RequestMapping(/getcookie2)
public String getCookie2(CookieValue(bite) String bite) { return 从Cookie中获取值, bite:bite;
}CookieValue 里面的值就是你要获取的 Cookie
获取 Session
Session 存储和获取
传统方式也是用 Servlet 进行实现的
RequestMapping(/getsession)
public String getsession(HttpServletRequest request) { //从 Cookie 中获取到了 SessionId根据 Session 获取 Session对象 HttpSession session request.getSession(); String name (String) session.getAttribute(name); return 从session中获取name:name;
}第四行是从 Cookie 中获取到 SessionId然后根据 SessionId 获取到 Session 对象然后通过 getAttribute 来获取你要拿的值 因为 session 是在服务器中进行存储的所以就不能像前面 Cookie 一样可以直接“伪造”了。就需要学习如何设置 session
RequestMapping(/setsession)
public String setSession(HttpServletRequest request){ //从 Cookie 中获取到了SessionId根据 SessionId 获取Session对象//如果没有获取到就会创建一个Session对象 HttpSession session request.getSession(); session.setAttribute(name,zhangsan); return 设置session成功;
}首先是在 Cookie 中获取 SessionId然后根据 SessionId 获取 Session 对象。如果没有获取到就会创建一个 Session 对象创建好 Session 之后就可以进行设置了 使用 setAttribute 进行设置前面是 name后面是 value 可以通过 Fiddler 进行观察
之后就可以通过 SessionId 获取到 Session 的值了
如果擅自将下面的 SessionId 改了就获取不到 Session 了 简洁获取 Session (1)
封装一些冗余的过程
RequestMapping(/getsession2)
public String getsession2(HttpSession session){ String name (String) session.getAttribute(name); return 从session中获取namename;
}这里 HttpSession 就直接省略了自己 getSession 的过程直接就给我们提供了一个 Session 简洁获取 Session (2)
更进一步能直接给到我们想要的 name 的值吗
RequestMapping(/getsession3)
public String getsession3(SessionAttribute(name) String name){ //String name (String) session.getAttribute(name); return 从session中获取name:name;
}这里的 SessionAttribute 里面的值就是想要获取的 Session 的值省略掉了指定 name 的步骤