概述

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

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

JSP的内置对象 request和response的更多相关文章

  1. 关于jsp的内置对象request和response的重定向和转化(待补充)

    请求重定向 1.客户端行为 2.response.sengRedirect(): 3.本质上讲,相当于请求两次 4.URL地址会改变 请求转发 1.服务器行为 2.response.getReques ...

  2. ASP内置对象—Request、Response 、Server、Application 、ObjectContent (二)

    Response (应答)对象 Request 对象.用于在HTTP请求期间,訪问不论什么client浏览器传递给server的信息,包含通过URL传递的參数信息.使用GET方法或POST方法传递的H ...

  3. jsp内置对象request 和response

    1.request对象主要用于处理客户端的请求 request对象常用方法 一.String  request.getParameter(String name)             根据页面表单 ...

  4. JavaWeb——JSP内置对象request,response,重定向与转发 学习总结

    什么是JSP内置对象 九大内置对象 requestJSP内置对象 request对象常用方法 request练习 responseJSP内置对象 response练习 response与request ...

  5. JSP的内置对象(上)

    1.JSP内置对象的概念:JSP的内置对象时Web容器所创建的一组对象,不使用new关键字就可以使用的内置对象 2.JSP九大内置对象内置对象:out ,request ,response ,sess ...

  6. JSP的执行原理、JSP的内置对象、四大作用域解析、MVC模式理解>从零开始学JAVA系列

    目录 JSP的执行原理.JSP的内置对象.四大作用域解析.MVC模式理解 JSP的执行原理 这里拿一个小例子来解析JSP是如何被访问到的 首先将该项目部署到tomcat,并且通过tomcat启动 通过 ...

  7. 什么是jsp?jsp的内置对象有哪些?

    这里是修真院前端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析前端知识/技能,本篇分享的是: [什么是jsp? ...

  8. JSP的内置对象以及作用域。

    最近在面试,一些基础的问题总是会被问到,虽然是基础,但是有些东西在工作中用的少,所以就有些记不清了,在面试的时候更因为紧张很容易造成原先知道的知识也会突然忘了的情况发生.所以在重新组织一下jsp的内置 ...

  9. JSP&EL 内置对象

    JSP&EL 内置对象 转载▼   具体的JSP和El中的内置对象见下表,由于我写在了excel中,也不知道怎么把excel发出来,就截了图. 相关问题: Q1: JSP:EL中 pageCo ...

随机推荐

  1. [原创] RestartPC64-中文版v1.0.0.9

    原来发布的RestartPC-中文版和英文版v1.0.0.5,在PE64下无效.所以重新编译了64位版的RestartPC64-中文版v1.0.0.9,可以在PE64下面.正常Win64系统下面重启关 ...

  2. C 语言 时间函数使用技巧(汇总)

    time.h 头文件 是 C 语言中 有关 时间的函数所储存的头文件 #include <time.h> 在介绍时间函数用法之前,我们首先要了解在 time.h 头文件中已经声明了的一个结 ...

  3. MybatisPlus——实现多数据源操作

    多数据源 适用:一般工作时候会有多个数据库,每个库对应不同的业务数据.程序如果每次数据都访问同一个数据库,该数据库压力很大访问会很慢. 官方文档:https://baomidou.com/(建议多看看 ...

  4. Canvas 线性图形(一):路径

    路径的概念 路径是从起始点到结束点之间的连线.个人认为,二维画布中分为线性图形和非线性图形,线性图形包括矩形.直线.曲线.圆形等各种几何图形:非线性图形包括图象.文本.像素.线性图形中又分为路径和非路 ...

  5. 从零开始Blazor Server(12)--编辑菜单

    上个星期有点事,导致没法及时更新.现在我们继续更我们的从零开始系列. 这个系列也快要结束了,目前规划再有2-3篇,就结束了. 今天我们来说编辑菜单的问题,说实话菜单这种东西,你不更新代码加个页面,单独 ...

  6. docker的volume和bind mount究竟有什么区别?

    不知道你在使用docker的时候,有没有注意到volume mount和bind mount的使用? 进一步说,他们之间的区别到底是什么? 接下来的内容,我们就为你揭开他们的神秘面纱. 相同之处 首先 ...

  7. CF1204E Natasha, Sasha and the Prefix Sums (卡塔兰数推理)

    题面 题解 把题意变换一下,从(0,0)走到(n,m),每次只能网右或往上走,所以假设最大前缀和为f(n),那么走的时候就要到达但不超过 y = x-f(n) 这条线, 我们可以枚举答案,然后乘上方案 ...

  8. 第二十二篇:有关插槽solt的使用

    1.什么是插槽? 插槽就是子组件中的提供给父组件使用的一个占位符,用<slot></slot> 表示, 父组件可以在这个占位符中填充任何模板代码,如 HTML.组件等,填充的内 ...

  9. Linux虚拟机破解密码步骤

    Linux破解密码 重启系统 到达logo界面快速 按 e 编辑当前条目 将光标移至以 linux 开头的行,此为内核命令行 在UTF-8(RHEL7):ro(RHEL8)后添加 rd.break ( ...

  10. Spark 读 Hbase

    package com.grady import org.apache.hadoop.hbase.HBaseConfiguration import org.apache.hadoop.hbase.c ...