当前位置: 首页 > news >正文

丹阳企业网站建设织梦免费企业网站

丹阳企业网站建设,织梦免费企业网站,久久建筑网西瓜视频,网站源码库阿华代码#xff0c;不是逆风#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力#xff01;#xff01; 希望本文内容能够帮助到你#xff01;#xff01; 目录 一#xff1a;实践 1#xff1a;获取URL中的参数 #xff08;1#xff09;PathVariable 2…   阿华代码不是逆风就是我疯 你们的点赞收藏是我前进最大的动力 希望本文内容能够帮助到你 目录 一实践 1获取URL中的参数 1PathVariable 2上传文件 1普通写法 2RequestPart 3注意 二获取Cookie和Session 1状态 2Cookie ​编辑 3Session 4两者区别 5获取Cookie代码实现 1普通代码 2lambda表达式 3注解形式 6Cookie造假 7Session存储 0获取session 1第一次发送请求 2构架Session对象 3第二次请求 8Seesion读取 9精华总结 1公共部分提取 2提取公共部分封装成HttpSession 3封装获取属性 一实践 1获取URL中的参数 1PathVariable 路径变量这个注解主要作⽤在请求URL路径上的数据绑定 默认传递参数写在URL上SpringMVC就可以获取到 注意①请求路径中不能再{password}对应的地方写个字符串类型尽管url是字符串类型但是最后到服务器上转化为的是Integer类型 注意②下面这段代码中括号中的参数是连续赋值的这样一个过程 RequestMapping(m1/{password}/{name})public String m1(PathVariable(password) Integer id , PathVariable(name) String name){return id是 id name是 name;} 2上传文件 1普通写法 RequestMapping(m2)public String getfile(MultipartFile file){String fileName file.getOriginalFilename();return 接受到的文件的名称为 fileName;} 2RequestPart RequestPart这个注解可以作为中间商进行传参 RequestMapping(m2)public String getfile(RequestPart(fileTemp) MultipartFile file){String fileName file.getOriginalFilename();return 接受到的文件的名称为 fileName;} 3注意 上传的文件体积可能会过大此时就要注意看日志了往往错误的日志信息才是提升自己代码能力的关键 二获取Cookie和Session 1状态 理解状态和无状态HTTP是一种无状态协议什么是无状态呢 无状态在服务器和客户端的连接中不保存对端信息。在下一次再连接时需要再次验证身份。 有状态类似第一次去医院需要办理一张就诊卡把身份信息登记一下再看病。第二次再去医院的时候直接刷卡工作人员就知道你是谁了不需要再走登记身份信息的流程了 实际开发中, 我们很多时候是需要知道请求之间的关联关系的 2Cookie 下述图中的 令牌 通常就存储在 Cookie 字段中 此时在服务器这边就需要记录令牌信息, 以及令牌对应的⽤⼾信息, 这个就是 Session 机制所做的⼯作. 3Session 服务器同⼀时刻收到的请求是很多的. 服务器需要清楚的区分每个请求是从属于哪个⽤⼾, 也就是属于哪个会话, 就需要在服务器这边记录每个会话以及与⽤⼾的信息的对应关系. Session是服务器为了保存⽤⼾信息⽽创建的⼀个特殊的对象 Session的本质就是⼀个 哈希表, 存储了⼀些键值对结构. Key 就是SessionID, Value 就是⽤⼾信息(⽤⼾信息可以根据需求灵活设计). 1模拟具体流程 ①当⽤⼾登陆的时候, 服务器在 Session 中新增⼀个新记录, 并把 sessionId返回给客⼾端. (通过 HTTP 响应中的 Set-Cookie 字段返回). ②客⼾端后续再给服务器发送请求的时候, 需要在请求中带上 sessionId. (通过 HTTP 请求中的 Cookie 字段带上). ③服务器收到请求之后, 根据请求中的 sessionId在 Session 信息中获取到对应的⽤⼾信息, 再进⾏后续操作.找不到则重新创建Session, 并把SessionID返回 Session 默认是保存在内存中的. 如果重启服务器则 Session 数据就会丢失 4两者区别 ①Cookie 是客⼾端保存⽤⼾信息的⼀种机制. Session 是服务器端保存⽤⼾信息的⼀种机制 ②Cookie 和 Session之间主要是通过 SessionId 关联起来的, SessionId 是 Cookie 和 Session 之间的桥梁 ③Cookie 和 Session 经常会在⼀起配合使⽤. 但是不是必须配合. ④完全可以⽤ Cookie 来保存⼀些数据在客⼾端. 这些数据不⼀定是⽤⼾⾝份信息, 也不⼀定是 SessionId ⑤Session 中的sessionId 也不需要⾮得通过 Cookie/Set-Cookie 传递, ⽐如通过URL传递. 5获取Cookie代码实现 1普通代码 RequestMapping(m3)public String m3(HttpServletRequest request , HttpServletResponse response){//获取Cookie信息Cookie[] cookies request.getCookies();//打印Cookie信息StringBuilder builder new StringBuilder();if(cookies ! null){for(Cookie ck : cookies){builder.append(ck.getName() : ck.getValue());}}return 返回的Cookie信息是 builder;}2lambda表达式 RequestMapping(m3_5)public String m3_5(HttpServletRequest request , HttpServletResponse response){Cookie[] cookies request.getCookies();if(cookies ! null){Arrays.stream(cookies).forEach(ck- System.out.println(ck.getName() ck.getValue()));}return 获取Cookie;} 3注解形式 RequestMapping(m3.2)public String m3_2(CookieValue(bite) String bite){return bite: bite;} Spring MVC是基于 Servlet API 构建的原始 Web 框架, 也是在Servlet的基础上实现的 HttpServletRequest , HttpServletResponse 是Servlet提供的两个类, 是Spring MVC⽅法的内置对象. 需要时直接在⽅法中添加声明即可. HttpServletRequest 对象代表客⼾端的请求, 当客⼾端通过HTTP协议访问服务器时HTTP请 求头中的所有信息都封装在这个对象中通过这个对象提供的⽅法可以获得客⼾端请求的所有信 息. HttpServletResponse 对象代表服务器的响应. HTTP响应的信息都在这个对象中, ⽐如向客⼾ 端发送的数据, 响应头, 状态码等. 通过这个对象提供的⽅法, 可以获得服务器响应的所有内容 6Cookie造假 从这个例⼦中, 也可以看出Cookie是可以伪造的, 也就是不安全的, 所以使⽤Cookie时, 后端需要进⾏Cookie校验 7Session存储 0获取session 获取Session有两种⽅式 HttpSession getSession(boolean create); HttpSession getSession(); HttpSession getSession(boolean create) : 参数如果为 true, 则当不存在会话时新建会话; 参数如果 为 false, 则当不存在会话时返回 null HttpSession getSession(): 和getSession(true) 含义⼀样, 默认值为true. void setAttribute(String name, Object value): 使⽤指定的名称绑定⼀个对象到该 session 会话 public String m4(HttpServletRequest request){HttpSession session request.getSession();if(session ! null){session.setAttribute(username,java);}return session存储成功;} 简洁获取Session ①通过注解SessionAttribute获取 先调用m6方法获取session为null在调用m4方法存储session在调用m6 RequestMapping(m6)public String m6(SessionAttribute(value username , required false) String username){return m6方法中返回的username参数为 username;}②通过Spring MVC内置对象HttpSession 来获取 RequestMapping(m7)public String m7(HttpSession session){String username (String) session.getAttribute(username);return m7方法中返回的username参数为 username;} 1第一次发送请求 2构架Session对象 可以看到, Http请求时, 把SessionId通过Cookie传递到了服务器 3第二次请求 8Seesion读取 读取 Session 可以使⽤ HttpServletRequest Object getAttribute(String name): 返回在该 session 会话中具有指定名称的对象如果没有指定名 称的对象则返回 null RequestMapping(m5)public String m5(HttpServletRequest request){HttpSession session request.getSession(false);String username null;if(session ! null session.getAttribute(username) ! null ){username (String)session.getAttribute(username);}return username: username;} 运行服务器先用浏览器m5链接再访问m4链接最后再访问m5.可以看到下面这个有趣的现象  9精华总结 客户端第一次发送请求给服务器的时候会把自己的信息存储在请求中的Cookie字段中服务器接收到请求后进行解析用session存下来Cookie中解析后的用户信息然后把“令牌”保存在响应的set-Cookie字段中并返回给客户端客户端接受到响应之后下一次请求直接拿着“令牌”就可以了 1公共部分提取 2提取公共部分封装成HttpSession 3封装获取属性
http://www.w-s-a.com/news/334491/

相关文章:

  • 模板网站开发推广陈村大良网站建设
  • 建设工程网站单位名单广州微信网站建设效果
  • 网站开发选择框代码字节小程序开发教程
  • 杭州网站设计精选柚v米科技免费的简历制作
  • 网站域名 没有续费做外贸怎样上外国网站
  • 购物网站功能模块设计电子工程网站有哪些
  • 网站营销公司哪家好wordpress主题 破解主题
  • 做网站就是做服务中国效能建设网站
  • 唐河企业网站制作怎么样抖音seo排名软件哪个好
  • 做棋牌网站团队wordpress无限加载
  • 思创医惠网站建设微网站是手机网站吗
  • 宁波海曙网站建设市场营销管理
  • 网站被降权了怎么办做网站网页维护手机App开发
  • 营销型网站建设熊掌号tomcat 网站开发
  • 东莞网站建设seo广州 flash 网站
  • js网站评论框租房网站那些地图区域统计怎么做的
  • 企业门户网站平台建设招标采购文件长沙做网站找哪家好
  • 关于实验室建设的英文网站图文分销系统开发
  • wordpress 媒体库管理自己的网站什么做优化
  • 网站建设基本流程价格厦门seo网站推广
  • 辽宁响应式网站建设价格企业所得税率
  • 网站编辑及seo招聘上海做网站公司做网站的公司
  • 杭州四喜做网站建设么ja.wordpress.org
  • 旅游网站策划书企业公司名字大全
  • 营销型网站的标准郑州新密网站建设
  • 建设网站的公司管理公司网站设计
  • 手机网站有什么区别是什么意思不让网站开发公司进入后台
  • 网站正在建设中_敬请期待做宠物店网站
  • 个体营业执照可以做网站服务吗宣传品牌网站建设
  • 做平台是做网站和微信小程序的好别邯郸捕风科技有限公司