flsh

HTTP协议,会话跟踪,保存作用域,servlet类跳转

解决post的编码问题,防止中文乱码

request.setCharacterEncoding("utf-8");

 

HTTP协议:

(1)由Request(请求)和Response(响应)两部分组成

  

(2)请求包括了三部分:请求行、请求行、请求消息头、请求主体:

                                get方式请求--query string;

                                post方式请求--form data;

                                json格式--request payload;

(3)相应包括了三部分:相应行、相应消息头、相应主体

 

HttpSession

(1)HttpSession :表示  会话

(2)Http协议是无状态的(同一个连接允许传输多个HTTP请求的情况下,如果第一个请求出错了,后面的请求一般也能够继续处理)

(3)Session保存作用域 :一次会话范围都有效;void session.setAttribute(k,v),session.getAttribute(k)

(4)常用的API:session.getId():获取会话的id,session.isNew():创建新的会话,session.getCreationTime():设置会话的时间,session.invalidate():清空已定义的session 而不是清空session里的值

 

保存作用域

*保存作用域一共有四个:page(页面级别,现在几乎不会用);request(一次请求响应范围有效);

             session(一次会话范围有效);application(一次应用程序范围有效(只要服务器不关就都有效));

(1)request(请求)保存作用域是对应着某一个请求响应,所以用客户端重定向是获取不到数据的

  1.常用API:void request.setAttribute(k,v)  :保存数据到作用域中

        Object requestgatAttribute(k)    :在作用域中读取数据出来

(2)session(会话)保存作用域是对应着某一个session(会话)

  1.常用API:void session.setAttribute(k,v)  :保存数据到会话作用域中

        Object session gatAttribute(k)    :在会话作用域中读取数据出来

       void removeAttribute(k)       :删除作用域中的数据

(2)application(会话)保存作用域是对应着某一个application(应用程序)

       ServetContext application = request.getServetContext();//ServetContext 表示servet上下文(程序运行的刚开始到结束)

       application .setAttribute(k,v)  :保存数据到会话作用域中

       

       ServetContext application = request.getServetContext();

          session gatAttribute(k)    :在会话作用域中读取数据出来

    

服务器端转发和客户端重定向

(1)服务器端转发:request.getRequestDispatcher("index.html").forward(response);

(2)客户端重定向:response.sendRedirect("index.html");

 

posted on   小鱼洗香香  阅读(52)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示