1. 程式人生 > >request response 等物件的常見方法

request response 等物件的常見方法

1.request物件

     客戶端的請求資訊被封裝在request物件中,通過它才能瞭解到客戶的需求,然後做出響應。它是HttpServletRequest類的例項。

序號 方 法 說 明 

1   object getAttribute(String name) 返回指定屬性的屬性值 
2   Enumeration getAttributeNames() 返回所有可用屬性名的列舉 
3   String getCharacterEncoding() 返回字元編碼方式 
4   int getContentLength() 返回請求體的長度(以位元組數) 
5   String getContentType() 得到請求體的MIME型別 
6   ServletInputStream getInputStream() 得到請求體中一行的二進位制流 
7   String getParameter(String name) 返回name指定引數的引數值 
8   Enumeration getParameterNames() 返回可用引數名的列舉 
9   String[] getParameterValues(String name) 返回包含引數name的所有值的陣列 
10   String getProtocol() 返回請求用的協議型別及版本號 
11   String getScheme() 返回請求用的計劃名,如:http.https及ftp等 
12   String getServerName() 返回接受請求的伺服器主機名 
13   int getServerPort() 返回伺服器接受此請求所用的埠號 
14   BufferedReader getReader() 返回解碼過了的請求體 
15   String getRemoteAddr() 返回傳送此請求的客戶端IP地址 
16   String getRemoteHost() 返回傳送此請求的客戶端主機名 
17   void setAttribute(String key,Object obj) 設定屬性的屬性值 
18   String getRealPath(String path) 返回一虛擬路徑的真實路徑 

      

<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
<html>
<head>
<title>request物件_例1</title>
</head>
<body bgcolor="#FFFFF0">
<form action="" method="post">
   <input type="text" name="qwe">
   <input type="submit" value="提交">
</form>
請求方式:<%=request.getMethod()%><br>
請求的資源:<%=request.getRequestURI()%><br>
請求用的協議:<%=request.getProtocol()%><br>
請求的檔名:<%=request.getServletPath()%><br>
請求的伺服器的IP:<%=request.getServerName()%><br>
請求伺服器的埠:<%=request.getServerPort()%><br>
客戶端IP地址:<%=request.getRemoteAddr()%><br>
客戶端主機名:<%=request.getRemoteHost()%><br>
表單提交來的值:<%=request.getParameter("qwe")%><br>
</body>
</html> 
<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
<%@ page import="java.util.Enumeration"%>
<html>
<head>
   <title>request物件_例2</title>
</head>
<body bgcolor="#FFFFF0">
<form action="" method="post">
    使用者名稱:<input type="text" name="username">&nbsp;&nbsp;
    密 碼:<input type="text" name="userpass">&nbsp;&nbsp;
    <input type="submit" value="進入" >
</form>
<%
String str="";
if(request.getParameter("username")!=null && request.getParameter("userpass")!=null){
    Enumeration enumt = request.getParameterNames();
    while(enumt.hasMoreElements()){
       str=enumt.nextElement().toString();
       out.println(str+":"+request.getParameter(str)+"<br>");
    }
}
%>
</body>
</html> 
<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
<html>
<head>
    <title>request物件_例3</title>
</head>
<body bgcolor="#FFFFF0">
<form action="" method="post">
   擅長:<input type="checkbox" name="cb" value="ON1">VC++&nbsp;
        <input type="checkbox" name="cb" value="ON2">JAVA&nbsp;
        <input type="checkbox" name="cb" value="ON3">DELPHI&nbsp;
        <input type="checkbox" name="cb" value="ON4">VB&nbsp;
        <br>
        <input type="submit" value="進入" name="qwe">
</form>
<%
if(request.getParameter("qwe")!=null ){
    for(int i=0;i<request.getParameterValues("cb").length;i++){
       out.println("cb"+i+":"+request.getParameterValues("cb")[i]+"<br>");
    }
    out.println(request.getParameter("qwe"));
}
%>
</body>
</html> 
  
 

2.response物件

     response物件包含了響應客戶請求的有關資訊,但在JSP中很少直接用到它。它是HttpServletResponse類的例項。

序號 方 法 說 明 
1   String getCharacterEncoding() 返回響應用的是何種字元編碼 
2   ServletOutputStream getOutputStream() 返回響應的一個二進位制輸出流 
3   PrintWriter getWriter() 返回可以向客戶端輸出字元的一個物件 
4   void setContentLength(int len) 設定響應頭長度 
5   void setContentType(String type) 設定響應的MIME型別 
6   sendRedirect(java.lang.String location) 重新定向客戶端的請求 
      
      

3.session物件

     session物件指的是客戶端與伺服器的一次會話,從客戶連到伺服器的一個WebApplication開始,直到客戶端與伺服器斷開連線為止。它是HttpSession類的例項.

序號 方 法 說 明 
1   long getCreationTime() 返回SESSION建立時間 
2   public String getId() 返回SESSION建立時JSP引擎為它設的惟一ID號 
3   long getLastAccessedTime() 返回此SESSION裡客戶端最近一次請求時間 
4   int getMaxInactiveInterval() 返回兩次請求間隔多長時間此SESSION被取消(ms) 
5   String[] getValueNames() 返回一個包含此SESSION中所有可用屬性的陣列 
6   void invalidate() 取消SESSION,使SESSION不可用 
7   boolean isNew() 返回伺服器建立的一個SESSION,客戶端是否已經加入 
8   void removeValue(String name) 刪除SESSION中指定的屬性 
9   void setMaxInactiveInterval() 設定兩次請求間隔多長時間此SESSION被取消(ms) 
    
      

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*" %>
<html>
<head><title>session物件_例1</title><head>
<body><br>
    session的建立時間:<%=session.getCreationTime()%>&nbsp;&nbsp;<%=new Date(session.getCreationTime())%><br><br>
    session的Id號:<%=session.getId()%><br><br>
    客戶端最近一次請求時間:<%=session.getLastAccessedTime()%>&nbsp;&nbsp;<%=new java.sql. Time(session.getLastAccessedTime())%><br><br>
    兩次請求間隔多長時間此SESSION被取消(ms):<%=session.getMaxInactiveInterval()%><br><br>
    是否是新建立的一個SESSION:<%=session.isNew()?"是":"否"%><br><br>
<%
   session.putValue("name","霖苑程式設計");
   session.putValue("nmber","147369");
%>
<%
   for(int i=0;i<session.getValueNames().length;i++)
   out.println(session.getValueNames()[i]+"="+session.getValue(session.getValueNames()[i]));
%>
<!--返回的是從格林威治時間(GMT)1970年01月01日0:00:00起到計算當時的毫秒數-->
</body>
</html> 
  
  
 

4.out物件

     out物件是JspWriter類的例項,是向客戶端輸出內容常用的物件

序號 方 法 說 明 
1   void clear() 清除緩衝區的內容 
2   void clearBuffer() 清除緩衝區的當前內容 
3   void flush() 清空流 
4   int getBufferSize() 返回緩衝區以位元組數的大小,如不設緩衝區則為0 
5   int getRemaining() 返回緩衝區還剩餘多少可用 
6   boolean isAutoFlush() 返回緩衝區滿時,是自動清空還是丟擲異常 
7   void close() 關閉輸出流 
    
      

<%@page contentType="text/html;charset=gb2312"%>
<html><head><title>out物件_例1:快取測試</title></head>
<%@page buffer="1kb"%>
<body>
<%
   for(int i=0;i<2000;i++)
   out.println(i+"{"+out.getRemaining()+"}");
%><br>
快取大小:<%=out.getBufferSize()%><br>
剩餘快取大小:<%=out.getRemaining()%><br>
自動重新整理:<%=out.isAutoFlush()%><br>
<%--out.clearBuffer();--%>
<%--out.clear();--%>
<!--預設情況下:服務端要輸出到客戶端的內容,不直接寫到客戶端,而是先寫到一個輸出緩衝區中.只有在下面三中情況下,才會把該緩衝區的內容輸出到客戶端上: 
1.該JSP網頁已完成資訊的輸出 
2.輸出緩衝區已滿 
3.JSP中呼叫了out.flush()或response.flushbuffer() 
-->
</body>
</html> 
  
  
 

5.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() 使一個執行緒處於等待直到被喚醒 
11   void enterMonitor() 對Object加鎖 
12   void exitMonitor() 對Object開鎖 
    
      

6.application物件

     application物件實現了使用者間資料的共享,可存放全域性變數。它開始於伺服器的啟動,直到伺服器的關閉,在此期間,此物件將一直存在;這樣在使用者的前後連線或不同使用者之間的連線中,可以對此物件的同一屬性進行操作;在任何地方對此物件屬性的操作,都將影響到其他使用者對此的訪問。伺服器的啟動和關閉決定了application物件的生命。它是ServletContext類的例項。

序號 方 法 說 明 
1   Object getAttribute(String name) 返回給定名的屬性值 
2   Enumeration getAttributeNames() 返回所有可用屬性名的列舉 
3   void setAttribute(String name,Object obj) 設定屬性的屬性值 
4   void removeAttribute(String name) 刪除一屬性及其屬性值 
5   String getServerInfo() 返回JSP(SERVLET)引擎名及版本號 
6   String getRealPath(String path) 返回一虛擬路徑的真實路徑 
7   ServletContext getContext(String uripath) 返回指定WebApplication的application物件 
8   int getMajorVersion() 返回伺服器支援的Servlet API的最大版本號 
9   int getMinorVersion() 返回伺服器支援的Servlet API的最大版本號 
10   String getMimeType(String file) 返回指定檔案的MIME型別 
11   URL getResource(String path) 返回指定資源(檔案及目錄)的URL路徑 
12   InputStream getResourceAsStream(String path) 返回指定資源的輸入流 
13   RequestDispatcher getRequestDispatcher(String uripath) 返回指定資源的RequestDispatcher物件 
14   Servlet getServlet(String name) 返回指定名的Servlet 
15   Enumeration getServlets() 返回所有Servlet的列舉 
16   Enumeration getServletNames() 返回所有Servlet名的列舉 
17   void log(String msg) 把指定訊息寫入Servlet的日誌檔案 
18   void log(Exception exception,String msg) 把指定異常的棧軌跡及錯誤訊息寫入Servlet的日誌檔案 
19   void log(String msg,Throwable throwable) 把棧軌跡及給出的Throwable異常的說明資訊 寫入Servlet的日誌檔案 

        

<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>APPLICATION物件_例1</title><head>
<body><br>
JSP(SERVLET)引擎名及版本號:<%=application.getServerInfo()%><br><br>
返回/application1.jsp虛擬路徑的真實路徑:<%=application.getRealPath("/application1.jsp")%><br><br>
伺服器支援的Servlet API的大版本號:<%=application.getMajorVersion()%><br><br>
伺服器支援的Servlet API的小版本號:<%=application.getMinorVersion()%><br><br>
指定資源(檔案及目錄)的URL路徑:<%=application.getResource("/application1.jsp")%><br><br><!--可以將application1.jsp換成一個目錄-->
<br><br>
<%
   application.setAttribute("name","霖苑計算機程式設計技術培訓學校");
   out.println(application.getAttribute("name"));
   application.removeAttribute("name");
   out.println(application.getAttribute("name"));
%>
</body>
</html> 
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>APPLICATION物件_例2</title><head>
<body><br>
<!--由於application一直存在於伺服器端,可以利用此特性對網頁記數-->
<%
if(application.getAttribute("count")==null)
application.setAttribute("count","1");
else
application.setAttribute("count",Integer.toString(Integer.valueOf(application.getAttribute("count").toString()).intValue()+1));
%>
你是第<%=application.getAttribute("count")%>位訪問者
</body>
<!--由於getAttribute()方法得到的是一個Object型別物件,用getString()方法轉化為String型別-->
<!--用Integer類的valueOf()方法把得到的String轉化成Integer的物件,在用intValue()方法得到int型,再加1,最後把計算的結果用Integer.toString()方法轉化成setAttribute()方法所要求的String型別-->
</html> 
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>APPLICATION物件_例3</title><head>
<body><br>
<!--由於application一直存在於伺服器端,可以利用此特性對網頁記數-->
<%
String str=application.getAttribute("count").toString();//getAttribute("count")返回的是Object型別
int i=0;
if(str==null)
application.setAttribute("count","1");
else
i=Integer.parseInt(str); //out.println(i);
application.setAttribute("count",++i+"");
%>
你是第<%=application.getAttribute("count")%>位訪問者
</body>
</html> 
 

7.exception物件

   exception物件是一個例外物件,當一個頁面在執行過程中發生了例外,就產生這個物件。如果一個JSP頁面要應用此物件,就必須把isErrorPage設為true,否則無法編譯。他實際上是java.lang.Throwable的物件

序號 方 法 說 明 
1   String getMessage() 返回描述異常的訊息 
2   String toString() 返回關於異常的簡短描述訊息 
3   void printStackTrace() 顯示異常及其棧軌跡 
4   Throwable FillInStackTrace() 重寫異常的執行棧軌跡 
   
      

8.pageContext物件

    pageContext物件提供了對JSP頁面內所有的物件及名字空間的訪問,也就是說他可以訪問到本頁所在的SESSION,也可以取本頁面所在的application的某一屬性值,他相當於頁面中所有功能的集大成者,它的本 類名也叫pageContext。

序號 方 法 說 明 
1   JspWriter getOut() 返回當前客戶端響應被使用的JspWriter流(out) 
2   HttpSession getSession() 返回當前頁中的HttpSession物件(session) 
3   Object getPage() 返回當前頁的Object物件(page) 
4   ServletRequest getRequest() 返回當前頁的ServletRequest物件(request) 
5   ServletResponse getResponse() 返回當前頁的ServletResponse物件(response) 
6   Exception getException() 返回當前頁的Exception物件(exception) 
7   ServletConfig getServletConfig() 返回當前頁的ServletConfig物件(config) 
8   ServletContext getServletContext() 返回當前頁的ServletContext物件(application) 
9   void setAttribute(String name,Object attribute) 設定屬性及屬性值 
10   void setAttribute(String name,Object obj,int scope) 在指定範圍內設定屬性及屬性值 
11   public Object getAttribute(String name) 取屬性的值 
12   Object getAttribute(String name,int scope) 在指定範圍內取屬性的值 
13   public Object findAttribute(String name) 尋找一屬性,返回起屬性值或NULL 
14   void removeAttribute(String name) 刪除某屬性 
15   void removeAttribute(String name,int scope) 在指定範圍刪除某屬性 
16   int getAttributeScope(String name) 返回某屬性的作用範圍 
17   Enumeration getAttributeNamesInScope(int scope) 返回指定範圍內可用的屬性名列舉 
18   void release() 釋放pageContext所佔用的資源 
19   void forward(String relativeUrlPath) 使當前頁面重導到另一頁面 
20   void include(String relativeUrlPath) 在當前位置包含另一檔案 
   
      
         

<%@page contentType="text/html;charset=gb2312"%>
<html><head><title>pageContext物件_例1</title></head>
<body><br>
<%
request.setAttribute("name","霖苑程式設計");
session.setAttribute("name","霖苑計算機程式設計技術培訓");
//session.putValue("name","計算機程式設計");
application.setAttribute("name","培訓");
%>
request設定的值:<%=pageContext.getRequest().getAttribute("name")%><br>
session設定的值:<%=pageContext.getSession().getAttribute("name")%><br>
application設定的值:<%=pageContext.getServletContext().getAttribute("name")%><br>
範圍1內的值:<%=pageContext.getAttribute("name",1)%><br>
範圍2內的值:<%=pageContext.getAttribute("name",2)%><br>
範圍3內的值:<%=pageContext.getAttribute("name",3)%><br>
範圍4內的值:<%=pageContext.getAttribute("name",4)%><br>
<!--從最小的範圍page開始,然後是reques、session以及application-->
<%pageContext.removeAttribute("name",3);%>
pageContext修改後的session設定的值:<%=session.getValue("name")%><br>
<%pageContext.setAttribute("name","應用技術培訓",4);%>
pageContext修改後的application設定的值:<%=pageContext.getServletContext().getAttribute("name")%><br>
值的查詢:<%=pageContext.findAttribute("name")%><br>
屬性name的範圍:<%=pageContext.getAttributesScope("name")%><br>
</body></html> 
  
 

9.config物件

    config物件是在一個Servlet初始化時,JSP引擎向它傳遞資訊用的,此資訊包括Servlet初始化時所要用到的引數(通過屬性名和屬性值構成)以及伺服器的有關資訊(通過傳遞一個ServletContext物件)

序號 方 法 說 明 
1   ServletContext getServletContext() 返回含有伺服器相關資訊的ServletContext物件 
2   String getInitParameter(String name) 返回初始化引數的值 
3   Enumeration getInitParameterNames() 返回Servlet初始化所需所有引數的列舉 

相關推薦

request response 物件常見方法

1.request物件     客戶端的請求資訊被封裝在request物件中,通過它才能瞭解到客戶的需求,然後做出響應。它是HttpServletRequest類的例項。序號 方 法 說 明 1   object getAttribute(String name) 返回指定屬

struts2的Action使用requestresponseServlet API__方法

struts2的Action拋棄了request、response等Servlet API,使業務層更加獨立,但有時需要使用request、response,可以利用Aware介面,servlet API中常用物件application、request、response、Se

JavaScript中String物件常見方法及屬性

JavaScript String物件簡介 在JavaScript,基本資料型別有Number型、String型、Boolean型、Undefined型、Null型、Function型等。 String物件就是和基本資料型別中的String型別相對應的Jav

在業務控制方法中寫入RequestResponse傳統web參數

action on() ger parameter out 傳統 ssi oid hello 可以在業務控制方法中書寫傳統web參數,這種方式我們不提倡,耦合了 @Controller @RequestMapping(value="/user") public c

Servlet常見方法RequestResponse

1,ServletConfig物件的使用 【1】在web.xml中配置一些初始化的引數  <servlet>     <description></description>     <display-name>CfbSe

SpringMvc4中獲取requestresponse物件方法

springMVC4中獲取request和response物件有以下兩種簡單易用的方法: 1、在control層獲取 在control層中獲取HttpServletRequest和HttpServle

struts之Action中獲取requestresponse物件方法

1、訪問或新增request/session/application屬性 public String scope() throws Exception{     ActionContext ctx = ActionContext.getContext();    

Java 獲取Request,Response物件方法

第一種、引數@RequestMapping("/test") @ResponseBody public void saveTest(HttpServletRequest req, HttpServletResponse resp){   }第二種、註解@Autowired

關於JSP中request,response,session三個內建物件的常用方法

String stuNo = request.getParameter("stuNo") //接受引數資訊 控制元件名稱name response.sendRedirect("getData.jsp") //客戶端重定向

java 獲取requestresponse的一種方法

requestjava獲取request和response:HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();//獲取res

endswith(),range(),append(),flush() 常見方法

Python List append()方法   描述 append() 方法用於在列表末尾新增新的物件。 語法 append()方法語法: list.append(obj) 引數 obj -- 新增到列表末尾的物件。 返回值 該方法無

Struts2傳值問題後臺如和獲取request response session

從瀏覽器傳至後臺三種情況 /** * 1.ModelDriven介面傳值 * 2.set get 方法傳值 * 3.物件導航傳值 */ private Cal cal=new Cal(); private String num1; private Cal cal2=new

Spring 獲取Request,Response物件的幾種方式--未驗證

 第一種、引數 @RequestMapping("/test") @ResponseBody public void saveTest(HttpServletRequest req, HttpServletResponse resp){   } 第二種、註解  @

FileOutputStream流構造方法既可以傳遞file物件,也可以使用字串

public class FileOutputStreamDemo { public static void main(String[] args) throws IOException { // 建立位元組輸出流物件 // FileOutputStream(File file) //

request物件常用方法總結(及示例)----JSP內建物件

JSP內建物件:request物件   客戶端的請求資訊被封裝在request物件中,通過它才能瞭解到客戶的需求,然後做出響應。它是HttpServletRequest類的例項。request物件具有請求域,即完成客戶端的請求之前,該物件一直有效。常用方法如下

ASP.NET常用物件——Request(請求)和Response(響應)物件

請求與響應 Request物件 創建出5個Web窗體頁面 編寫或拖放超連結控制元件 不同頁面之間引數傳遞:第一個引數之前使用?,引數之間使用&連線 Que

request,response的常用方法

request,response 的常用方法? request:   getParameter(String paramName)  獲取paraName 請求引數的值。   getParaneterValues(String name) paramName請求引數的值,

http 常見request 請求頭,response 響應頭,常見的http狀態碼

request 請求頭1.Host (主機和埠號)Host:對應網址URL中的Web名稱和埠號,用於指定被請求資源的Internet主機和埠號,通常屬於URL的一部分。2.Connection (連結型別)Connection:表示客戶端與服務連線型別Client 發起一個包

servlet request請求物件常用方法總結

1. request請求物件常用方法: public void doPost(HttpServletRequest request, HttpServletResponse response)             throws ServletException, IOE

Response常見方法使用和問題

•向客戶端輸出中文資料 用PrintWriter(字元流)傳送資料: 示例:response.getWriter().write(“中國”);有沒有亂碼? 原因:以預設編碼傳送資料ISO-8859-1(沒有中國二字編碼),此時會發生亂碼 解決辦法: setCharact