request,response,session,cookie,隐藏域

HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。
在这里插入图片描述
在这里插入图片描述
常用的会话跟踪技术
是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。
第一次访问时,服务器会创建一个新的sesion,并且把session的Id以cookie的形式发送给客户端浏览器,如下图所示:
在这里插入图片描述
点击刷新按钮,再次请求服务器,此时就可以看到浏览器再请求服务器时,会把存储到cookie中的session的Id一起传递到服务器端了,如下图所示:
在这里插入图片描述
Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录
在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。
每个用户访问服务器都会建立一个session,那服务器是怎么标识用户的唯一身份呢?事实上,用户与服务器建立连接的同时,服务器会自动为其分配一个SessionId。
1、两个问题:
1)什么东西可以让你每次请求都把SessionId自动带到服务器呢?显然就是cookie了,如果你想为用户建立一次会话,可以在用户授权成功时给他一个唯一的cookie。当一个
用户提交了表单时,浏览器会将用户的SessionId自动附加在HTTP头信息中,(这是浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给SessionId
所对应的用户。试想,如果没有 SessionId,当有两个用户同时进行注册时,服务器怎样才能知道到底是哪个用户提交了哪个表单呢。
2)储存需要的信息。服务器通过SessionId作为key,读写到对应的value,这就达到了保持会话信息的目的。

隐藏域的与后台的整个运行的流程:
1.前台:
在这里插入图片描述
2.根据表单中的action,去找到后台的控制层:
在这里插入图片描述
3.根据上图的update:找到后台的update:
在这里插入图片描述
4.后台的代码逻辑:
在这里插入图片描述
5.在控制层引用service的对象:
在这里插入图片描述
6.在serviceimpl层中,注入Dao层对象:
在这里插入图片描述
7.Dao层代码:
在这里插入图片描述
8.因此隐藏域的pid传入到sql语句中,在链接数据库,更新该数据,实现前后台的交互!

猜你喜欢

转载自blog.csdn.net/weixin_39638459/article/details/84932603