zoukankan      html  css  js  c++  java
  • 使用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)

     

     

  • 相关阅读:
    JavaScript OOP 思想
    单页界面和 AJAX 模式
    jQuery 的 ready 函数是如何工作的?
    Dojo系列教程
    谈谈javascript语法里一些难点问题(一)
    2014年总结、2015年的小计划--女生程序员小感想
    Android名词解释
    【JS】defer / async
    关于对defer的理解.
    defer和async的区别
  • 原文地址:https://www.cnblogs.com/ww103/p/11955610.html
Copyright © 2011-2022 走看看