JSP常用内置对象

来源:互联网 发布:袁隆平转基因知乎 编辑:程序博客网 时间:2024/04/30 19:49

JSP内置对象,就是当编写JSP页面时,无须做任何申明就可以直接使用的对象。


1. out内置对象

out对象用于向客户端输出数据。

1.1 print()方法

用于向页面打印输出信息,输出的信息在返回客户端的源代码中不换行。

例如,在JSP页面中有以下代码:

<body>

   <%  

  out.print("123");

  out.print("456"); 

   %>

</body>

预览页面后,在IE浏览器中看到的显示内容为“123456”,服务器返回的HTML代码为:

<body>

   123456

</body>

 

2.2 println()方法

也用于向页面打印输出信息,输出的信息在返回客户端的源代码中换行,但是页面显示不会换行,只能用<br>的标记换行。

如果把JSP页面中的代码改为:

<body>

   <%  

  out.println("123");

  out.println("456"); 

   %>

</body>

 

预览页面后,在IE浏览器中看到的显示内容为“123  456”,服务器返回的HTML代码为:

<body>

      123

      456

</body>

 

因此,println()不会让IE浏览器换行显示信息,要实现这个功能,应该使用换行符“<br>”。例如:

<body>

   <%  

  out.print("123");

              out.print("<br>");

  out.print("456"); 

   %>

</body>

预览后,IE浏览器中显示的内容为:

123
456

服务器返回的HTML代码为:

<body>

   123<br>456

</body>

1.3 newLine()方法

表示输出一个回车换行符,如:

<body>

   <%  

  out.print("123");

  out.newLine();

  out.print("456"); 

   %>

</body>

服务器返回的HTML代码为:

<body>

    123

    456

</body>

1.4 缓冲区相关的方法

1flush( )方法:用于刷新流。out.write()输出的信息暂时存储在流对象缓冲区中,刷新操作把缓冲区中的信息传递给目标对象处理。如果缓冲区满了,这个方法被自动调用,输出缓冲区中的信息。

2clear()方法:表示清除缓冲区中的信息。如果缓冲区是空的,执行此方法会引发IOException异常。

3clearBuffer():其功能与clear()相似,它将输出缓冲区清除后返回,与clear()不同的是它不抛出异常。

4getBufferSize():返回输出缓冲区的大小,单位字节,如果没有缓冲区,则返回0

5getRemaining():返回缓冲区剩余的空闲空间,单位字节。

6isAutoFlush():返回一个真假值,用于标识缓冲区是否自动刷新。

2. request内置对象

request对象用来处理客户端的请求,是javax.servlet.http.HttpServletRequest类的实例。


方法名称

说明

String getParameter(String name)

根据页面表单组件名称获取页面提交数据

Enumeration getParameterNames()

获取表单内所有名称

String[] getParameterValues(String name)

获取一个页面表单组件对应多个值时的用户的请求数据

void setCharacterEncoding(String charset)

指定每个请求的编码,在调用requestgetParameter()方法之前进行设定,可以用于解决中文乱码问题

request.getRequestDispatcher(String path)

返回一个javax.servlet.RequestDispatcher对象,该对象的forward方法用于转发请求

 

request读取多值参数

<%

Enumeratione=request.getParameterNames();

while(e.hasMoreElements()){

  String varName=(String)e.nextElement();

  if(!varName.equals("hobby")){

  String varValue=request.getParameter(varName);

  out.print(varName+"="+varValue+"<br>");

  }else{

  String varValue[]=request.getParameterValues(varName);

  out.print(varName+"=");

  for(inti=0; i<varValue.length;i++){

      out.print(varValue[i]+",");

  }

  out.print("<br>");

  }

}

%>

 



 

3. response内置对象

response对象用于响应客户请求并向客户端输出信息,是HttpServletReponse类的实例。


方法名称

说明

sendRedirect(String path)

将请求重新定位到一个不同的URL

(重定向跳转,requestde的生命周期已结束)

setCharacterEncoding(String charset)

设置响应所采用的字符编码类型

addCookie(Cookie cookie)

在客户端添加Cookie

setContentType(String type)

设置HTTP响应的contentType类型

 

 

4. session内置对象

    一个session会话就是浏览器与服务器之间的一次通话,包含浏览器与服务器之间的多次请求、响应过程。


方法名称

说明

void setAttribute(String key,Object)

key/value的形式保存对象值

Object getAttribute(String key)

通过key获取对象值

void invalidate()

设置session对象失效

String getId()

获取session id

void setMaxInactiveInterval(int interval)

设定session的非活动时间

Int getMaxInactiveInterval()

获取session的有效活动时间,以秒为单位

 

 

5. application内置对象

application操作的是全局的数据,作用域是整个应用程序,生命周期直到服务器停止运行。可用于统计已访问的人数。


方法名称

说明

void setAttribute(String key,Object value)

key/value的形式保存对象值

Object getAttribute(String key)

通过key获取对象值

String getAttribute(String path)

返回相对路径的真实路径

Enumeration getAttributeNames()

返回当前上下文中所有可用的appliaction作用范围变量名,并存储在枚举型对象中。

removeAttribute(String name)

Servlet容器中删除指定名字的属性。形参是属性名,字符串形式。

【例】用application实现一个简单的站点计数器,当访问JSP页面时,页面进行访问次数统计,并打印当前计数值。

<%int n=0;String counter=(String)application.getAttribute("counter");if(counter!=null)n=Integer.parseInt(counter); n=n+1;out.print("您是第"+n+"位访客");counter=String.valueOf(n);application.setAttribute("counter",counter);%>

application对象可以读取Servlet容器的系统信息,相关方法如下:

1getMajorVersion():返回Servlet容器支持的Servlet API的主版本号。

2getMinorVersion():返回Servlet容器支持的Servlet API子版本号,对于Servlet 2.4,子版本号为4,故方法返回4

3getServerInfo():返回当前Server的名字与版本号。对于Tomcat5.5.17,返回值为:Apache Tomcat/5.5.17

 

 

 

0 0
原创粉丝点击