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

来源:互联网 发布:淘宝销量优先搜索不到 编辑:程序博客网 时间:2024/06/07 21:44

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);  // 保存cookieSystem.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页面所有对象及控件的访问。


0 0
原创粉丝点击