Servlet ServletRequest接口
ServletRequest接口
ServletRequest
的對象用於向Servlet提供客戶端請求信息,如內容類型,內容長度,參數名稱和值,標題信息,屬性等。
ServletRequest接口的方法
ServletRequest
接口中定義了很多方法。 其中一些如下:
編號
方法
描述
1
public String getParameter(String name)
用於通過名稱獲取參數的值。
2
public String[] getParameterValues(String name)
返回一個包含給定參數名稱的所有值的String數組。它主要用於獲取多選列表框的值。
3
java.util.Enumeration getParameterNames()
返回所有請求參數名稱的枚舉。
4
public int getContentLength()
返回請求實體數據的大小,如果未知則返回-1
。
5
public String getCharacterEncoding()
返回此請求輸入的字符集編碼。
6
public String getContentType()
返回請求實體數據的網絡媒體類型,如果未知則返回null
。
7
public ServletInputStream getInputStream() throws IOException
返回用於讀取請求正文中二進制數據的輸入流。
8
public abstract String getServerName()
返回接收請求的服務器的主機名。
9
public int getServerPort()
返回接收到此請求的端口號。
ServletRequest顯示用戶名稱的示例
在這個例子中,在servlet中顯示用戶提交上來的名字。這裏使用getParameter()
方法返回指定請求參數名稱的值。
打開Eclipse,創建一個名稱爲:ServletRequest 的動態Web網站項目,項目的目錄結構如下 -
關鍵代碼如下 -
ServletRequest.java -
package com.yiibai;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class ServletRequest
*/
public class ServletRequest extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
// response.getWriter().append("Served at: ").append(request.getContextPath());
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
String name = request.getParameter("name");// will return value
if (name == null || name == "") {
name = "";
}
pw.println("Welcome " + name);
pw.close();
}
}
index.html -
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Welcome - ServletRequest</title>
</head>
<body>
<div style="text-align: center;">
<form action="/ServletRequest/welcome">
名字:<input type="text" name="name"><input type="submit"
value="提交">
</form>
</div>
</body>
</html>
web.xml -
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>ServletRequest</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>ServletRequest</servlet-name>
<servlet-class>com.yiibai.ServletRequest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletRequest</servlet-name>
<url-pattern>/welcome</url-pattern>
</servlet-mapping>
</web-app>
ServletRequest接口的其他示例
ServletRequest的示例顯示所有頭信息
在這個例子中,顯示servlet的頭信息,如內容類型,內容長度,用戶代理等。