JSP数据交互
什么是jsp内置对象:jsp内置对象是Web容器创建的一组对象
示例:
<%
int[ ] value = { 60, 70, 80 };
for (int i : value) {
out.println(i);
}
%>
常用的jsp内置对象
out,request,response,session,application
request对象用于处理客户端的的请求
request对象的常用方法:String getParameter(String name) 根据表单组件名称获取提交数据
String[]getParameterValues(String name)获取表单组件对应多个值时的请求数据
void setCharaceterEncoding(String charset)指定每个请求的编码
RequestDispatcher getRequestDispatcher(String path)
返回一个RequestDispatcher对象,该对象的forward( )方法用于转发请求
解决三种乱码的方式:

response对象用于响应客户请求并向客户端输出
页面重定向:void sendRedirect(String location)
客户端将重新发送请求到指定的URL
请求的转发:转发的作用:在服务器 端,将请求发送给服务器上的其他资源,以共同完成一次请求 处理
转发 的实现:RequestDispatcher对象的forward()方法

转发:转发是在服务器端发挥作用,将同一请求在服务器资源之间进行传递
客户端浏览器的地址栏不会显示转向后的地址
重定向:重定向是在客户端发挥作用,通过发送一个新的请求实现页面转向
在地址栏中可以显示转向后的地址
session:一个会话就是在一段时间内,一个客户端与Web服务器的一连串相关的交互过程
方法名称
|
说明
|
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与其父窗口session相同
session对象的失效:
语法:手动设置失效:invalidate()
超时失效
通过setMaxInactiveInterval( )方法,单位是秒


application:实现用户之间的数据共享,作用范围是整个服务器
application对象的常用方法;
void setAttribute(String key,Object value),以key/value的形式保存对象值
Object getAttribute(String key)通过key获取对象值
String getRealPath(String path)返回相对真实路径
对象的作用域:application作用域:对应整个上下文

session:对应一个用户会话

request作用域:对应一次请求

page作用域:对应一个jsp页面运行

cookie:cookile是Web服务器保存在客户端的一系列文本信息
cookie的作用:对特性对象的追踪
实现各种个性服务
简化登录
安全性:容易泄露信息
创建cookie对象
Cookile new Cookile=new Cookile(String key,String value);
写入cookie
response.addCookie(newCookile);
读取cookie
Cookie[]cookies=request.getCookies();
cookie与session的对比
session cookie
在服务器端保存用户数据 在客户端保存用户信息
session保存的是Object类型 cookie保存的是String类型
随会话结束而将其存储的数据销毁 cookie长期保存在客户端
保存重要信息 保存不重要的信息
为什么需要JavaBean
JavaBean的优势:解决代码重复编写,减少代码冗余
功能区分明确
提高代码的维护性
JavaBean及其分类:从JavaBean 的功能上可以分为:封装数据
封装业务
JavaBean:公有类,无参的公有构造方法,属性私有,getter和setter方法