HttpServletRequest核心方法以及获取请求参数
HttpServletRequest是Java Servlet规范中定义的一个接口,它封装了所有的HTTP请求信息。这个接口提供了一系列的方法,可以用来获取HTTP请求数据,如请求参数、头信息、属性等。
以下是一些常用的HttpServletRequest方法:
String getParameter(String name)
:获取单个请求参数的值。Map<String, String[]> getParameterMap()
:获取所有请求参数的Map集合,键是参数名,值是参数值数组。String[] getParameterValues(String name)
:获取指定请求参数的所有值。ServletInputStream getInputStream()
:获取请求的输入流,用于获取非表单数据,如文件上传。String getMethod()
:获取请求的HTTP方法,如GET、POST。String getRequestURI()
:获取请求的统一资源标识符(URI)。String getRemoteAddr()
:获取发送请求的客户端IP地址。void setAttribute(String name, Object o)
:设置请求属性。Object getAttribute(String name)
:获取请求属性。
以下是一个简单的例子,演示如何在Servlet中使用HttpServletRequest获取请求参数:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.util.Map;
public class RequestExampleServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取单个请求参数
String username = request.getParameter("username");
// 获取所有请求参数
Map<String, String[]> params = request.getParameterMap();
// 输出请求参数
response.getWriter().println("Username: " + username);
for (Map.Entry<String, String[]> entry : params.entrySet()) {
response.getWriter().println(entry.getKey() + ": " + String.join(", ", entry.getValue()));
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 处理POST请求参数
doGet(request, response);
}
}
在这个例子中,我们重写了doGet
和doPost
方法,并在其中使用getParameter
方法获取了名为"username"的请求参数。然后,我们使用getParameterMap
方法获取了所有的请求参数,并将它们输出到响应中。这个Servlet可以处理GET和POST请求,并展示了如何获取请求参数的基本方法。
评论已关闭