JavaWeb会话技术怎么用
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,小编给大家分享一下JavaWeb会话技术怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.什么是会话:2.会话技术有
千家信息网最后更新 2025年01月19日JavaWeb会话技术怎么用
小编给大家分享一下JavaWeb会话技术怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1.什么是会话:
2.会话技术有哪些:
什么是Cookie?
Cookie,有时也用其复数形式 Cookies。类型为"小型文本文件",是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。
3.cookie学习案例:
cookie:是数组,中每个元素有:名称和值,
可以通过名称找到名称对应的元素。
重要:
Cookie[] cookies = req.getCookies(); //创建cookie对象,获得浏览器所有的cookie数组 Cookie cookie = CookieUtils.findCookie(cookies,"lasttime");//通过:cookies:一个名称"lasttime",找到数组里面对应的cookies,返回这个cookie:值
String value = cookie.getValue();
resp.getWriter().println(value);
//value:获取cookie(这个)的值,
打印在浏览器上面
Cookie c = new Cookie("lasttime", wer); //创建一个cookie, 名称为:lasttime,值为:wer变量对应的值 resp.addCookie(c); //在浏览器添加:增加这个名称的cookie值, 可以
创建:HelloServlet4 extends HttpServlet
这个类
package com.example.demo16;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.net.URLEncoder;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class HelloServlet4 extends HttpServlet { @Override public void init() throws ServletException { super.init(); this.getServletContext().setAttribute("name","张三"); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //super.doGet(req, resp); Cookie[] cookies = req.getCookies(); Cookie cookie = CookieUtils.findCookie(cookies,"lasttime"); System.out.println(cookie); if (cookie==null) { resp.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=UTF-8"); resp.getWriter().println("您好,欢迎来到本网站!
"); } else {resp.setCharacterEncoding("utf-8"); resp.setContentType("text/htm/UTF-8"); resp.getWriter().println("你上一次访问时间是:"); //出现了中文错误 cookie = CookieUtils.findCookie(cookies, "lasttime"); String value = cookie.getValue(); resp.getWriter().println(value); Date d = new Date(); //变化的 SimpleDateFormat sc=new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss"); String wer=sc.format(d); //字符串 System.out.println(wer); //其实就是要设置:时间,时间值为java, 变化的时间 // Cookie c = new Cookie("lasttime","11111"); 这个可以显示 // Cookie c = new Cookie("lasttime","1-1-1-1-1"); // Cookie c = new Cookie("lasttime","2021-11-14");//2021-11-14 20:14不能反映,中文也不能 // Cookie c = new Cookie("lasttime","2021:11:14");// 空格不行 Cookie c = new Cookie("lasttime", wer); resp.addCookie(c); }/*resp.getWriter().println("helloworld");resp.setStatus(302);//resp.setHeader("Location","/demo16_war/helloo");resp.setHeader("Refresh","5,url=/demo16_war/helloo");*/ // String name= (String) this.getServletContext().getAttribute("name"); // System.out.println(name);//text();text(); } protected void text() throws IOException { //Properties properties=new Properties();//创建文件对象 //InputStream is=this.getServletContext().getResourceAsStream("WEB-INF/dp.properties");//这里的路径, // properties.load(is);//String driverClassName=properties.getProperty("driverClassName"); // String url=properties.getProperty("url"); //String password=properties.getProperty("password"); // String usernane=properties.getProperty("username"); // System.out.println(driverClassName);//System.out.println(url);//System.out.println(password);//System.out.println(usernane); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date d = sdf.parse(toString()); System.out.println(d); } catch (ParseException e) { e.printStackTrace(); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doPost(req, resp); }}
创建CookieUtils类:
package com.example.demo16;import javax.servlet.http.Cookie;public class CookieUtils { public static Cookie findCookie(Cookie[] cookies, String name){ if(cookies==null){ return null; }else { for(Cookie cookie:cookies){if(name.equals(cookie.getName())) { //找到相等的name名称 return cookie;} } return null; }}}
效果图:
点击刷新页面:
4. 使用cookie注意出现的问题:
Cookie c = new Cookie("lasttime","2021 11 14");
// 空格不行,
返回:乱码
如果:cookievalue值为:中文,就要设置:
resp.setCharacterEncoding("utf-8");
响应设置为:utf-8,解决中文乱码
下面:
String werr="我是谁"; Cookie c = new Cookie("lasttime", werr); resp.addCookie(c);
还有:
可以在 resp.getWriter().println
:放html标签
需要resp.setContentType("text/html;charset=UTF-8");
//来解析
resp.setContentType("text/html;charset=UTF-8"); resp.getWriter().println("你上一次访问时间是:
");
以上是"JavaWeb会话技术怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
名称
时间
中文
技术
数组
浏览器
用户
篇文章
utf-8
浏览
不行
乱码
元素
内容
对象
文件
空格
网站
上一
变化
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
web服务器文件管理
网络安全案例arp
网络安全技术课程目录
mysql 数据库注释
laravel配置数据库
html 数据库操作系统
在数据库技术中实体联系
亲子网络安全绘画
网络安全两字词语
服务器双备份
有专门PK服务器的游戏
电脑网络服务器连接设置
怎么把数据库导出来
饥荒服务器模式
网络安全与政治风险
英语网络安全小作文
2017新专业 网络安全
加强网络安全宣传方案
g3笔记本网络安全系统
苏州嘉晟博远互联网科技
论坛服务器软件
智恩网络技术有限公司
华为手机web服务器配置
在数据库技术中实体联系
云数据库高并发问题如何解决
网络安全与执法技术
r服务器外网屏蔽
互联网科技泛
天勤振邦软件开发
专业网络技术联系方式