Jsp九大内置对象,当中最基本的是前五个对象。

5-1

out对象

out对象是JSPWriter类的实例。是向client输出内容经常使用的对象。

out对象经常使用的方法例如以下:

1。out.println():向client打印字符串

2,out.clear():清除缓冲区的内容,假设在flush之后调用会抛出异常

3,out.clearBuffer():清除缓冲区的内容,假设在flush之后调用不会抛出异常

4,out.flush():将缓冲区内容输出到client

5,int getBufferSize():返回缓冲区的字节数的大小,如不设缓冲区则为0

6,int getRemaining():返回缓冲区还剩余多少可用

7,boolean isAutoFlush():返回缓冲区满时。是自己主动清空还是抛出异常

8,out.close :关闭输出流





5-2

request内置对象

client的请求信息被封装在request对象中,通过它才干了解到客户的需求,然后做出响应。它是HttpServletRequest类





的实例。request对象具有请求域,即完毕client的请求之前,该对象一直有效。

经常用法例如以下。

1,密码:<%= request.getAttribute("password") %><br>,

2。请求体的MIME类型:<%= request.getContentType() %><br>

3,协议类型及版本:<%= request.getProtocol() %><br>,

4,server主机名:<%= request.getServerName() %><br>

5,serverport号:<%= request.getServerPort() %><br>

6,请求文件的长度:<%= request.getContentLength() %><br>

7。请求client的IP地址:<%= request.getRemoteAddr() %><br>

8,请求的真实路径:<%= request.getRealPath(path) %><br>

9.请求的上下文路径:<%= request.getContextPath() %><br>

10.设置字符码:request.setCharacterEncoding("utf-8");

11.设置属性值(以设置密码为例):request.setAttribute("password", "123456");

12.获取单个属性值(以用户名为例):<%= request.getParameter("username") %><br/>

13.获取多个属性值(以用户提交的爱好为例):

<%

    if(request.getParameterValues("favorite")!=null){

    String[] favorites=request.getParameterValues("favorite");

    for(String s:favorites){

    out.println(s+"&nbsp;&nbsp;&nbsp;");

    }

}

%>





5-3

response对象

response对象包括了响应客户请求的有关信息,但在JSP中非常少直接用到它,它是HttpServletResponse类的实例。





response对象具有页面作用域,即訪问一个页面时,该页面内的response对象仅仅能对这次訪问有效,其他页面的response





对象对当前页面无效经常用法例如以下。

1,response.setContentType("text/html;charset=utf-8");设置响应的MIME类型

2。String getCharacterEncoding();返回响应用的是何种字符编码。

3。PrintWriter getWriter()返回能够向client输出字符的一个对象。

4。response.sendRedirect("reg.jsp");//请求重定向,跳转到指定页面。

注意:PrintWriter中的getWriter和out内置对象的差别:

getWriter输出的内容总是先于out输出的内容<br>解决的方法就是在outer输出的代码前强制out.flush





以下是一个response页面的实例

<%@page import="java.io.PrintWriter"%>

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

<%

response.setContentType("text/html;charset=utf-8");//设置响应的MIME类型



out.println("<h1>response内置对象</h1>");

out.println("<hr>");

out.flush();//在输出outer之前清空缓冲区。



PrintWriter outer=response.getWriter();//获取输出流对象

outer.println("outer输出的内容总是先于out输出的内容<br>解决的方法就是在outer输出的代码前强制





out.flush");

//response.sendRedirect("reg.jsp");//请求重定向,跳转到指定页面。

%>





5-4

session内置对象

1,什么是session

session表示client与server的一次会话。

web中的session指的是用户在浏览某个站点时。从进入站点到浏览器关闭所经过的这段时间。也就是用户浏览这个站点所





花费的时间。

从上述定义中能够看到,session实际上是一个特定的时间概念。





2,session对象

session对象是一个JSP内置对象。

session对象在第一个JSP页面被装载时自己主动创建,完毕会话期管理。

从一个客户打开浏览器并连接到server開始。到客户关闭浏览器离开这个server结束,被称为一个会话。

当一个客户訪问一个server时,可能会在server的几个页面之间切换,server应当通过某种方法知道这是一个客户,就需





要session对象。

session对象是HttpSession类的实例。





3,session对象经常使用的方法例如以下

1)long getCreationTime():返回session创建时间

2)public String getId():返回session创建时。JSP引擎为它设的唯一ID号

3)public Object setAttribute(String name,Object value):使用指定名称对象绑定到此会话。

4)public Object getAttribute(String name):返回与此会话中的指定名称绑定在一起的对象。假设没有对象绑定在该





名称下。则返回null

5)String[] getValueNames():返回一个包括此session中全部可用属性的数组。

6)int getMaxInactiveInterval():返回两次请求间隔多长时间此session被取消(单位秒)





4,session的生命周期

1)创建:

当client第一次訪问某个JSP或者Servlet时候,server会为当前会话创建一个SessionId,每次client向服务端发送请求





时,都会将此SessionId携带过去。服务端会对此SessionId进行校验。





2)活动:

某次会话其中通过超链接打开的新页面属于同一次会话。

仅仅要当前会话页面没有所有关闭。又一次打开新的浏览器窗体訪问同一个项目资源时属于同一次会话。

除非本次会话的全部页面都关闭后再又一次訪问某个JSP或者Servelt将会创建新的会话。

注意:当创建新的会话时,原有的会话还存在。这个旧的SessionId仍然存在于服务端。仅仅只是再也没有client会携带它





交予服务端校验。





3)销毁

session的销毁仅仅有三种方式

a。调用了session.invalidate()方法。

b。Session过期(超时)建议用这样的销毁方式。

c,server又一次启动





补充

Tomcat默认session超时时间为30分钟。

设置session超时有两种方式

1。session.setMaxInactiveInterval(时间);//单位是秒

2,在web.xml中配置

<session-config>

<session-timeout>时间</session-timeout>

</session-config>

//单位是分钟。









5-5

1。application对象

application对象实现了用户间数据的共享,可存放全局变量

与session对象不同的是。全部客户的application对象都是同一个。即全部客户共享application对象,这样





application对象就能够起到一个全局变量的作用

application開始于server的启动。终止于server的关闭。

在用户的前后链接或不同用户之间的连接中,能够对application对象的同一属性进行操作。

在不论什么地方对application对象属性的操作,都将影响到其它用户对此的訪问

server的启动和关闭决定了application对象的生命。

application对象是ServletContext类的实例。

2。application对象的经常用法例如以下:

1)public void setAttribute(String name,Object value)使用指定名称将对象绑定到此会话。

2)public Object getAttribute(String name)返回与此会话中的指定名称绑定在一起的对象,假设没有对象绑定在该





名称下,则返回null

3)Enumeration getAttributeNames()返回全部可用属性名的枚举。

4)String getServerInfo():返回JSP(Servlet)引擎名及版本。





5-6

page对象

page对象就是指向当前JSP页面本身,有点像类中的this指针,它是java.lang.Object类的实例。经常用法例如以下:

1。class getClass():返回此Object的类

2,int hashCode():返回此Object的hash码。

3,boolean equals(Object obj):推断此Object是否与指定的Object对象相等。

4,void copy(Object obj):把此Object复制到自定的Object对象中。

5,Object clone():克隆此Object对象:

6。String toString():把此Object对象转换成String类的对象。

7,void notify():唤醒一个等待的线程

8,void notifyAll():唤醒全部等待的线程

9,void wait(int timeout):使一个线程处于等待直到timeout结束或被唤醒

10,void wait():使一个线程处于等待直到被唤醒





5-7

pageContext对象

pageContext对象提供了对JSP页面内全部的对象及名字空间的訪问。

pageContext对象能够訪问到本页所在的session,也能够获取本页所在的application的某一属性值。

pageContext对象相当于页面中全部功能的集大成者。

pageContext对象的本类名也叫pageContext。





经常用法例如以下:

1,JSPWriter getOut():返回当前client响应被使用的JspWriter流(out)

2,HttpSession getSession():返回当前页中的HttpSession对象(session)

3,Object getPage():返回当前页的Object对象(page)

4,ServletRequest getRequest():返回当前页的ServletRequest对象(request)

5,ServletResponse getResponse():返回当前页的ServletResponse对象(response)

6,void setAttribute(String name,Object attribute):设置属性及属性值

7,Object getAttribute(String name,int scope):在指定范围内获取属性的值

8,int getAttributeScope(String name):返回某属性的作用范围

9,void forward(String relativeUrlPath):使当前页面又一次导向还有一个页面

10,void include(String relativeUrlPath);在当前位置包括还有一个文件





5-8

Config对象

config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包含Servlet初始化时所要用到的參数(通过





属性名和属性值构成)以及server的有关信息(通过传递一个ServletContext对象)经常使用的方法例如以下:

1,ServletContext getServletContext():返回含有server相关信息的ServletContext对象。

2。String getInitParameter(String name()):返回初始化參数的值。

3,Enumeration getInitParameterNames():返回Servlet初始化所需全部參数的枚举。

5-9

Exception对象

exception对象是一个异常对象,当一个页面在执行过程中发生异常,就产生了这个对象。假设一个JSP页面要应用此对象





。就必须把isErrorPage设置为true,否则无法编译,他实际上是java.lang.Throwable的对象,经常用法例如以下:

1,String getMessage():返回描写叙述异常的消息。

2,String toString():返回关于异常的简短描写叙述消息。

3,void printStackTrace():显示异常及其栈轨迹。

4,Throwable FillInStackTrace():重写异常的运行栈轨迹。

五------Jsp九大内置对象。的更多相关文章

  1. JSP 九大内置对象

    JSP 九大内置对象: 一 out对象主要用来向客户端输出各种数据类型内容,并且管理应用服务器上的输出缓冲区.out.print()//输出数据out.newLine()//输出一个换行符out.fl ...

  2. JSP九大内置对象和四个作用域

    JSP九大内置对象和四个作用域 在学习JSP的时候,首先就要先了解JSP的内置对象,什么是内置对象呢?内置对象也叫隐含对象,就是不需要预先声明就可以在脚本代码和表达式中随意使用.而这样的内置对象在JS ...

  3. 黑马程序员【JSP九大内置对象和四个作用域】转载

    http://www.cnblogs.com/fanfu1/p/4530980.html JSP九大内置对象和四个作用域 ------- android培训.java培训.期待与您交流! ------ ...

  4. JSP九大内置对象的作用和用法总结?

    JSP九大内置对象的作用和用法总结? 1.request对象javax.servlet.http.HttpServletRequest request对象代表了客户端的请求信息,主要用于接受通过HTT ...

  5. Jsp九大内置对象及其作用域

    本文主要介绍Jsp九大内置对象及其作用域,着重介绍几个常用的,希望对初学者有所帮助. 1 Jsp九大内置对象 2 详细介绍 2.1 request javax.servlet.http.HttpSer ...

  6. JSP九大内置对象分析

    JSP九大内置对象分为三类: 1.输入输出对象:out对象.response对象.request对象 2.通信控制对象:pageContext对象.session对象.application对象 3. ...

  7. JSP九大内置对象(转载)

    JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.exception 1. ...

  8. JSP九大内置对象和四种属性范围解读

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文首先主要解说了JSP中四种属性范围的概念.用法与实例. 然后在这个基础之上又引入了九 ...

  9. JSP——九大内置对象和其四大作用域

    一.JSP九大内置对象: JSP根据Servlet API 规范提供了某些内置对象,开发者不用事先声明就可以使用标准的变量来访问这些对象. Request:代表的是来自客户端的请求,例如我们在FORM ...

随机推荐

  1. 关于inet_ntop、inet_pton中的n和p分别代表的意义

    函数名中的p和n非别代表表达(presentation)和数值(numeric).地址的表达格式通常是ASCII字符串,数值格式则是存放到套接字地址结构中的二进制值. 参考自:https://blog ...

  2. 【转载】Sql语句用left join 解决多表关联问题(关联套关联,例子和源码)

    csdn中高手帮我给解决了,其实就是别名,给自己上了一堂别名的课,所谓别人是高手,其实就是自己是菜鸟吧! 表1:------------------------------ [人事表]     表名: ...

  3. 13. OPTIMIZER_TRACE

    13. OPTIMIZER_TRACE OPTIMIZER_TRACE表提供由跟踪语句的优化程序跟踪功能生成的信息. 要启用跟踪,请使用optimizer_trace系统变量. 有关详细信息,请参阅M ...

  4. mysql 删除恢复

    一.模拟误删除数据表的恢复 1 二进制日志功能启用 vim /etc/my.cnf [mysqld] log-bin 2  完全备份 mysqldump -A -F --master-data=2 - ...

  5. my97datepicker插件日期值改变事件 等同于input的onchang()时间

    官网Demo地址http://www.my97.net/demo/index.htm <input type="text" class="Wdate" v ...

  6. UVALive - 6267 Beer Pressure

    题意: 给定n个酒吧, 然后有k个学生投票今晚去哪个酒吧, 然后会有a个(a<=k)学生先投票了, 先投的票会影响后面的人投票的概率, 求每个酒吧今晚去的概率. 分析: 我们可以从最初的状态开始 ...

  7. zoj 2736 Daffodil number

    Daffodil number Time Limit: 2 Seconds      Memory Limit: 65536 KB The daffodil number is one of the ...

  8. Go内建变量类型

    package main import ( "math/cmplx" "fmt" "math" ) //内建变量类型: // bool , ...

  9. hdu 4639

    /*一个he都没有和有一个he结果是1 2个he  是2 3个he    3 4个he    5 5个he    8 ..... 把每段的结果相乘取余*/ #include<stdio.h> ...

  10. fedora安装后,yum命令不能使用,Cannot retrieve metalink for repository: fedora. Please verify its path and try again 解决方法

    fedora安装后,yum命令不能使用,Cannot retrieve metalink for repository: fedora. Please verify its path and try ...