java的内置对象

原创 2016年05月31日 08:51:41

不用声明就可以在jsp页面的脚本中使用,这便是内置对象,内置对象主要有:request、response,session、out、application。

request对象可以获得用户提交的信息,

如String item=request.getParameter("name");

对于传输过称重出现的乱码问题,我们可以使用:

byte[] temp=item.getBytes("ios-8859-1");

item=new String(temp,"utf-8");

此外,request还有一些方法,

getProtocol():获取请求使用的通信协议,如http/1.1等;

getServletPath():获取请求的jsp页面所在的目录;

getContentLength():获取http请求的长度;

getMeathod():获取表单提交信息的方法,get或者post;

getHeader(String s):获得请求中头的值;

getHeaderNames():获取头名字的一个枚举;

getHeaders(String s):获取头的全部值得一个枚举;

getRemoteAddr():获取客户的ip地址;

getRemoteHost():获取客户机的名称(获取不到,便获取ip);

getServerName():获取服务器的名称;

getServerPort():获取服务器的端口号;

getParameterNames():获取表单提交的信息题部分中name参数值的一个枚举;

<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="java.util.*" %>

<MHML><BODY bgcolor=white><Font size=5>   

<BR>用户使用的协议是:

   <% String protocol=request.getProtocol();

       out.println(protocol);

   %>

<BR>获取接受用户提交信息的页面:

   <%  String path=request.getServletPath();

       out.println(path);

   %>

<BR>接受用户提交信息的长度:

   <% int length=request.getContentLength();

       out.println(length);

   %>

<BR>用户提交信息的方式:

   <% String method=request.getMethod();

      out.println(method);

   %>

<BR>获取HTTP头文件中User-Agent的值:

   <% String header1=request.getHeader("User-Agent");

       out.println(header1);

   %>

<BR>获取HTTP头文件中accept的值:

   <% String header2=request.getHeader("accept");

       out.println(header2);

   %>

<BR>获取HTTP头文件中Host的值:

   <% String header3=request.getHeader("Host");

       out.println(header3);

   %>

<BR>获取HTTP头文件中accept-encoding的值:

   <% String header4=request.getHeader("accept-encoding");

       out.println(header4);

   %>

<BR>获取用户的IP地址:

   <% String  IP=request.getRemoteAddr();

       out.println(IP);

   %>

<BR>获取用户机的名称:

   <% String clientName=request.getRemoteHost();

       out.println(clientName);

   %> 

<BR>获取服务器的名称:

   <%  String serverName=request.getServerName();

        out.println(serverName);

   %> 

<BR>获取服务器的端口号:

   <% int serverPort=request.getServerPort();

       out.println(serverPort);

   %> 

<BR>获取用户端提交的所有参数的名字:

   <%  Enumeration en=request.getParameterNames();

       while(en.hasMoreElements())

        {  String s=(String)en.nextElement();

           out.println(s);

        }      

      %> 

<BR>获取头名字的一个枚举:

   <% Enumeration enum_headed=request.getHeaderNames();

      while(enum_headed.hasMoreElements())

       {  String s=(String)enum_headed.nextElement();

          out.println(s);

       }      

      

   %>

<BR>获取头文件中指定头名字的全部值的一个枚举:

   <% Enumeration enum_headedValues=request.getHeaders("cookie");

      while(enum_headedValues.hasMoreElements())

      {  String s=(String)enum_headedValues.nextElement();

         out.println(s);

      }      

   %>

<BR>

   <P> 文本框text提交的信息:

   <%  String str=request.getParameter("boy");

        byte  b[]=str.getBytes("ISO-8859-1");

        str=new String(b);

   %>

 <BR>  <%=str%> 

<BR> 按钮的名字:

   <% String buttonName=request.getParameter("submit");

       byte  c[]=buttonName.getBytes("ISO-8859-1");

       buttonName=new String(c);

   %>

<BR> <%=buttonName%> 

</FONT></BODY></HTML>

response对象对用户的请求作出动态的响应,向客户端发送数据,由于page指令只能为contentType属性指定一个值来决定响应的MIME类型。如果要动态的改变这个属性的值来响应用户,就需要使用response对象的setContentType(String s)方法来改变contentType的属性值,

public void setContentType(String s)方法动态设置相应的MIME类型,参数s可取:text/html、text/plain、image/gif、image/x-xbitmap、  image/jpeg、image/pjpeg、application/x-shockwave-flash、  application/vnd.ms-powerpoint、 application/vnd.ms-excel、  application/msword;

response对象可以使用方法:

addHeader(String head,String value)或者setHeader(String head,String value)动态添加型的响应头和对应的值,并将这些头发送给用户的浏览器。如果添加的头已经存在,则先前的头被覆盖。

response重定向:使用response对象的sendRedirect(URL url)方法实现重定向。

http状态码表:1 消息,2成功,3重定向,4请求错误,5服务器错误。

session对象,当一个用户首次访问web目录下的某个jsp页面时,jsp引擎为值产生一个session对象,该session对象调用相应的方法可以存储用户在访问各个页面期间提交的各种信息;为用户产生的session对象中含有一个String类型的id号,jsp引擎同事将这个id号发送到用户浏览器的cookie中,每个用户对应着一个session对象(该用户的会话),不同用户的session对象互不相同,即具有不同的id号。

session对象与url重写,如果用户不支持cookie,那么用户在不同的网页之间的session对象可能是互不相同的,因为如果服务器无法将id存放到用户端,就不能建立session对象和用户的一一对应;可以通过url重写来实现session对象的唯一性,即是当用户从一个页面重新连接到另一个页面时,通过想这个新的url添加参数,basession对象的id穿戴过去,这样就可以保障用户在该网站各个页面中的session对象是完全相同的,可以使用response对象调用encodeURL()或者encodeRedirectURL()方法实现。

session的重要方法:

public void setAttribute(String key,Object obj)

public Object getAttribute(String key)

public Enumera tion getAttributeNames():session对象调用该方法产生一个枚举的对象,该对象使用nextElemets()遍历session中各个对象对应的关键字。

public long getCreationTime()session对象调用该方法获取该对象创建的时间,单位是毫秒。

public void removeAttribute(String name)session对象调用该方法移除关键字key对应的对象;

Session的生存期限

一个用户在某个web服务目录的session对象的生存期限,

依赖于session对象是否调用invalidate()使得session无效,

依赖于session对象达到了设置的最长的发呆状态时间;

依赖于服务器是否被关闭。

  重新设置各个Web服务目录下的session对象的最长“发呆”时间。打开Tomcat安装目录conf目录下的配置文件web.xml,找到

<session-config>

    <session-timeout>30</session-timeout>

</session-config>

public long getCreationTime()获取session创建的时间,

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java九大内置对象

Java九大内置对象 1、Request对象该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。 当Request对象获取客户提交的...
  • IKNOWNU
  • IKNOWNU
  • 2016年05月07日 17:33
  • 1828

Java系列-jsp九大内置对象

jsp九大内置对象 jsp九大内置对象:request,response,session,out,application,config,page, pageContext,exception   ht...
  • Dream_angel_Z
  • Dream_angel_Z
  • 2014年11月28日 09:43
  • 1446

javaweb 常用内置对象

1.作用范围pageContext:页面容器,默认在当前页面中起作用 request:在一次服务器跳转中有效。通过超链接跳转,地址栏改变,属于客户端跳转,request无效。request表示客户端...
  • zfireear
  • zfireear
  • 2016年04月12日 16:01
  • 1085

js内置对象详解

mark相关的知识点:  首先,什么是js的内置对象,它包括了些什么内容?(以下内容转自网上资源的整合)  (W3shool JS手册地址:http://www.jb51.net/w3school...
  • qq_27298687
  • qq_27298687
  • 2016年02月19日 16:21
  • 1572

JavaScript常见内置对象

JavaScript常见内置对象
  • qq_32319583
  • qq_32319583
  • 2016年11月21日 20:50
  • 1575

jquery 内置对象

java中特殊转义字符 \n 回车(\u000a) \t 水平制表符(\u0009) \b 空格(\u0008) \r 换行(\u000d) \f 换页(\u000c) \' 单引号(\u0027) ...
  • u010050174
  • u010050174
  • 2014年01月10日 21:30
  • 2308

JSP有哪些内置对象,功能是什么

一、pageContext 表示页容器      pageContext对象的作用是取得任何范围的参数,通过pageContext对象可以获取JSP页面的out、request、response、se...
  • qq_18433441
  • qq_18433441
  • 2016年12月13日 10:27
  • 2220

JS-所有的内置对象属性及方法

1.Date 属性(1): constructor      所建立对象的函数参考 prototype       能够为对象加入的属性和方法 方法(43): getDay()     ...
  • u013551022
  • u013551022
  • 2015年10月20日 22:52
  • 4476

Jsp九大内置对象与servlet中java对象

jsp九大内置对象 request对象 : getParameter(String name)获取表单提交的数据 getParamegerNames() 获取客户端提交的所有参数名 getA...
  • cjm1103
  • cjm1103
  • 2017年04月20日 00:15
  • 1342

JSP常用的五个内置对象

一:out对象 out对象一般用来向页面输出信息的。 常用方法:out.print() 如果需要换行的话一般out.print("") 二:request对象 Request对象叫请求。请求中封装...
  • pyy542718473
  • pyy542718473
  • 2017年04月06日 20:15
  • 801
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java的内置对象
举报原因:
原因补充:

(最多只允许输入30个字)