使用session存储数据
@WebServlet("/reply")
public class ReplyServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置编码
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=UTF-8");
//创建session对象
HttpSession session = req.getSession();
List<Reply> list = (List<Reply>) session.getAttribute("list");
//判断session中有没有数据 有的话直接跳转 没的话查数据库
if (list==null){
//连接业务层
QuaryServiceImp quaryServiceImp = new QuaryServiceImp();
List<Reply> replies = quaryServiceImp.quaryAll();
session.setAttribute("list", replies);
}
resp.sendRedirect("reply.jsp");
}
}
<%@ page import="java.util.List" %>
<%@ page import="com.bjsxt.entiy.Reply" %><%--
Created by IntelliJ IDEA.
User: 60590
Date: 2019/11/28
Time: 19:36
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<base href=<%= request.getContextPath()%>/>
<script src="jq/jquery-1.9.1.js"></script>
<script>
$(function () {
$("td:even").css("background","pink");
})
</script>
</head>
<body>
<%
HttpSession session1 = request.getSession();
List<Reply> list = (List<Reply>) session1.getAttribute("list");
%>
<table border="1px"width="50%">
<tr>
<th>评论编号</th>
<th>帖子编号</th>
<th>评论作者</th>
<th>评论内容</th>
<th>评论时间</th>
</tr>
<%
for (Reply reply:list) {
%>
<tr>
<td><%=reply.getReplyid()%></td>
<td><%=reply.getTopicid()%></td>
<td><%=reply.getAuthor()%>></td>
<td><%=reply.getContent()%></td>
<td><%=reply.getCreatedate()%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
<%--
Created by IntelliJ IDEA.
User: 60590
Date: 2019/11/28
Time: 19:29
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<base href=<%= request.getContextPath()%>/>
</head>
<body>
<<a href="reply">点击查询全部帖子</a>
</body>
</html>
Cookie与Session的区别
共同点:同一用户的不同请求的数据共享
区别: Cookie是客户端的数据存储技术,
Session是服务器端的数据存储技术
cookie数据存放在客户端,session数据放在服务器上(sessionid可以通过cookie保存在客户端,也可以使用URL重写方式)
•cookie不是很安全(可以加密),别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session
•session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE
•单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。
•Cookie的数据都以字符串的形式保存。Session中可以保存对象信息。
•典型使用
•Cookie:记住我 最近浏览商品 网页皮肤
•session:登录信息 购物车(也可以使用Cookie)
使用session存储数据的更多相关文章
- 一般处理程序ashx中用session存储数据
如果要使用session的话,在handler的代码中添加System.Web.SessionState的引用,并让这个handler继承IRequiresSessionState接口,一定要继承这个 ...
- aJax提交——服务端不能用request存储数据,session存数据客户端可以接收到
aJax提交与普通提交是两种迥异的提交方式,这两种提交方式决定了客户端与服务端交互时存储.传输数据的方式也不同. aJax提交,客户端的请求数据存储在data中,服务端用request.getPara ...
- memcached命令行、Memcached数据导出和导入、php连接memcache、php的session存储到memcached
1.memcached命令行 telnet 127.0.0.1 11211set key2 0 30 2abSTOREDget key2VALUE key2 0 2abEND 如: set key3 ...
- 78)PHP,编写session存储机制(将数据写进数据库)的代码整理(未实验)
<?php function userSessionBegin() { echo '<br>Begin<br>'; //初始化数据库服务器连接,这个函数是最先执行,所以, ...
- Jetty集群配置Session存储到MySQL、MongoDB
在Web开发中,Session表示HTTP服务器与客户端(例如浏览器)的“会话”,每个客户端会有其对应的Session保存在服务器端,通常用来保存和客户端关联的一些信息,例如是否登录.购物车等. Se ...
- Session 知识点再整理(二) 自定义 Session 存储机制
对于访问量大的网站,用默认的 Session 存储方式(以文件存储)不适合,因为文件的 I/O 开销会非常大,另外 Session 机制本身使 Session 不能跨机访问,在 Web 集群中无法达到 ...
- C# redis 分布式session存储
https://github.com/uliian/SessionExtentionStore 一个基于Redis的Session存储扩展方案,解决ASP.NET中Session的局限性和跨应用程序使 ...
- Jetty容器集群配置Session存储到MySQL、MongoDB
在Web开发中,Session表示HTTP服务器与客户端(例如浏览器)的"会话",每个客户端会有其对应的Session保存在服务器端,通常用来保存和客户端关联的一些信息,例如是否登 ...
- HTML5学习笔记之客户端存储数据方法:localStorage(),sessionStorage()
HTML5提供了两种在客户端存储数据的新方法: localStorage():没有时间限制的数据存储 sessionStorage():针对一个session的数据存储 下面的一个例子用localSt ...
随机推荐
- python 之 网络编程(基于TCP协议的套接字通信操作)
第八章网络编程 8.1 基于TCP协议的套接字通信 服务端套接字函数 s.bind() 绑定(主机,端口号)到套接字 s.listen() 开始TCP监听 s.accept() 被动接受TCP客户的连 ...
- doDBA工具使用详解
目录 1.简介 2.下载 3.使用帮助 4.配置 4.1.模板 4.2.启动命令 5.部署流程 5.1.下载 5.2.选定被监控主机 5.3.在被监控主机上添加Linux用户.MySQL 用户 5.4 ...
- python中的可哈希与不可哈希
什么是可哈希(hashable)? 简要的说可哈希的数据类型,即不可变的数据结构(字符串str.元组tuple.对象集objects). 哈希有啥作用? 它是一个将大体量数据转化为很小数据的过程,甚至 ...
- CacheManager.Core
GitHub地址:https://github.com/MichaCo/CacheManager CacheManager的优点: 让开发人员的生活更容易处理和配资缓存,即使是非常复杂的缓存方案. C ...
- PHP写入文件
file_put_contents('log.txt',PHP_EOL.'zhangsan'.$time.'查看了数据', FILE_APPEND);
- WPF窗体动态效果
在浏览网页的时候,发现现在很多网页都采用这种效果.看起来很炫. 效果如下: 已经实现很久了,一直没写出来.今天突然想到,写出来分享一下 原理比较简单,就是在Window里面放一个MediaElemen ...
- NEST 字符串sort
text字符串sort会先分词.可先建立filed字段.并设置为keyword mapping public void Mapping() { var response = client.IndexE ...
- Mac 磁盘分区格式
Mac 磁盘分区格式 来源 https://www.chadou.me/p/190 参考文章 macOS磁盘工具帮助 在Mac系统中抹掉(格式化)磁盘的时候,要求选择分区方案,包括GUID分区图.主引 ...
- spring的事务传播行为与隔离级别
具体请参考blog:https://bbs.csdn.net/topics/391875990 要明白2个概念: 1.“spring的事务传播属性” 2.“spring的事务隔离级别” 例如正常的sp ...
- UCOSIII内建消息队列
使能内建消息队列 将OS_CFG_TASK_Q_EN置1 API函数 #if OS_CFG_TASK_Q_EN > 0u //删除 OS_MSG_QTY OSTaskQFlush (OS_TCB ...