JSP中的请求、响应、Cookie、会话HttpSession
1.1 请求与响应的基本概念
请求:当用户在浏览器中输入 URL并提交或提交表单时,一个请求即被创建并送到服务器上。
响应:当服务器接收到用户的请求时,会根据用户的具体请求做相应的处理操作,并将操作结果返回给用户。
1.2 request对象的常用方法
object getAttribute(String name) 返回指定属性的属性值
Enumeration getAttributeNames() 返回所有可用属性名的枚举
String getCharacterEncoding() 返回字符编码方式
int getContentLength() 返回请求体的长度(以字节数)
String getContentType() 得到请求体的MIME类型
ServletInputStream getInputStream() 得到请求体中一行的二进制流
String getParameter(String name) 返回name指定参数的参数值
Enumeration getParameterNames() 返回可用参数名的枚举
String[] getParameterValues(String name) 返回包含参数name的所有值的数组
String getProtocol() 返回请求用的协议类型及版本号
String getScheme() 返回请求用的计划名,如:http.https及ftp等
String getServerName() 返回接受请求的服务器主机名
int getServerPort() 返回服务器接受此请求所用的端口号
BufferedReader getReader() 返回解码过了的请求体
String getRemoteAddr() 返回发送此请求的客户端IP地址
String getRemoteHost() 返回发送此请求的客户端主机名
void setAttribute(String key,Object obj) 设置属性的属性值
String getRealPath(String path) 返回一虚拟路径的真实路径
void setCharacterEncoding(String charset) 指定请求的编码
1.3 response对象的常用方法
String getCharacterEncoding() 返回响应用的是何种字符编码
ServletOutputStream getOutputStream() 返回响应的一个二进制输出流
PrintWriter getWriter() 返回可以向客户端输出字符的一个对象
void setContentLength(int len) 设置响应头长度
void setContentType(String type) 设置响应的MIME类型
sendRedirect(java.lang.String location) 重新定向客户端的请求
2 Cookie
Cookie是指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。
2.1 Cookie的使用
创建Cookie
[java]
Cookie c= new Cookie("name","value");
其中,name为创建的Cookie名称,将来读取这个Cookie时使用;value为Cookie对象的值。
读取Cookie
[html]
Cookie cookies[] = request.getCookies();
得到的是一个Cookie数组,使用for循环遍历:
[java]
for(int i=0;i<cookies.length;i++)
System.out.println(cookies[i].getValue());
向客户端添加Cookie
将cookie放入到HTTP响应报头,可以使用HttpServletResponse的addCookie方法
[java]
response.addCookie(c);
删除Cookie
删除Cookie时,只需要将Cookie的最大时效设置为0
[java]
for(int i=0;i<cookies.length;i++){
cookies[i].setMaxAge(0);
response.addCookie(cookies[i])}
3 会话HttpSession
3.1 会话的常用方法www.2cto.com
Object getAttribute(String name) 根据name获取设置的属性值。
void setAttribute(String name,Object value) 设置session对象属性值
void removeAttribute(String name) 删除session对象的name属性
Enumeration getAttributeName() 返回捆绑到当前会话的所有属性名
long getCreationTime() 返回表示会话创建的一个长整型值
long getLastAccessedTime() 最后访问日期和时间的一个长整型值
String getId() 返回会话ID
int getMaxInactiveInterval() 返回会话存活的最大秒数。
void setMasInactiveInterval(int seconds) 设置最大的生存时间
下一篇: 深入理解redis事务