微信网页手机登录入口官网宁波关键词优化企业网站建设
- 作者: 五速梦信息网
- 时间: 2026年04月20日 07:19
当前位置: 首页 > news >正文
微信网页手机登录入口官网,宁波关键词优化企业网站建设,专门做单页的网站,seo专员是什么职业岗位阿华代码#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封装获取属性
相关文章
-
微信团购群网站怎样做网站正在建设中 模板 下载
微信团购群网站怎样做网站正在建设中 模板 下载
- 技术栈
- 2026年04月20日
-
微信属于营销型网站网站seo怎么做
微信属于营销型网站网站seo怎么做
- 技术栈
- 2026年04月20日
-
微信手机营销软件网站建设重庆招投标交易信息网
微信手机营销软件网站建设重庆招投标交易信息网
- 技术栈
- 2026年04月20日
-
微信网站 手机网站wordpress网站压缩
微信网站 手机网站wordpress网站压缩
- 技术栈
- 2026年04月20日
-
微信网站程序影响网站pr的因素有哪些
微信网站程序影响网站pr的因素有哪些
- 技术栈
- 2026年04月20日
-
微信网站搭建价格wordpress怎么排版
微信网站搭建价格wordpress怎么排版
- 技术栈
- 2026年04月20日
