1. 程式人生 > >Servlet常見方法 (Request 和Response)

Servlet常見方法 (Request 和Response)

1,ServletConfig物件的使用

【1】在web.xml中配置一些初始化的引數

 <servlet>

    <description></description>

    <display-name>CfbServlet</display-name>

    <servlet-name>CfbServlet</servlet-name>

    <servlet-class>com.xiaoshuai.CfbServlet</servlet-class>

       <init-param>

                   <!-- XML形式鍵值對儲存 -->

                   <param-name>名</param-name>

                   <param-value>值</param-value>

       </init-param>

  </servlet>

  <servlet-mapping>

    <servlet-name>CfbServlet</servlet-name>

    <

url-pattern>/cfb</url-pattern>

  </servlet-mapping>

【2】常見方法:

A,在servlet中獲取這個引數

//獲取config物件

ServletConfig config = getServletConfig();

// 獲取web中param-name 對應的param-value值

String name = config.getInitParameter("名");

B,獲取Servlet的名稱

getServletConfig().getServletName();

C,獲取一個ServletContext物件

ServletContext context = config.getServletContext();

2,ServletContext物件的使用 

    【1】 作用域在整個專案裡都可以訪問  ,全域性上下文的傳遞。

    【2】在web.xml中配置一些初始化的引數

  【3】常見方法:

A,獲取ServletContext物件

ServletContext context = getServletContext();

B,設定一個全域性的引數 獲取的值進行傳遞。比如帳號密碼 要做空指標。

context.setAttribute("number", 100);

C,獲取真實路徑 (上傳檔案)

context. getRealPath ()

3,request 和 response 介紹

    【1】介紹:

       客戶端每次請求都會建立一個request和response物件,並且會把這倆個物件傳給doGet方法和doPost方法

    request:請求物件

    response:響應物件

    【2】request常用方法:

[a]獲取請求行資訊

[1]獲取請求方式

getMethod

[2]獲取請求路徑

getRequestURI

[3]獲取請求協議

getProtocol

[b]獲取請求頭資訊

Enumeration<String> names = request.getHeaderNames();

while(names.hasMoreElements()){

String name = names.nextElement();

String value = request.getHeader(name);

System.out.println(name+" = "+value);

}

[c]獲取表單資料

request.getParameter("");

request.getParameterValues("");獲取一組引數

    【3】response常用方法:

response響應資料亂碼

[b]位元組流 response.getOutputStream()

    [1]設定響應編碼

response.setCharacterEncoding("gbk");

    [2]告訴瀏覽器編碼方式text/html;charset=utf-8

response.setContentType("text/html;charset=utf-8");

[a]字元流 response.getWriter

注意:服務端的編碼要與瀏覽器保持一致

    [1]告訴瀏覽器編碼方式text/html;charset=utf-8

response.setContentType("text/html;charset=utf-8");

response.getOutputStream().write("黑馬".getBytes("utf-8"));