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习题和jsp内置对象

  • 2014-02-28 11:25
  • 920KB
  • 下载

Java web 开发笔记 第三章 JSP内置对象

1.JSP内置对象: JSP内置对象是Web容器创建的一组对象 JSP内置对象是可以直接在JSP页面使用的对象,无需使用“new”获取实例 JSP内置对象的名称是JSP的保留字

java内置对象作用域

  • 2011-03-13 14:24
  • 5.62MB
  • 下载

JSP(Java Server Pages)内置对象

request对象 (1)访问请求参数 处理HTTP请求中的各项参数。在这些参数中,最常用的就是获取访问请求参数。当通过超链接的形式发送请求时,可以为该请求传递参数,这可以通过在超链接的后面加上问...

JAVA高级工程师课程笔记整理——(八)tomcat与九大内置对象

(八)tomcat与九大内置对象 tomcat     B/S         浏览器/服务器         请求:request  &...

Java开发中一些内置对象的总结

JAVA开发中的内置对象总结

JSP(Java Server Pages)——内置对象request+Cookie

Web容器处理jSP文件请求需要三个阶段 1翻译阶段 2编译阶段 3执行阶段     JSP内置对象request   JDBC是JAVA数据库连接技术的简称,提供连接各种常用数据库的能力 ...

【Java Web 学习笔记】JSP内置对象

>out对象  向客户端浏览器输出各种数据 <% out.print("print");//输出一行文本 out.println("println");//输出一行文本后换行,但是在页面看不到效果...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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