请求对象(request)
获取各种路径方法
返回值 |
方法名 |
说明 |
String |
getContextPath() |
获取虚拟目录名称 |
String |
getServletPath() |
获取Servlet映射路径 |
String |
getRemoteAddr() |
获取访问者ip地址 |
String |
getQueryString() |
获取请求的消息数据 |
String |
getRequestURI() |
获取统一资源标识符 |
StringBuffer |
getRequestURL() |
获取统一资源定位符 |
我访问的是的地址是http://localhost:8080/jsp_test_war_exploded/newServlet?username=aaa&password=123
package cn.liu.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/newServlet")
public class ServletDemo02 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String contextPath = req.getContextPath();
System.out.println(contextPath);
String servletPath = req.getServletPath();
System.out.println(servletPath);
String ip = req.getRemoteAddr();
System.out.println(ip);
String queryString = req.getQueryString();
System.out.println(queryString);
String requestURI = req.getRequestURI();
System.out.println(requestURI);
StringBuffer requestURL = req.getRequestURL();
System.out.println(requestURL);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
doGet(req,resp);
}
}
获取请求头信息方法
返回值 |
方法名 |
说明 |
String |
getHeader(String name) |
根据请求头名称获取一个值 |
Enumeration<String> |
getHeaders(String name) |
根据请求头名称获取多个值 |
Enumeration<String> |
getHeaderNames() |
获取所有请求头名称 |
package cn.liu.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
@WebServlet("/newServlet")
public class ServletDemo02 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String connection = req.getHeader("connection");
System.out.println(connection);
Enumeration<String> values = req.getHeaders("accept-encoding");
while (values.hasMoreElements()){
String value = values.nextElement();
System.out.println(value);
}
Enumeration<String> names = req.getHeaderNames();
while (names.hasMoreElements()){
String name = names.nextElement();
String value = req.getHeader(name);
System.out.println(name+","+value);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
doGet(req,resp);
}
}
获取请求参数信息方法
返回值 |
方法名 |
说明 |
String |
getParameter(String name) |
根据名称获取数据 |
String[] |
getParameterValues(String name) |
根据名称获取所有数据 |
Enumeration<String> |
getParameterNames() |
获取所有名称 |
Map<String,String[]> |
getParameterMap() |
获取所有参数的键值对 |
package cn.liu.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Map;
@WebServlet("/newServlet")
public class ServletDemo02 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String connection = req.getParameter("username");
System.out.println(connection);
String[] hobbies = req.getParameterValues("hobby");
for(String hobby:hobbies){
System.out.println(hobby);
}
Enumeration<String> names = req.getParameterNames();
while (names.hasMoreElements()){
String name= names.nextElement();
System.out.println(name);
}
Map<String,String[]> map = req.getParameterMap();
for (String key:map.keySet()){
String[] values=map.get(key);
System.out.println(key+":"