1.向回话中添加信息
HttpSession session = request.getSession();
/*系统从cookie提取用户ID,然后以该ID为键,访问HttpSession对象组成的表。
*如果session == null的话,系统默认创建一个新的空session,同时还会创建一个名为JSESSIONID的cookie(允许使用)。
*有时候创建一个新的session是一种浪费,可以使用getSession(false)禁止这种创建。
*/
SomeClass value = (SomeClass)sesson.getAttribute("someIdentifier");
/*
*可以调用getAttributeNames()得到所有属性的一个Enumeration.
*/
if(value == null){
value = new SomeClass(....);
session.setAttribute("someIdentifier", value);
/*
*属性类型只要是Object就可以了
*/
}
doSomethingWith(value);
2.对url进行编码
1)String originalURL = ....;
String encodeURL =response.encodeURL(originalURL);
out.println("<A HREF=\" " + encodeURL + "\">...</A>");
2) String originalURL = ....;
String encodeURL =response.encodeRedirectURL(originalURL);
response.sendRedirect(encodeURL);
由于在sendRedirect调用中,URL是放在Location响应报头的,这种情况下,要根据不同的规则确定是否需要附加会话信息,因此不能使用encodeURL.