JSP九大内置对象
来源:互联网 发布:网络备案登记管理规定 编辑:程序博客网 时间:2024/06/10 19:26
1.out对象
out对象是JspWriter类的实例,是向客户端输出内容常用的对象.
编号方法说明1void clear()清除缓冲区的内容,如果在flush()以后调用此方法会抛出异常2void clearBuffer()清除缓冲区的当前内容,如果在flush()以后调用此方法不会抛出异常3void flush()清空流4int getBufferSize()返回缓冲区以字节数的大小,如不设缓冲区则为05int getRemaining()返回缓冲区还剩余多少可用6boolean isAutoFlush()返回缓冲区满时,是自动清空还是抛出异常7void close()关闭输出流8void println()向客服端打印字符串<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!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>out对象的使用</title></head><body><%out.println("<h1>静夜思</h1><br/>");out.println("床前明月光<br/>");out.println("疑是地上霜<br/>");out.flush();//out.clear();//此处会报错out.clearBuffer();//使用clearBuffer清除不会报错out.println("举头望明月<br/>");out.println("低头思故乡<br/>");%>缓冲区大小:<%=out.getBufferSize() %>缓冲区剩余大小:<%=out.getRemaining() %>是否自动清除缓冲区:<%=out.isAutoFlush() %></body></html>
2.request对象
客户端的请求信息被封装在request对象中
通过它才能了解到客户的需求,然后做出响应.它是HttpServletRequest类的实例.
编号方法说明1object getAttribute(String name)返回指定属性的属性值2Enumeration getAttributeNames()返回所有可用属性名的枚举3String getCharacterEncoding()返回字符编码方式4int getContentLength()返回请求体的长度(以字节数)5String getContentType()得到请求体的MIME类型6ServletInputStream getInputStream()得到请求体中一行的二进制流7String getParameter(String name)返回name指定参数的参数值8Enumeration getParameterNames()返回可用参数名的枚举9String[] getparameterValues(String name)返回包含参数name的所有值的数组10String getProtocol()返回请求用的协议类型及版本号11String getScheme()返回请求用的计划名,如:http https及ftp等12int getServerPort()返回服务器接受此请求所用的端口号13String getServerName()返回接受请求的服务器主机名14BufferedReader getReader()返回解码过了的请求体15String getRemoteAddr()返回发送此请求的客户端IP地址16String getRemoteHost()返回发送此请求的客户端主机名17void setAttribute(String key Object obj)设置属性的属性值18String getRealPath(String path)返回一虚拟路径的真实路径19void setCharacterEncoding("gb2312")设置接受参数的字符集
<?xml version="1.0" encoding="UTF-8" ?><%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"xmlns:f="http://java.sun.com/jsf/core"xmlns:h="http://java.sun.com/jsf/html"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>注册页面</title></head><body><form action="loginSucceed.jsp" name="loginForm" method="post"><h1>用户注册</h1><hr /><table><tr><td>账号:</td><td><input type="text" name="username" /></td></tr><tr><td>密码:</td><td><input type="password" name="password" /></td></tr><tr><td colspan="2">爱好: <input type="checkbox" name="hobby"value="sing" id="hobby1" /><label for="hobby1">唱歌</label> <input type="checkbox" name="hobby" value="read" id="hobby2" /><label for="hobby2">阅读</label> <input type="checkbox" name="hobby"value="internet" id="hobby3" /><label for="hobby3">上网</label> <input type="checkbox" name="hobby" value="run" id="hobby4" /><label for="hobby4">跑步</label></td></tr><tr><td colspan="2"><input type="submit" name="login" value="登录" /></td></tr></table></form><a href="loginSucceed.jsp?username=张三&password=王二">跳转</a></body></html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!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>登录成功</title></head><body><h1>用户登录成功</h1><%request.setCharacterEncoding("utf-8"); %><%--解决提交表单中的中文乱码问题 --%><%request.setAttribute("password", "123456"); %><hr>用户名:<%=request.getParameter("username") %><br>密码:<%=request.getParameter("password") %><br>爱好:<%String[] str = request.getParameterValues("hobby");if(str!=null){for(int i=0;i<str.length;i++){out.println(str[i]+" ");}}%><br>getAttribute:<%=request.getAttribute("password")%><br>请求体的MIME类型:<%=request.getContentType() %><br>协议类型及版本号:<%=request.getProtocol() %><br>服务器主机名:<%=request.getServerName() %><br>服务器端口号:<%=request.getServerPort() %><br>请求文件的长度:<%=request.getContentLength() %><br>请求客服端的IP地址:<%=request.getRemoteAddr() %><br>请求的真实路径:<%=request.getRealPath("request.jsp") %><br>请求的上下文路径:<%=request.getContextPath() %><br></body></html>
页面显示:用户名:张三丰密码:1324爱好:internet run getAttribute:123456请求体的MIME类型:application/x-www-form-urlencoded协议类型及版本号:HTTP/1.1服务器主机名:localhost服务器端口号:8080请求文件的长度:100请求客服端的IP地址:0:0:0:0:0:0:0:1请求的真是路径:F:\Java\workspace\workspace_ee\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\MyWebTest\request.jsp请求的上下文路径:/MyWebTest
3.response对象
response对象包含了响应客户请求的有关信息
但在JSP中很少直接用到它,它是HttpServletResponse类的实例.
编号方法说明1String getCharacterEncoding()返回响应用的是何种字符编码2ServletOutputStream getOutputStream()返回响应的一个二进制输出流3PrintWriter getWriter()返回可以向客户端输出字符的一个对象4void setContentLength(int len)设置响应头长度5void setContentType(String type)设置响应的MIME类型6sendRedirect(java.lang.String location)重新定向客户端的请求7void setCharacterEncoding("gb2312")设置响应头的字符集<%@page import="java.io.PrintWriter"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%response.setContentType("text/html;charset=utf-8");//设置响应的MIME类型out.println("<h1>response内置对象</h1>");out.println("<hr>");//out.flush();//把out缓冲区内容写到浏览器并清空,解决out内置对象在response对象生成的输出流对象之后的问题PrintWriter outer = response.getWriter();//获得输出流 outer.println("response对象生成的输出流对象");//输出在out内置对象之前//outer.write("试一试");response.sendRedirect("register.jsp");//请求重定向,,,out.flush()如果在前面运行了,在这里就会报错%>
4.session对象
session对象指的是客户端与服务器的一次会话
从客户连到服务器的一个WebApplication开始
直到客户端与服务器断开连接为止.它是HttpSession类的实例
编号方法说明1long getCreationTime()返回Session创建时间2public String getId()返回Session创建时JSP引擎为它设的唯一ID号3long getLastAccessedTime()返回此Session里客户端最近一次请求时间4int getMaxInactiveInterval()返回两次请求间隔多长时间此Session被取消(ms)5String[] getValueNames()返回一个包含此Session中所有可用属性的数组6void invalidate()取消Session,使Session不可用7boolean isNew()返回服务器创建的一个Session,客户端是否已经加入8void removeValue(String name)删除Session中指定的属性9void setAttribute(String key,Object obj)设置Session的属性5.application对象
application对象实现了用户间数据的共享,可存放全局变量.它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问.服务器的启动和关闭决定了application对象的生命.它是ServletContext类的实例
编号方法说明16page对象
page对象就是指向当前JSP页面本身,有点象类中的this指针
它是java.lang.Object类的实例.
编号方法说明1class getClass返回此Object的类2int hashCode()返回此Object的hash码3boolean equals(Object obj)判断此Object是否与指定的Object对象相等4void copy(Object obj)把此Object拷贝到指定的Object对象中5Object clone()可隆此Object对象6String toString()把此Object对象转换成String类的对象7void notify()唤醒一个等待的线程8void notifyAll()唤醒所有等待的线程9void wait(int timeout)使一个线程处于等待直到timeout结束或被唤醒10void wait()使一个线程处于等待直到被唤醒11void enterMonitor()对Object加锁12void exitMonitor()对Object开锁7 pageContext对象
pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,
也就是说他可以访问到本页所在的SESSION.也可以取本页面所在的application的某一属性值,
他相当于页面中所有功能的集大成者,它的本类名也叫pageContext.
8exception对象
exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象.
如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译.
他实际上是java.lang.Throwable的对象
编号方法说明1
在需要处理异常的界面指定出现异常交给谁处理,在page里面指定:errorPage="处理异常的界面,如:exception.jsp"
而要处理异常的界面就需要使用exception对象,所以处理界面的page里面就需要指定:isErrorPage="true" ,然后才可以使用
9config 对象
config 对象代表当前JSP 配置信息,但JSP 页面通常无须配置,因此也就不存在配置信息。该对象在JSP 页面中非常少用,但在Servlet 则用处相对较大。因为Servlet 需要配置在web.xml 文件中,可以指定配置参数。
config对象对应于javax.servlet.ServletConfig类,此类位于servlet-api.jar包中。
web容器在初始化时使用一个ServletConfig(即config)对象向JSP页面传递信息,此配置信息包括初始化参数(在当前Web应用的应用部署描述文件web.xml中定义)以及表示Servlet或JSP页面所属Web应用的ServletContext对象。
config对象的几个方法:
(1)public String getParameter(String name);
返回制定的名称name初始化参数的值,如果参数不存在则返回null。
(2)public Java.util.Enumeration getinitParameterNames();
得到所有初始化参数名称的枚举。
(3)public ServletContext getServletContext();
返回Servlet或JSP页面所属的ServletContext的一个引用。
(4)public String getServletName();
返回Servlet实例或JSP页面的名称,此名称可以在Web应用部署描述文件中指定,对于一个未注册(也就是未命名)Servlet实例或JSP页面,将返回该Servlet类的类名。
- JSP九大内置对象
- JSP内置九大对象
- JSP九大内置对象
- JSP九大内置对象
- jsp 九大内置对象
- JSP九大内置对象
- JSP九大内置对象
- JSP九大内置对象
- Jsp九大内置对象
- JSP九大内置对象
- JSP九大内置对象
- JSP九大内置对象
- JSP九大内置对象
- JSP九大内置对象
- jsp九大内置对象
- JSP九大内置对象...
- jsp九大内置对象
- JSP九大内置对象
- phpcms配制文件目录位置
- RobotFramework测试问题二:各种元素不能定位问题
- 自定义字符串定长大小判断my_strncmp()
- PHP学习记录
- Java UDP网络编程
- JSP九大内置对象
- GMTC全球移动技术大会2017专题专场介绍
- volatile关键字原理
- JAVA语言循环结束语句不同于C++之处-break,continue 标签
- 近期面试经历(一)
- JSP、JS和HTML的区别
- 欢迎使用CSDN-markdown编辑器
- java--------------华为--------------------字符个数统计
- 编译项目时OwinStartup冲突的解决办法