HttpServletRequest

HttpServletRequest类的各个方法的基本实现

方法的实现

package servlet_practice;

import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;

public class sevlt_HttpServletRequest extends HttpServlet {
   //1.作用
    //每次只要有请求进入tomcat故武器 tomcat服务器就会把请求过来的HTTP协议信息解析好封装到Request对象中 然后传递到service(doget dopost)
    //中给我们使用 我们可以通过HttpServletRequest对象 获取所有请求的信息
   //2.常用方法
    //a.getRequestURI()          获取请求的资源路径
    //b.getRequestURL()          获取请求的统一资源定位符(绝对路径)
    //c.getRemoteHost()          获取客户端的ip地址
    //d.getHeader()              获取请求头
    //e.getParameter()           获取请求的参数
    //f.getParameterValues()     获取请求的参数(多个值时候使用)
    //g.getMethod()              获取请求的方式(GET/POST)
    //h.setAttribute(key,value)  设置域数据
    //i.getAttribute(key)        获取域数据
    //k.getRequestDispatcher()   获取请求转发对象

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //a.getRequestURI()          获取请求的资源路径
        System.out.println("URI->"+req.getRequestURI());
        //b.getRequestURL()          获取请求的统一资源定位符(绝对路径)
        System.out.println("URL->"+req.getRequestURL());
        //c.getRemoteHost()          获取客户端的ip地址(localhost与127.0.0.1访问得到127.0.0.1 真实ip地址得到真实ip地址)
        System.out.println("客户端ip地址->"+req.getRemoteHost());
        //d.getHeader()              获取请求头
        System.out.println("User-Agent->"+req.getHeader("User-Agent"));
        //g.getMethod()              获取请求的方式(GET/POST)
        System.out.println("请求的方式->"+req.getMethod());
        //e.getParameter()           获取请求的参数
        System.out.println("请求的用户名->"+req.getParameter("username"));
        //f.getParameterValues()     获取请求的参数(多个值时候使用)
        //如果POST提交需要将字符集设置为UTF-8否则出现乱码
        String[] hobby = req.getParameterValues("hobby");
        System.out.println("兴趣爱好->"+ Arrays.asList(hobby));
    }
}

web. xml的配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!--servlet标签给Tomcat配置Servlet程序-->
    <servlet>
        <!--servlet-name标签给Servlet程序起别名一般是类名-->
        <servlet-name>sevlt_interface</servlet-name>
        <!--servlet-class是Servlet程序的全类名-->
        <servlet-class>servlet_practice.sevlt_interface</servlet-class>
    </servlet>
    <!--servlet-mapping标签给给Servlet程序配置访问地址-->
    <servlet-mapping>
        <!--servlet-name标签作用是告诉服务器 当前配置的地址给哪个Servlet程序使用-->
        <servlet-name>sevlt_interface</servlet-name>
        <!--url-pattern配置访问地址-->
        <!--通常以/打头后面跟访问路径-->
        <!--/   斜杠在服务器解析时表示地址为 http://ip:port/工程路径
            /hello 表示地址为http://ip:port/工程路径/hello
        -->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    
    
    
    <servlet>
        <servlet-name>sevlt_extends</servlet-name>
        <servlet-class>servlet_practice.sevlt_extends</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>sevlt_extends</servlet-name>
        <url-pattern>/hello1</url-pattern>
    </servlet-mapping>
    
    
    
    <servlet>
        <servlet-name>sevlt_config</servlet-name>
        <servlet-class>servlet_practice.sevlt_config</servlet-class>
        <init-param>
            <!--是参数名-->
            <param-name>username</param-name>
            <!--是参数值-->
            <param-value>root</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>sevlt_config</servlet-name>
        <url-pattern>/hello2</url-pattern>
    </servlet-mapping>

    <!--context-param是上下文参数(它属于整个web工程)-->
    <context-param>
        <param-name>username</param-name>
        <param-value>context</param-value>
    </context-param>
    <servlet>
        <servlet-name>sevlt_context</servlet-name>
        <servlet-class>servlet_practice.sevlt_context</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>sevlt_context</servlet-name>
        <url-pattern>/hello3</url-pattern>
    </servlet-mapping>


    <servlet>
        <servlet-name>sevlt_HttpServletRequest</servlet-name>
        <servlet-class>servlet_practice.sevlt_HttpServletRequest</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>sevlt_HttpServletRequest</servlet-name>
        <url-pattern>/hello4</url-pattern>
    </servlet-mapping>
</web-app>

版权声明:本文为qq_51592187原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。