Servlet与JSP进阶

ContentType的作用:

  

 请求转发与响应重定向的使用;

  多个Servlet(JSP) 之间跳转有两种方式:

  request.getRequestDispatcher().forward() - 请求转发

  reponse.sendRedirect() - 响应重定向

  请求转发是服务器跳转,只会产生一次请求

  

  重定向则是浏览器端跳转,会产生两次请求

  

  设置请求自定义属性

    设置请求属性:request.setAttribute(属性名,属性值) 属性名:必须是字符串,属性值 可以任意

    获取请求属性: Object attr = request.getAttribute(属性名)

 cookie与session

  Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入JSESSIONID用于标记一个会话(session),这样服务器可以知道该用户是否合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。

  Cookie是客户端技术,而HttpSession是服务器端技术

  

1、Cookie是什么?

  一个小信息,由服务器写给浏览器的。由浏览器来保存。

  客户端保存的Cookie信息,可以再次带给服务器。

  Cookie类:javax.servlet.http.Cookie

3、如何向客户端写Cookie:

HttpServletResponse对象.addCookie(javax.servlet.http.Cookie对象)(就是写了一个响应消息头:Set-Cookie:cookie的信息)

Servlet规范中的Cookie API 提供了setMaxAge  setPath setDomain等方法,可以对Cookie状态进行控制

特点:一个浏览器针对一个网站最多存20个Cookie;最多存300个Cookie,每个Cookie的长度不能超过4KB(稀缺)。只是规定,但不同的浏览器实现的不同。

复制代码
 1     public void doGet(HttpServletRequest request, HttpServletResponse response)
 2             throws ServletException, IOException {
 3         Cookie cookie=new Cookie("name","Tom");
 4         //设置Maximum Age
 5         cookie.setMaxAge(1000);
 6         //设置cookie路径为当前项目路径
 7         cookie.setPath(request.getContextPath());
 8         //添加cookie
 9         response.addCookie(cookie);
10     }

  

原文地址:https://www.cnblogs.com/wuheng-123/p/13648824.html