My Calendar

2015年2月3日 星期二

getReader() 的用法

getReader() 


在 HTTPServletRequest 中有定義 getReader() 方法,可以讀取一個 BufferedReader 物件。透過這個物件可以讀取請求本體資料。以下有個範例.

1) 首先建立一個HTML表單用來發出請求 (form.html)。Servlet的名稱為body.view

Figure 1.1

2) 準備好HTML後,現在建立一個 Servlet 命名為 body.view.


package com.learn.servlet;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/body.view")
public class BodyServlet extends HttpServlet {
 private static final long serialVersionUID = 1L;
       
    public BodyServlet() {
        super();
    }

 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  String body = readBody(request);
  PrintWriter out = response.getWriter();
  out.println("");
  out.println("");
  out.println("");
  out.println(body);
  out.println("");
  out.println("");
  
 }
 
 private String readBody(HttpServletRequest request) throws IOException{
  BufferedReader reader = request.getReader();
  String input = null;
  String requestBody = "";
  while((input = reader.readLine()) != null)
   requestBody += input + "
";
  
  return requestBody;
 }

}


執行結果如下圖

 
Figure 1.2

沒有留言:

張貼留言