JAVA Web入门之JSP内置对象的解析及使用(超详细必看)

article/2025/9/29 11:30:56

创作不易 觉得有帮助请点赞关注收藏~~

概述:由于JSP使用java作为脚本语言 所以JSP具有强大的对象处理能力 并且可以动态创建web页面内容 但java语言在使用一个对象前  需要先实例化这个对象 为了简化开发 JSP提供了一些内置对象 用来实现JSP应用 在使用JSP内置对象时  不需要提前定义这些对象  直接使用即可

1:request

request对象封装了由客户端生成的HTTP请求的所有细节 主要包括HTTP头信息 系统信息 请求方式和请求参数等等 通过request对象提供的相应方法可以处理客户端浏览器提交的http请求中的各项参数

通过request对象的getParmeter()方法获取传递的参数值

语法如下

<%
request.getParmeter("id");
%>

实例如下 创建index.jsp文件 在该文件中添加一个连接到deal.jsp页面的超链接 并传递两个参数

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><html>
<head>
<meta  http-equiv="Content-Type"  content="text/html;charset=utf-8">
<title>使用request对象获取请求参数值</title>
</head>
<body>
<a href="deal.jsp? id=1&user">处理页</a>
</body>
</html>

创建deal.jsp文件 

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<%
String id=request.getParameter("id");
String user=request.getParmeter("user");
String pwd=request.getParmeter("pwd");%>
<html>
<head>
<meta http-equiv="Content-Type"  content="text/html;charset=utf-8">
<title>处理页</title>
</head>
<body>
id参数的值为:<%=id %><br>
user参数的值为:<%=user %><br>
pwd参数的值为:<%=pwd %> </body>
</html>

1.2:在作用域中管理属性

使用setAttribute()方法将数据保存到request范围内的变量中

使用getAttribute()方法可以读取request范围内的变量

实例如下

index1.jsp文件如下

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><html>
<head>
<meta  http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
try{int money=100;int number=0;request.setAttribute("result",money/number);}
catch(Exception e){request.setAttribute("result","很抱歉 页面产生错误");}%>
<jsp:forward page="deal1.jsp"/>
</body>
</html>

deal1.jsp文件如下

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta  http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>结果页</title>
</head>
<body>
<%String message=request.getAttribute("result").toString(); %>
<%=message %>
</body>
</html>

1.3:解决中文乱码

所有的request请求对象都是  iso-8859-1的 在此页面中采用的是utf-8的编码方式 只要将获取到的数据通过String的构造方法使用指定的编码类型重新构造一个string对象 就可以解决此问题

关键代码如下

<body>
name参数的值为<%=new String(request.getParmeter("name").getBytes("ISO-8859-1"),"UTF-8")%>
sex参数的值为<%=request.getPatmeter("sex")%>
</body>

1.4:获取客户端信息

通过request对象可以获取客户端的相关信息

部分方法实例如下

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta  http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<br>客户提交信息的方式<%=request.getMethod() %>
<br> 使用的协议<%=request.getProtocol() %>
<br> 获取发出请求字符串的客户端地址<%=request.getRequestURL() %>
<br> 获取提交数据的客户端IP地址<%=request.getRemoteAddr() %>
<br> 服务器端口号<%=request.getServerport() %>
<br> 获取服务器的名称<%=request.getServerName() %>
<br> 获取客户端所请求的脚本文件的文件路径<%=request.getServletPath() %>
<br> 获得HTTP协议定义的文件头信息host的值<%=request.getHeader("host") %>
</body>
</html>

2:response

response对象用于响应客户请求 向客户端输出信息 它封装了JSP产生的响应 并发送到客户端以响应客户端的请求 请求数据可以是各种数据类型 甚至是文件。

2.1:重定向网页 

使用response对象提供的sendRedirect()对象可以将网页重定向到另一个页面 重定向操作支持将地址重定向到不同的主机上  这一点与转发不同 在客户端浏览器上将会得到跳转的地址 并重新发送请求链接 用户可以从浏览器的地址栏中看到跳转后的地址  进行重定向地址后 request中的属性全部失效  并且开始一个新的request对象 语法如下

response.sendRedirect(String path);

2.2:处理http文件头

禁用缓存 

在默认的情况 浏览器会对显示的内容内容进行缓存 这样 当用户再次访问相关网页时,浏览器会判断网页是否有变化  如果没有变化则直接显示缓存中的内容 这样可以提高网页的显示速度 对于一些安全性较高网站 通常需要禁用缓存 语法如下

<%
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
%>

2.3:设置页面页面自动刷新

通过设置HTTP头还可以实现页面的自动刷新 语法如下

<%
response.setHeader("refresh","10");
%>

2.4:定时跳转网页

通过设置HTTP头还可以实现定时跳转网页的功能 语法如下

<%
response.setHeader("refresh","5; URL=login.jsp");
%>

2.5:设置输出缓冲

通常情况下 服务器要输出到客户端的内容不会直接写到客户端 而是写到一个输出缓冲区  语法如下

response.setBufferSize(32);

3: session

session在网络中被称为会话 由于HTTP协议是一种无状态协议 服务器并不保存相关的信息 所以session可以在应用程序的web页面进行跳转 保存用户的状态  使整个用户会话一直存在下去 部分方法语法如下

session.setAttribute(String name,Object obj)
session.getAttribute(String name)

3.1:从会话中移动指定的绑定对象

对于存储在session会话中的对象 如果想删除 可以使用session对象的removeAttribute方法

removeAttribute(String name)

3.2:销毁session

session.invalidate()

4:application

application对象用于保存所有应用程序中的公有数据 它在服务器启动时自动创建 在服务器停止时销毁 有点类似于系统的全局变量

应用getAttribute方法获取web.xml中定义的全部应用程序初始化参数名 并通过循环输出 代码如下

<%@ page import="java.util.*"%>
<%
Enumeration enema=application.getInitParameterNames();
while(enema.hasMoreElements()){
String name=(String)enema.nextElement();
String value=application.getInitParameter(name);
out.printIn(name+"");
out.printIn(value);
}
%>

5:out

out对象一个最基本的应用就是想客户端浏览器输出信息 out对象可以输出各种数据类型的数据.,还可以对缓冲区进行管理

分别有print方法和printIn()方法 都可以用于输出数据 区别不大

out.print()
out.printIn()

6:获取会话范围的pageContext对象

pageContext可以获取页面上下文

7:读取web.xml配置信息的config对象

config对象主要用于取得服务器的配置信息

8:应答或请求的page对象

page对象代表JSP本身 只有在JSP页面内才是合法的 page对象本质上是包含当前Servlet接口引用的变量 可以看作是this关键字的别名  效果如下

 代码如下

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta  http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>page 对象各方法的引用</title>
</head>
<body>
<%! Object object;%>
<ul>
<li>getClass()方法的返回值<%=page.getClass()%></li>
<li>hashCode方法的返回值<%=page.hashCode() %></li>
<li>toString方法的返回值<%=page.toString() %></li>
<li>与object对象比较的返回值<%=page.equals(object) %></li>
<li>与this对象比较的返回值<%=page.equals(this) %></li>
</ul></body>
</html>

9:获取异常信息的exception

exception对象用来处理JSP文件执行时发生的所有错误和异常  只有在page指令中设置isErrorPage属性值为true的页面中才可以被使用 

实例如下 使用exception对象获取异常信息

index4.jsp文件如下

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8" errorPage="error.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta  http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>使用exception对象获取异常信息</title>
</head>
<body>
<%
request.setAttribute("price","12.5元");
float price=Float.parseFloat(request.getAttribute("price").toString());%>
</body>
</html>

error.jsp文件如下

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8" isErrorPage="true"%>
<!DOCTYPE html>
<html>
<head>
<meta  http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>错误提示页</title>
</head>
<body>
错误提示为:<%=exception.getMessage() %>
</body>
</html>

创作不易 觉得有帮助请点赞关注收藏~~


http://chatgpt.dhexx.cn/article/xms9Yuf9.shtml

相关文章

JSP内置对象和四大作用域

一、JSP九大内置对象 名称 类型 含义 获取方式 request HttpSevletRequest 封装所有请求信息 方法参数 response HttpServletResponse 封装所有响应信息 方法参数 session HttpSession 封装所有会话信息 req.getSession() application ServletContext 所有信…

jsp内置对象的作用范围

内置对象的作用范围是指每个内置对象的某个实例在多长时间和多大的范围中有效&#xff0c;即在什么样的范围内可以有效地访问同一个对象实例。 在javax.servlet.jsp.PageContext的类中定义了4个常量来指定内置对象的作用范围&#xff1a;APPLICATION_SCOPE、SESSION_SCOPE、PAG…

JSP内置对象——application对象

在介绍appl ication 对象之前&#xff0c;先简单介绍一些Web 服务器的实现原理。 对于大部分浏览器而言&#xff0c;它通常负责完成三件事情&#xff1a; &#xff08;1&#xff09;向远程服务器发送请求。 &#xff08;2&#xff09;读取远程服务器返回的字符串数据。 &#x…

JSP入门之JSP内置对象

系列文章目录 目录 前言 一、request对象 1.获取用户提交的信息 2.JSP页面文件的编码方式 3.常用方法举例 4.处理HTML标记 5.处理超链接 二、response对象 1.动态响应contentType属性 2.response对象的HTTP文件头 3.response对象的重定向 三、session对象 1.se…

JSP内置对象request

1.request对象 request对象是最常用的JSP内置对象之一,其中包含了有关浏览器请求的信息 可以在JSP页面中通过调用request对象的方法来获取请求中的相关数据以及浏览器的有关信息。 request对象用于处理请求的方法有很多 request的getPaeameter&#xff08;&#xff09;方法是…

【Jsp】第七课 Jsp内置对象的学习和使用

概念 什么是JSP内置对象&#xff1f; } JSP 内置对象是 Web 容器创建的一组对象 } JSP 内置对象是可以直接在 JSP 页面使用的对象 &#xff0c;无需使用“ new” 获取实例 } JSP 内置对象的名称是 JSP 的保留字 } 内置对象说白了就是别人创建好了的对象&#xff0c;我们…

JSP内置对象详解 常用方法

目录 out request response session application exception page config pageContext JSP内置对象的作用域 JSP内置对象是在JSP运行环境中已定义好的对象&#xff0c;可在JSP页面的脚本部分直接使用。 out对象 out 为输出流对象&#xff0c;主要用于向客户端输出流…

JSP内置对象

JSP内置对象的分类内置对象属性保存范围JSP内置对象的常用方法&#xff08;只列了一些&#xff09;小例子 一&#xff1a;JSP内置对象的分类 这些对象不用经过显示声明直接引用&#xff0c;也不用代码创建其实例&#xff0c;可在程序中直接使用&#xff0c;由Web Container为对…

jsp内置对象之request

一、内置对象概述 有些对象不用声明即可在jsp页面的java程序片和表达式中使用&#xff0c;这就是jsp 的内置对象。Jsp的常用的内置对象有request&#xff0c;response&#xff0c;session&#xff0c;aplication和out。Response和request对象是jsp内置对象中比较重要的两个&am…

JSP的内置对象详解

JSP内置对象 文章目录 JSP内置对象前言一、out对象1.原理2. 向客户端输出数据 二、page对象1.范围 三、pageContext 对象1.获取内置对象2.存储数据 四、request对象1.创建及获取请求2.范围 五、response 对象1.重定向网页2.处理HTTP文件头 六、session对象1.创建及获取客户的会…

JSP常用内置对象概述

1、概述 JSP提供了9个预设的对象&#xff0c;我们将其称为内置对象。这些对象内置在JSP网页环境之下&#xff0c;因此用户不需要引用这些对象所属的包&#xff0c;便可以直接在JSP网页中使用这些对象。 如图&#xff1a; (1 ) request与response对象。JSP网页能够具备与用户…

JSP的九种内置对象

JSP有九个内置对象&#xff08;又叫隐含对象&#xff09;&#xff0c;不需要预先声明就可以在脚本代码和表达式中随意使用&#xff0c;即不需要实例化&#xff0c;直接使用其方法即可。 pageppagecontentoutconfigexceptionrequestreponsesessionapplication 作用域&#xff…

JSP九大内置对象

JSP提供了由容器实现和管理的内置对象&#xff0c;也可以称之为隐含对象&#xff0c;由于JSP使用Java作为脚本语言&#xff0c;所以JSP将具有强大的对象处理能力&#xff0c;并且可以动态创建Web页面内容。但Java语法在使用一个对象前&#xff0c;需要先实例化这个对象&#xf…

【JSP内置对象】之9大内置对象(JavaWeb必背必掌握)

JSP内置对象 理解9大内置对象分类1.request&#xff08;请求对象&#xff09;2.response(响应对象)3.session(会话对象)4.application(应用程序对象)5.page(页面对象)6.pageContext(页面上下文对象)7.out(输出对象)8.config(配置对象)9.exception(异常对象) 理解 1.JavaEE规范…

SQL INSERT 语句

INSERT 语句是向表中添加新行&#xff0c;&#xff08;如图所示的是INSERT 语句的最基本形式&#xff09; 1、首先&#xff0c;是要指定要插入的表的名称&#xff08;例如图中的yuangong&#xff09; 2、其次&#xff0c;指定要插入的数据&#xff0c;一个或多个列的列表。必须…

pycharm sql语句插入

一. 二. 开控制台 三. 书写sql语句&#xff0c;点击绿色三角运行

python执行sql 语句

python执行sql 语句 数据etl 过程中会涉及到调度&#xff0c;也就是每天要定时执行的任务&#xff0c;这些任务执行过程中其实是通过底层的脚本代码来进行数据的清洗转换等处理的。而脚本代码中肯定会涉及到调用sql 语句的情况&#xff0c;最近项目正好用到python 脚本调用sql…

通过Navicat 写SQL语句

具体步骤&#xff1a; 1、首先打开要写SQL语句的数据库连接 2、然后点击菜单中的查询&#xff08;query&#xff09; 3、然后点击新建查询 4、然后输入SQL语句&#xff0c;点击运行 &#xff0c;查询到的数据在底部

mysql修改数据sql语句_sql语句修改数据

sql语句修改数据 SQL 中,可以使用 UPDATE 语句来修改、更新一个或多个表的数据。 语法格式为:UPDATE SET 字段 1=值 1 [,字段 2=值 2… ] [WHERE 子句 ] [ORDER BY 子句] [LIMIT 子句] 语法说明如下::用于指定要更新的表名称。 SET 子句:用于指定表中要修改的列名及其列值…

SQL语句常用命令

一、表设计 1、创建表 create table 表名 (字段 字段类型);2、复制表结构及数据 create table 新表 as select * from 旧表3、复制表结构不需要数据 create table 新表 as select * from 旧表 where 2<>24、查看表结构 desc 表名5、复制表数据 insert into 目标表 s…