第二章 JSP交互
JSP 内置对象 :
out 用于向客户输出数据
request 请求 用于处理客户端请求的数据信息
常用方法名称 说明
String getParameter(String name) 根据表单组件名称获取提交数据
String[ ] getParameterValues(String name) 获取表单组件对应多个值时的请求数据
void setCharacterEncoding(String charset) 指定每个请求的编码
RequestDispatcher getRequestDispatcher(String path) 返回一个RequestDispatcher对象,该对象的forward( )方法用于转发请求
response 响应 用于响应客户请求并向客户端输出信息
session 会话 用于记录会话状态的相关信息
常用方法名称 说明
String getId() 获取sessionid
void setMaxInactiveInterval(int interval) 设定session的非活动时间
int getMaxInactiveInterval() 获取session的有效非活动时间(以秒为单位)
void invalidate() 设置session对象失效
void setAttribute(String key, Object value) 以key/value的形式保存对象值
Object getAttribute(String key) 通过key获取对象值
void removeAttribute(String key) 从session中删除指定名称(key)所对应的对象
每个session对象都与一个浏览器窗口对应 ,重新开启一个浏览器窗口,可以重新创建一个session对象(不同版本浏览器可能有所差别)
通过超链接打开的新窗口,新窗口的session与其父窗口的session相同
application 整个项目运行的周期 类似于系统的全局变量,用于实现Web应用中的资源共享
cookie 是Web服务器保存在客户端的一系列文本信息
作用: 1.对特定对象的追踪 2.实现各种个性化服务 3.简化登录
创建cookie对象
Cookie newCookie = new Cookie(String key, String value);
写入cookie
response.addCookie(newCookie);
读取cookie
response.addCookie(newCookie);
常用方法名称 说明
void setMaxAge(int expiry) 设置cookie的有效期,以秒为单位
void setValue(String value) 在cookie创建后,对cookie进行 赋值
String getName() 获取cookie的名称
String getValue() 获取cookie的值
int getMaxAge() 获取cookie的有效时间,以 秒为单位
session cookie
在服务器端保存用户信息 在客户端保存用户信息
session中保存的是Object类型 cookie保存的是 String类型
随会话的结束而将其存储的数据销毁 cookie可以长期保存在客户端 保存重要的信息 保存不重要的用户信息
中文乱码修改方法
1.// 以POST方式提交数据时
// 设置读取请求信息的字符编码为UTF-8
request.setCharacterEncoding("UTF-8");
2.// 以GET方式提交数据时
// 读取用户名和密码
String name = request.getParameter("name");
// 对请求数据进行字符编码
name = new String(name.getBytes("ISO-8859-1"), "UTF-8");
3.在Tomcat目录结构confserver.xml中设置字符集
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"
/>
转发 作用: 在服务器端,将请求发送给服务器上的其他资源,以共同完成一次请求的处理
转发是在服务器端发挥作用,将同一请求在服务器资源之间进行传递
客户端浏览器的地址栏不会显示转向后的地址
实现:RequestDispatcher对象的forward()方法
重定向 重定向是在客户端发挥作用,通过发送一个新的请求实现页面转向
在地址栏中可以显示转向后的地址
void sendRedirect(String location)