概述
在使用JSP内置对象的时候、不需要先定义这些对象,直接使用即可。(使用java、具有强大的对象处理能力、一般是先实例化一个对象、然后通过对象调用相应的属性和方法。为了简化创建对象这个过程、直接使用内置函数)
1、request对象
通过request对象提供的相应方法可以获取处理客户端浏览器提价的HTTP请求中的各项参数。
主要包括:请求参数、请求方式、系统信息、HTTP头信息
1.1、request对象的getParameter()方法获取传递的值。
<%
request.getParameter("id”);//id是传递的参数名
%>
1.2 获取表单提交的信息
String userNname = request.getParameter("username");
其中的username和表单中的name属性对应(比如:input标签中的name属性)
1.3 解决中文乱码
获取访问请求参数乱码
String user = new String(request.getParameter("user").getBytes("iso-8859-1"),"utf-8");
获取表单提交的信息乱码
在获取表单信息前加上这段代码
<%
request.setCharacterEncoding("UTF-8");
%>
1.4、通过request对象进行数据传递
在进行请求转发时,把一些数据传递到转发后的页面进行处理。一般是在controller层
语法格式:
request.setAttribute(String name,Object object);
- name:表示变量名,转发后的页面获取信息就是通过name变量获取
- object:传递的数据信息
request.getAttribute(name);
获取传输的信息
2、response响应对象
response对象用于响应客户请求,向客户端输出信息。
2.1 实现重定向页面
可以将网页重定向到另外一个页面。用户可以在浏览器的地址栏看到跳转后的地址,这一点转发则看不到。重定向后,request中的属性全部失效,开始一个新的request对象。
语法格式:response.sendRedirect(String path);
- path:用于指定目标路径
2.2 处理HTTP头文件
可以设置HTTP响应报头
- 1、设置响应的内容类型
- 2、禁用缓存
- 3、设置页面自动刷新
- 4、定时跳转网页。
2.3 设置输出缓冲
服务器要输出到客户端的内容不会直接写到客户端,先写到缓冲区。
满足下面三个条件将缓冲区内容输出到客户端
- 1、JSP页面的输出信息已经全部写入到缓冲区
- 2、缓冲区已满
- 3、在JSP页面中,调用了response对象的flushbuffer()方法或out对象的flush()方法。
3、out输出对象
向客户端浏览器输出信息,管理应用服务器上的输出缓冲区。
3.1 向客户端输出数据
- 1、print()方法,输出信息不换行
- 2、println()方法,输出信息的同时,还输出一个换行
3.2 管理相应缓冲区
- clear()方法:清除缓冲区
- clearBuffer():清除当前缓冲区中的内容
- flush():刷新流
4、session会话对象
一个会话过程可以看作打电话过程,从拨通电话到挂断就是一次会话过程。在这个谈话中,可以随意交谈。当用户发送请求到服务器,服务器响应请求给客户,这个过程始终保存用户信息,在进行页面跳转时,也会保存用户信息。直到浏览器关闭。
4.1 创建以及获取客户的会话
- setAttribute()方法,将信息保存在session中。
语法格式:
session.setAttribute(String name,Object obj);
- name:session范围内的变量名
- obj:保存的内容
getAttribute()方法,获取session中的信息
语法格式
session.getAttribute(String name);
- name:保存在session中的关键字(也就是setAttribute()方法中的name)
4.2 从会话中移除指定的对象
语法格式:
session.removeAttribute(String name);
- name:指定作用域在session范围内的变量名。保证有效、否则抛出异常
4.3 设置session的有效时间
当用户长时间不进行操作,也就是客户端长时间不向服务端发送请求。
4.4 销毁session
语法格式
session.invalidate();
5、application应用对象
类似系统“全局变量”,保存所有应用程序中的公有数据。服务器启动时创建,服务器停止时销毁。