在一次web活动中保存参数有四种方法,分别是创建Cookie缓存、GET方法、POST方法(表单隐藏域提交)以及直接利用Session会话。
Cookie缓存是由浏览器以缓存文件的形式保存至本地,创建时需指明其生命周期,以秒为单位,过期会消失,可以同时拥有多个Cookie缓存。
本例用到的流程如下:
首先创建Cookie对象:
Cookie ck = new Cookie(key,value);
设置该对象的存活时间:
ck.setMaxAge(60*60);
将该Cookie对象加入响应信息中:
response.addCookie(ck);
写一个JSP页面show.jsp来管理缓存:
<table class="table table-strap table-hover table-borderd">
<tr>
<td>Cookie名</td>
<td>Cookie值</td>
</tr>
<%
Cookie[] cks = request.getCookies();
for (Cookie ck : cks) {
String key = URLDecoder.decode(ck.getName(),"UTF-8");
String value = URLDecoder.decode(ck.getValue(),"UTF-8");
%>
<tr>
<td><%=key %></td>
<td><%=value %></td>
</tr>
<% } %>
</table>
在JSP中用到Cookie与URLDecoder类必须要引入如下jar包:
<%@ page import="javax.servlet.http.Cookie"%>
<%@ page import="java.net.URLDecoder" %>
附:
定位到项目的根路由,servlet中调用requst.getContextPath()方法、JSP中使用${pageContext.request.contextPath}即可
servlet转发请求,使用request.getRequestDispatcher("jsp/html文件路径").forward(request,response);
servlet重定向,使用response.sendRedirect("");