jsp的九大内置对象和四大作用域<2>

本文介绍了JSP中常用的五个内置对象:Response、Out、Config、Exception和PageContext,包括它们的功能、应用场景及示例代码。

9个内置对象为:pageContext,request,response,session,application,config,out,page,exception

需要常用的五个内置对象

1.Response

Response内置对象和Request内置对象时对应的,Response内置对象用于响应客户请求,向客户端输出信息;

javax.servlet.HttpServletResponse接口


自动刷新应用

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
	//每隔一秒刷新一次页面
	response.setHeader("refresh","1");
	//获取当前时间
	Date myDate=new Date();
%>
当前时间:<%=myDate.toLocaleString()%>
</body>
</html>


页面重定向应用 客户端跳转

<body>
<%
	//重定向,客户端跳转
	response.sendRedirect("index.html");
%>
</body>


操作cookie应用

存放在客户端的与session不同

post get方法比较 post放数据包里 get放url后面 get数据量小,不安全;

response03.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script type="text/javascript">
	function resetValue() {
		document.getElementById("userName").value = "";
		document.getElementById("pwd").value = "";
	}
</script>
<%
	String userName = null;
	String pwd = null;
	Cookie[] cookies = request.getCookies();
	for (int i = 0; cookies != null && i < cookies.length; i++) {
		if (cookies[i].getName().equals("userNameAndPwd")) {
			userName = cookies[i].getValue().split("-")[0];
			pwd = cookies[i].getValue().split("-")[1];
		}
	}


	if (userName == null) {
		userName = "";
	}


	if (pwd == null) {
		pwd = "";
	}
%>
</head>
<body>


	<form action="userLogin.jsp" method="post">
		<table>
			<tr>
				<td>用户名:</td>
				<td><input type="text" id="userName" name="userName"
					value="<%=userName%>" /></td>
			</tr>
			<tr>
				<td>密码:</td>
				<td><input type="password" id="pwd" name="pwd"
					value="<%=pwd%>" /></td>
			</tr>
			<tr>
				<td>记住密码:</td>
				<td><input type="checkbox" id="remember" name="remember"
					value="remember-me" /></td>
			</tr>
			<tr>
				<td><input type="submit" value="登录" /></td>
				<td><input type="button" value="重置" onclick="resetValue()" /></td>
			</tr>
		</table>
	</form>
</body>
</html>


userLongin.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<%@ page import="javax.servlet.http.*"%>


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
	<%
	String userName=request.getParameter("userName");  // 获取用户名
	String pwd=request.getParameter("pwd");  // 获取密码
	String remember=request.getParameter("remember");  // 获取记住密码
	
	if("remember-me".equals(remember)){
		Cookie userNameAndPwd=new Cookie("userNameAndPwd",userName+"-"+pwd);
		userNameAndPwd.setMaxAge(1*60*60*24*7); // cookie记录一个星期
		response.addCookie(userNameAndPwd);  // 保存cookie
		System.out.println("设置Cookie成功");
	}
	response.sendRedirect("response03.jsp");
%>
</body>
</html>

2.out对象

Out内置对象主要用来向客户端输出各种类型的数据,同时还可以管理应用服务器上的输出缓冲区。

所以out内置对象的方法是向客户端输出数据和管理缓冲区;

底层 javax.servlet.jsp.JspWriter抽象类

out01.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
	out.println("<h1>");
	out.println("Hello Jsp Servlet");
	out.println("</h1>");
%>
</body>
</html>


out02.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
	int totalbuffer=out.getBufferSize();  // 获取总共缓冲区的大小
	int available=out.getRemaining(); // 获取未使用的缓冲区的大小
	int user=totalbuffer-available;  // 获取使用的缓冲区大小
	out.println("总共缓冲区的大小:"+totalbuffer);
	out.println("未使用的缓冲区的大小:"+available);
	out.println("使用的缓冲区大小:"+user);
%>
</body>
</html>

3.config对象

Config内置对象是Jsp页面通过Jsp容器进行初始化时被传递的对象。

javax.ServletConfig。

在Servlet初始化的时候,JSP引擎通过config向它传递信息。

这种信息可以是属性名和属性值匹配的参数,也可以是通过SerletContext对象传递的服务器的有关信息。


4.exception对象

Exception内置对象用来处理JSP文件在执行时发生的所有异常,它是java.lang.Throwable类的一个对象。


5.pageContext对象

是一个比较特殊的对象。它相当于页面中所有对象功能的集合,即使用它可以访问到本页面中所有对象。

pageContext内置对象由Jsp容器创建并初始化,pageContext对象提供了对Jsp页面所有对象及控件的访问。


JSP(Java Server Pages)是一种基于Java语言的服务器端网页开发技术,其中包括九大内置对象四大作用域九大内置对象是指在每一个JSP页面中,系统自动为开发者创建的九个对象,分别是: 1. request对象:用于获取HTTP请求的信息,如请求参数、请求头等。 2. response对象:用于设置HTTP响应的信息,如设置返回的内容、重定向等。 3. out对象:用于向客户端输出内容,可以通过该对象在页面中生成动态内容。 4. session对象:用于存储用户的会话信息,可以在不同的页面请求之间共享数据。 5. application对象:用于存储全局的应用程序数据,可供所有用户访问。 6. config对象:用于获取当前JSP页面的配置信息,如JSP的初始化参数等。 7. page对象:代表当前JSP页面本身,可以用于调用页面的方法或属性。 8. exception对象:用于处理JSP页面中的异常,可以获取异常的相关信息。 9. pageContext对象:包含了对其他八个内置对象的引用,可用于简化代码的编写。 四大作用域是指在JSP中定义的存储数据的范围,分别是: 1. page作用域:数据的作用范围限定在当前JSP页面,即页面级别的作用域。 2. request作用域:数据的作用范围限定在一次HTTP请求与响应过程中,可供同一请求中的不同页面共享。 3. session作用域:数据的作用范围限定在用户的整个会话过程中,可供不同请求页面共享。 4. application作用域:数据的作用范围限定在整个Web应用程序中,可供所有用户所有请求共享。 通过合理的使用这九大内置对象四大作用域,可以方便地处理页面间的数据传递数据共享,提高JSP网页开发的效率灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值