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版权协议,转载请附上原文出处链接和本声明。