【JavaWeb】ServletRequest接口

16 篇文章 0 订阅

ServletRequest接口

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

ServletRequest接口的方法

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

ServletRequest显示用户名称的示例

在这个例子中,在servlet中显示用户提交上来的名字。这里使用getParameter()方法返回指定请求参数名称的值。
ServletRequest.java

public class ServletRequest extends HttpServlet {
    private static final long serialVersionUID = 1L;

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        // 设置响应内容类型器
        response.setContentType("text/html");
        // 获取响应输出对象
        PrintWriter out = response.getWriter();

        // 获取请求的内容
        String name = request.getParameter("name");
        if (name == null || name == ""){
            name = "";
        }

        out.println("Welcome "+name);
        out.close();
    }

}

index.html

<!DOCTYPE html>
<html lang="en">
<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>ServletRequest</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletRequest</servlet-name>
        <url-pattern>/ServletRequest/welcome</url-pattern>
    </servlet-mapping>
</web-app>

Servlet显示所有头信息

ServletRequest接口的getHeaderNames()方法返回一个包含所有头名称的Enumeration对象。ServletRequest接口的getHeader()方法返回给定头名称的头值。 在这个例子中,我们在servlet页面中显示一个请求的所有头信息。
getHeaderNames()方法的语法

public Enumeration getHeaderNames()

getHeader()方法的语法

public String getHeader(String headerName)

HeaderServlet.java

public class HeaderServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        // 设置响应内容类型器
        response.setContentType("text/html");
        // 获取响应输出对象
        PrintWriter out = response.getWriter();

        Enumeration enums = request.getHeaderNames();
        while(enums.hasMoreElements()){
            String headName = (String)enums.nextElement();
            String headValue = request.getHeader(headName);
            out.println("<b>"+headName+"</b>");
            out.println(headValue+"</br>");
        }
    }
}

head.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Show Heads Servlet</title>
</head>
<body>
    <div style="text-align: center"><a href="ShowHeaders/headers?key1=name">点击这里</a>查看所有报头信息
    </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>head.html</welcome-file>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>HeaderServlet</servlet-name>
        <servlet-class>HeaderServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HeaderServlet</servlet-name>
        <url-pattern>/ShowHeaders/headers</url-pattern>
    </servlet-mapping>
</web-app>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻城狮·建哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值