文章目录
什么是JSP内置对象
JSP内置对象是指JSP页面中可以直接使用的内置对象,它们都是Javax.servlet.jsp 包中的Java类。JSP内置对象共有9个,它们分别是:request、response、pageContext、session、application、out、config、page和exception。
使用JSP内置对象前,应导入相关jar包,这里通过Maven导入相关jar包
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
1、request对象
JSP内置对象request是一个HttpServletRequest类型的对象,它代表了客户端请求的信息。request对象中包含了客户端请求的所有参数和属性,可以通过该对象获取这些参数和属性的值。
request对象是在每个JSP页面中自动创建的,无需额外的代码来实例化它。在JSP页面中可以直接使用request对象来获取客户端请求的信息。
request对象的主要方法包括:
getRequestURI():获取请求的URI,例如:/mywebapp/mypage.jsp
getContextPath():获取应用程序的上下文路径,例如:/mywebapp
getParameter(String name):获取指定名称的请求参数的值,例如:request.getParameter("username")
getParameterValues(String name):获取指定名称的请求参数的多个值,例如:request.getParameterValues("hobby")
getMethod():获取请求的HTTP方法,例如:GET或POST
getRequestURL():获取完整的请求URL,例如:http://localhost:8080/mywebapp/mypage.jsp
getHeader(String name):获取指定名称的请求头的值,例如:request.getHeader("User-Agent")
getHeaders(String name):获取指定名称的请求头的所有值,例如:request.getHeaders("Accept-Language")
getRemoteAddr():获取客户端的IP地址,例如:192.168.1.1
getSession():获取当前请求的Session对象,如果不存在则创建一个新的Session对象。
获取客户端IP地址:
String ipAddress = request.getRemoteAddr();
获取客户端主机名:
String hostName = request.getRemoteHost();
获取客户端浏览器类型:
String browserType = request.getHeader("User-Agent");
获取客户端请求的URL:
String requestUrl = request.getRequestURL().toString();
获取客户端请求的URI:
String requestUri = request.getRequestURI();
获取客户端请求的方法:
String method = request.getMethod();
获取客户端请求参数:
String parameterValue = request.getParameter("parameterName");
通过使用request对象,可以方便地获取客户端请求的信息,并进行相应的处理和响应。
示例:
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<html>
<head>
<title>JSP内置对象</title>
</head>
<body>
<%--request对象--%>
<br>客户提交信息的方式:<%=request.getMethod()%>
<br>使用的协议:<%=request.getProtocol()%>
<br>获取发出请求字符串的客户端地址:<%=request.getRequestURL()%>
<br>获取提交数据的客户端IP地址:<%=request.getRemoteAddr()%>
<br>获取服务器端口号:<%=request.getServerPort()%>
<br>获取服务器名称:<%=request.getServerName()%>
<br>获取客户端的主机名:<%=request.getRemoteHost()%>
<br>获取客户端所请求的脚本文件的文件路径:<%=request.getServletPath()%>
<br>获取http协议定义的文件头信息Host的值:<%=request.getHeader("host")%