zoukankan      html  css  js  c++  java
  • request对象与response对象

    一.request对象

    1.通过request对象可以获得客户端输入的信息。request对象包含了从客户端传来的请求信息。

    请求的参数是一个请求的组成部分,它们被作为字符串从客户端传送到JSP/Servlet容器中,并被用于初始化request对象。

     

    2.request对象是javax.Servlet.http.HttpServletRequest接口,它主要可用的方法如下:

    1)getCookies()

    该方法返回客户端的Cookie对象数组,这些Cookie对象是javax.servlet.http.Cookie的实例对象。

     

    2)getHeader(String name)

    该方法可以获取http协议所定义的特定的http头文件的信息。name可以使HTTP文件头的名字,例如User-Agent。

     

    3)getAttribute(String name)

    返回绑定在name属性上的值,如果没有,则返回null。

     

    4)getAttributeNames()

    返回和当前的request对象绑定在一起的所有的属性的名字。返回值是一个枚举对象。

     

    5)getHeaderNames()

    使用该方法返回一个枚举对象,包含当前request对象中包含着的每一个http的头文件的名字。

     

    6)getMethod()

    该方法可以返回当前客户端向服务器端传输协议的方式,可能的有POST,GET,PUT等等。

     

    7)getParameter(String name)

    可以获得客户端传输给服务器端得信息。

     

    8)getParameterNames()

    可以获取客户端传输给服务器端所有的参数名字。返回值是一个枚举类型。

     

    9)getParameterValues(String name)

    与getParameter(String name)的不同在于,使用getParameter(String name)只返回name当前的值,而之前的值都被忽略了,而getParameterValue(String name)则会返回所有的值。

     

    10)getQueryString()

    使用该方法可以获得请求字符串,该字符串由客户端以GET方式传向服务器端。

     

    11)getRequestURL()

    getRequestURL()方法可以获得和当前request对象相应的URL地址,有人就说客户端通过浏览器所请求的URL地址。

     

    12)getServletPath()

    该方法可以获得客户端所请求的servlet的地址。

     

    13)setAttribute(String name,Java.lang.Object obj)

    该方法可以将某个参数和目前的request对象绑定起来。

     

    14)getServerName()

    该方法返回服务器的名称。

     

    15)getServerPort()

    用于获取服务器提供的HTTP服务的端口。

     

    16)getRemoteAddr()

    该方法用于获得发送HTTP请求的客户端地址。利用这个方法,我们可以屏蔽来自某些IP地址的访问。

     

    17)getRemoteHost()

    该方法可以获取当前HTTP连接的客户端计算机名称,返回的是IP地址。

     

    18)getProtocol()

    可以获取客户端向服务器端发送信息所遵循的协议名称。

    例如:

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <body bgcolor="white">
    <h1>Request Information</h1>
    <font size="4">
    JSP Request Method: <%out.println(request.getMethod()); %>
    <br>
    Request URI: <%out.println(request.getRequestURI()); %>
    <br>
    Request Protocol: <%out.println(request. getProtocol()); %>
    <br>
    Servlet path: <%out.println(request.getServletPath ()); %>
    <br>
    Path info: <%out.println(request.getPathInfo()); %>
    <br>
    Path translated: <%out.println(request.getPathTranslated()); %>
    <br>
    Query string: <%out.println(request.getQueryString()); %>
    <br>
    Content length: <%out.println(request.getContentLength()); %>
    <br>
    Content type: <%out.println(request.getContentType()); %>
    <br>
    Server name: <%out.println(request.getServerName()); %>
    <br>
    Server port: <%out.println(request.getServerPort()); %>
    <br>
    Remote user: <%out.println(request.getRemoteUser()); %>
    <br>
    Remote address: <%out.println(request.getRemoteAddr()); %>
    <br>
    Remote host: <%out.println(request.getRemoteHost()); %>
    <br>
    Authorization scheme: <%out.println(request.getAuthType()); %>
    <hr>
    The browser you are using is: <%out.println(request.getHeader("User-Agent")); %>
    <hr>
    </font>
    </body>
    </html>
    

    二.response对象

    1.response对象的作用是处理HTTP连接信息,如cookie,HTTP文件头信息等,它有很多功能是和request对象相匹配的。

     

    2.response对象的常用方法:

    1)addCookie(Cookie cookie)

    当用于访问某个站点时,我们可以用此方法添加一个cookie对象,并将它发送到客户端,保存到客户端操作系统的某个特定目录下,用来保存客户的特定信息。当用户再次访问浏览器时,浏览器会自动将这个Cookie对象发送会服务器端,调用request对象的getCookie()方法可以获得所有存在的Cookie对象,getCookie返回的是一个数组。Cookie对于不同的客户来说都是专有的。

     

    2)addHeader(String name,String value)

    addHeader是添加HTTP文件头信息,这些信息将会传到客户端,发送特定的HTTP文件头信息,可以控制客户端和服务器端的连接。

     

    3)containsHeader(String name)

    该方法用于判断指定名字的HTTP文件头是否存在,返回值是布尔类型。

     

    4)sendError(int sc)

    该方法用于向客户端发送错误消息,例如505:服务器内部消息。

     

    5)sendRedirect(String url)

    和<jsp:forward>动作指令的功能一模一样,但是向目标程序传递HTTP参数不是很方便,在使用此方法之前,必须保证JSP程序没有任何可见的输出被送往客户端。

     

    6)setHeader()

    是一个通用的标头设定方法,您可以用它来设定任何「名称/值」的标头.

    7)setIntHeader()

    专门用来设定整数值标头的版本.


    8)setDateHeader()

    是setHeader()的Date设定版本,第二个参数是设定Date的Long数值,0表示GMT 1970/1/1 00:00。

     

    9)setStatus()

    是用来设定回应的状态码,例如404 Not Found,HttpServletResponse类中提供了一些助忆常数设定,例如SC_NOT_FOUND就是表示404状态码(可以在Servlet API文件中查询相关的助忆常数)

    文章来源:http://www.cnblogs.com/karying/archive/2009/10/21/2015408.html

  • 相关阅读:
    Hard Rock
    Codeforces Round #416 (Div. 2) B. Vladik and Complicated Book
    codeforces 793B. Igor and his way to work
    codeforces 1B Spreadsheets
    HDU 1069 Monkey and Banana
    codeforces 2B The least round way
    【机器学习】 通俗说拟合
    python-八皇后问题
    python-核心知识思维导图
    python-@property 属性
  • 原文地址:https://www.cnblogs.com/asher/p/2821211.html
Copyright © 2011-2022 走看看