URL重写
URL重写:在客户端禁用cookie的情况下,通过访问地址后加上jsessionid=id确保会话属于同一个会话,可理解为在使用爬虫的时候在那个url后面加上的后缀(关键字查找)
使用URL重写:在禁用cookie后,httpsession接口相当于已失效,不能再多个页面共享一个session,故使用重写确定为同一个会话;
隐藏表单字段
隐藏表单字段:保存隐藏字段,保存状态信息,不适合所有页面的访问,可用于页面级的数据管理,
隐藏字段使用HTML中的hidden字段。将需要保持记录的数据保存在hidden的属性中,利用表单提交传递到下一个页面。
html代码:
<body>
<form method="get" action="http://localhost:8080/myfrist/hidden">
<!--跳转到下一个servlet页面,即hidden.java文件-->
User : <input type=text name="user" align=center><br>
<input type=submit value="Login" align=center>
</form>
</body>
hidden.java的代码:只给出doget内部代码(在HTML代码中定义了使用get请求,如果改为post请求,在servlet的dopost方法当中调用doget方法即可),其余部分不变
System.out.println("=============");
String user = request.getParameter("user");
PrintWriter pw = response.getWriter();
pw.println("<form name=\"login\" action=\"SecondServlet\">");
//跳转到SecondServlet界面当中,
pw.println("<input name=\"user\" type=\"hidden\" value=" + user + ">");
pw.println("<input type=\"submit\" value=\"submit\">");
pw.println("</form>");
response.getWriter().append("Served at: ").append(request.getContextPath());
SecondServlet界面
在该界面我们不需要使用任何代码,这个时候我们可以看到跳转后的网址后面加上了
?user=(输入的值)