作者热门文章
- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
会话层技术-session session技术拿下! 。
cookie和session分别都是怎么创建的?
借助这个问题解决response.getWriter()获取的对象是由是创建的?
先简单那介绍下session技术的处理流程:
具体代码实现如下:
package com.atguigu.servlet;
import com.sun.deploy.net.cookie.CookieUnavailableException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet(name = "ServletC", urlPatterns = "/ServletC")
public class ServletC extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//接收请求中的用户参数的值,接收姓名
String username1 = req.getParameter("username");//调用req对象的getParameter方法获得usrname参数的值
//该方法传入参数名,获得参数值
//创建Session对象
HttpSession session1 = req.getSession();//具体含义上述已说
//把用户信息存入Session对象中
session1.setAttribute("username", "yzh");
//查看该Session对象的JSESSION值
String id01 = session1.getId();
System.out.println("JSESSIONID = " + id01);
//响应用户信息
resp.getWriter().println("已响应");
}
}
。
我已经通过ServletC将用户信息存入创建的Session,那怎么来通过下次的访问,根据特殊的cookie来识别用户,并把用户信息提取打印出来呢?ServletB给我们答案(小嘲:有点小风范啊!哈哈) 。
package com.atguigu.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet("/ServletD")
public class ServletD extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session2 = req.getSession();//再次判断session是否已经存在,已经存在,直接瞄准他
System.out.println("上个session的id值是:" + session2.getId());
String username2 = (String)session2.getAttribute("username1");//调用getAttribute()方法得到该用户的属性值
resp.getWriter().println(username2);//来吧,展示!
}
}
让我们每天进步一点点,稳才是长远之道! 。
最后此篇关于会话层技术-session的文章就讲到这里了,如果你想了解更多关于会话层技术-session的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
MQTT会话 为什么需要会话 假如有以下场景,客户端A发送消息到服务端,服务端转发给客户端B,如果这个时候服务端和客户端B的网络连接断开,那么就无法保证消息到达,并且客户端A不知
1.查询数据库当前进程的连接数: 复制代码代码如下: select count(*) from v$process; 2.查看数据库当前会话的连接数:
? 1 2
我是一名优秀的程序员,十分优秀!