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

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="重置" οnclick="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页面所有对象及控件的访问。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值