什么是Request
HttpServletRequest代表客户端的请求,用户通过Http协议访问服务器;HTTP请求中的所有信息会被封装到HttpServletRequest 简单来说,要得到浏览器信息,就找HttpServletRequest对象
HttpServletRequest常用方法
获得客户机【浏览器】信息
- getRequestURL方法返回客户端发出请求时的完整URL。
- getRequestURI方法返回请求行中的资源名部分。
- getQueryString 方法返回请求行中的参数部分。
- getPathInfo方法返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。
- getRemoteAddr方法返回发出请求的客户机的IP地址
- getRemoteHost方法返回发出请求的客户机的完整主机名
- getRemotePort方法返回客户机所使用的网络端口号
- getLocalAddr方法返回WEB服务器的IP地址。
- getLocalName方法返回WEB服务器的主机名
获得客户机请求头
- getHeader方法
- getHeaders方法
- getHeaderNames方法
获得客户机请求参数(客户端提交的数据)
- getParameter方法
- getParameterValues(String name)方法
- getParameterNames方法
- getParameterMap方法
获取前端传递的参数,请求转发
代码语言:javascript复制//重点学习
public String getParameter(String name);
public String[] getParameterValues(String name);
//可以忽略
public Enumeration getParameterNames();
public Map getParameterMap();
代码语言:javascript复制public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//解决乱码问题
resp.setCharacterEncoding("utf-8");
req.setCharacterEncoding("utf-8");
String username = req.getParameter("username");
String password = req.getParameter("password");
String[] hobbys = req.getParameterValues("hobby");
System.out.println("==================================");
System.out.println(username ":" password);
System.out.println("爱好" Arrays.toString(hobbys));
System.out.println("==================================");
//这里不需要写/r 转发不需要写当前项目,重定向需要
req.getRequestDispatcher("/success.jsp").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
doGet(req, resp);
}
}
常见错误
- 没有重新配置tomcat服务器
- 路径错误