@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)
