JSP的内置对象 request和response


概述
在使用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应用对象

类似系统“全局变量”,保存所有应用程序中的公有数据。服务器启动时创建,服务器停止时销毁。

posted on 2022-08-28 22:18  热爱技术的小郑  阅读(225)  评论(0编辑  收藏  举报