前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JSP内置对象

JSP内置对象

作者头像
别团等shy哥发育
发布2023-02-27 10:15:10
5240
发布2023-02-27 10:15:10
举报
文章被收录于专栏:全栈开发那些事

4.JSP隐式对象

4.1 什么是隐式对象:在jsp页面里面,jsp提供了一些对象,不用咱们自己创建,可以直接使用的对象 jsp常见的九大隐式对象: request:HttpServletRequest,请求对象,它同时也是域对象,作用范围一次请求 reqponse:HttpServletResponse,响应对象 session:HttpSession,会话对象,它同时也是域对象,作用范围一次会话。 application:ServletContext,上下文对象,同时也是域对象,作用范围整个项目。 config:ServletConfig,配置对象 out:JspWriter,其实和PrintWriter作用差不多 page:Object,代表当前jsp的页面对象。 pageContext:PageContext,jsp容器 exception:Throwable,异常对象,用来捕获异常信息。 只有当前jsp页面有isErrorPage="true"这个属性是,才能使用exception对象 4.2 out对象 out对象在输出内容到网页上面去,最终通过response缓冲区输出。

例如:

代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=UTF-8"
			    pageEncoding="UTF-8"%>
			<!DOCTYPE html>
			<html>
			<head>
			<meta charset="UTF-8">
			<title>Insert title here</title>
			</head>
			<body>
			<%
			//1.使用out隐式对象输出内容:JspWriter
			out.println("first line<br/>");
			//2.使用PrintWriter输出
			response.getWriter().print("second line<br/>");
			%>
			</body>
			</html>

运行结果:

在这里插入图片描述
在这里插入图片描述

运行结果分析:

在这里插入图片描述
在这里插入图片描述

4.3 pageContext对象 功能:[1]获取其它八个隐式对象 获取请求对象:getRequest(); 获取响应对象:getResponse(); 获取输出对象:getOut(); -----------------------

[2]操作其它三个域对象:request、session、application pageContext也是一个域对象:作用范围在当前jsp页面。 操作其它三个域对象的方法: (1)存值:setAttribute(String key,Object obj,int scope) APPLICATION_SCOPE:对应的是application REQUQEST_SCOPE:对应的是request SESSION_SCOPE:对应的是session PAGE_SCOPE:对应的是自己 pageContext (2)取值:getAttribute(String key,int scope); 结论:在pageContext域对象使用findAttribute(String key);方法获取值,进行了全域查找 查找范围:pageContext–>request–>session–>application 首先找域作用范围效地对象,如果有值,获取到,如果域作用范围效地对象不存在对应 的值 , 就继续向下寻找。 4.4 Exception对象 它是用来捕获异常信息的。会用到两个属性。 – errorpage:属性对应的值,处理异常信息的页面,就是说在当前页面发生了异常,跳转到处理异常信息的界面

代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=UTF-8"
			    pageEncoding="UTF-8" errorPage="error.jsp"%>
			<!DOCTYPE html>
			<html>
			<head>
			<meta charset="UTF-8">
			<title>Insert title here</title>
			</head>
			<body>
			<%
			int a=3;
			int b=0;
			%>
			输出:<%=a/b %>
			</body>
			</html>

–isErrorPage:属性对应的值是true或者false,如果为true,在当前页面可以使用exception对象

代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=UTF-8"
		    pageEncoding="UTF-8" isErrorPage="true"%>
		<!DOCTYPE html>
		<html>
		<head>
		<meta charset="UTF-8">
		<title>Insert title here</title>
		</head>
		<body>
		输出异常信息:<%=exception.getMessage() %>
		</body>
		</html>

运行结果:(这里是发生异常,跳转到error.jsp页面)

在这里插入图片描述
在这里插入图片描述

4.5 动作元素 4.5.1jsp:include动作元素:动态包含 动态包含:把其他资源页面的内容,合并到当前要包含的页面,最后一块输出。 基本语法格式:<jsp:include page=“被包含页面的url” flush=“true或者false”> </jsp:include> 动态包含特点:多个页面内容合并输出,多个jsp页面生成多个java文件,编译成多个class文件。 静态包含 特点:多个页面的内容合并输出,多个jsp页面最终生成一个java文件,编译一个class文件。 Dynamicinclude.jsp:

代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=UTF-8"
		    pageEncoding="UTF-8"%>
		<!DOCTYPE html>
		<html>
		<head>
		<meta charset="UTF-8">
		<title>Insert title here</title>
		</head>
		<body>
		dynamicinclude页面的中文---->包含页面
		<jsp:include page="included1.jsp" flush="true"></jsp:include>
		</body>
		</html>

Included1.jsp:

代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=UTF-8"
	    pageEncoding="UTF-8"%>
	<!DOCTYPE html>
	<html>
	<head>
	<meta charset="UTF-8">
	<title>Insert title here</title>
	</head>
	<body>
	<%Thread.sleep(5000); %>
	included1页面的中文------>这个就是被包含页面。
	
	</body>
	</html>

4.5.2 jsp:forward动作元素:请求转发。 它的作用实现请求转发,效果等同于RequestDispathcer对象的forward方法 基本语法格式<jsp:forward page=“转发页面的url地址”></jsp:forward> 转发页面的url地址:不需要携带项目名称,因为转发是服务器内部行为。 例如: jspforward.jsp如下:

代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=UTF-8"
				    pageEncoding="UTF-8"%>
				<!DOCTYPE html>
				<html>
				<head>
				<meta charset="UTF-8">
				<title>Insert title here</title>
				</head>
				<body>
				转发到欢迎页面:
				<jsp:forward page="welcome.jsp"></jsp:forward> 
				</body>
				</html>
代码语言:javascript
复制
			welcome.jsp如下:
代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=UTF-8"
				    pageEncoding="UTF-8"%>
				    <%@page import="java.util.Date"%>
				<!DOCTYPE html>
				<html>
				<head>
				<meta charset="UTF-8">
				<title>Insert title here</title>
				</head>
				<body>
				欢迎您来访问。当前的访问时间:
				<% out.println(new Date().toLocaleString()); %>
				</body>
				</html>

运行结果:

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 4.JSP隐式对象
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档