ServletRequest接口

ServletRequest对象用于向Servlet提供客户端请求信息,例如内容类型,内容长度,参数名称和值,标头信息,属性等。

1. ServletRequest接口的方法

ServletRequest接口中定义了许多方法。 其中常用一些如下:

方法 描述
public String getParameter(String name) 用于通过名称获取参数的值。
public String[] getParameterValues(String name) 返回一个String数组,其中包含给定参数名称的所有值。它主要用于获取“多选”列表框的值。
java.util.Enumeration getParameterNames() 返回所有请求参数名称的枚举。
public int getContentLength() 返回请求实体数据的大小;如果未知则返回-1
public String getCharacterEncoding() 返回此请求输入的字符集编码。
public String getContentType() 返回请求实体数据的Internet媒体类型;如果未知则返回null
public ServletInputStream getInputStream() throws IOException 返回用于读取请求正文中的二进制数据的输入流。
public abstract String getServerName() 返回接收请求的服务器的主机名。
public int getServerPort() 返回接收到此请求的端口号。

2. ServletRequest示例

在此示例中,我们在servlet中显示提交的用户名称。这里使用了getParameter方法,该方法返回给定请求参数名称的值。
启动Eclipse,创建一个动态web项目:ServletRequest,完整的项目结构如下所示:

ServletRequest接口

如果不知道如何在Eclipse中创建一个动态web项目,请参考:

创建文件:index.html

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ServletRequest示例</title> </head> <body>     <form action="login" method="get">         用户名:<input type="text" name="name"><br> <input             type="submit" value="登录">     </form> </body> </html> 

Servlet类文件:LoginServlet.java

package com.xntutor.servlet;  import javax.servlet.http.*; import javax.servlet.*; import java.io.*;  public class LoginServlet extends HttpServlet {     public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {         res.setContentType("text/html");         PrintWriter pw = res.getWriter();          String name = req.getParameter("name");// will return value         pw.println("Welcome <b>" + name+"</b>");          pw.close();     } } 

配置文件:web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns="http://java.sun.com/xml/ns/javaee"     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"     id="WebApp_ID" version="3.0">     <display-name>ServletRequestDemo</display-name>     <servlet>         <servlet-name>LoginServlet</servlet-name>         <servlet-class>com.xntutor.servlet.LoginServlet</servlet-class>     </servlet>     <!-- Defines the path to access this Servlet -->     <servlet-mapping>         <servlet-name>LoginServlet</servlet-name>         <url-pattern>/login</url-pattern>     </servlet-mapping>     <welcome-file-list>         <welcome-file>index.html</welcome-file>         <welcome-file>index.html</welcome-file>         <welcome-file>index.jsp</welcome-file>         <welcome-file>default.html</welcome-file>         <welcome-file>default.html</welcome-file>         <welcome-file>default.jsp</welcome-file>     </welcome-file-list> </web-app> 

运行上面示例代码,得到以下结果:
ServletRequest接口

结果

3. ServletRequest其他示例

这是一个显示所有标头信息的ServletRequest示例。在此示例中将显示servlet的标头信息,例如内容类型,内容长度,用户代理等。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264053.html

(0)
上一篇 2022年6月6日
下一篇 2022年6月6日

相关推荐

发表回复

登录后才能评论