getReader()
在 HTTPServletRequest 中有定義 getReader() 方法,可以讀取一個 BufferedReader 物件。透過這個物件可以讀取請求本體資料。以下有個範例.
1) 首先建立一個HTML表單用來發出請求 (form.html)。Servlet的名稱為body.view
2) 準備好HTML後,現在建立一個 Servlet 命名為 body.view.
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 |


沒有留言:
張貼留言