Java-Request的应用

2022-12-26 13:37:24 浏览数 (1)

什么是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);
    }
}

常见错误

  1. 没有重新配置tomcat服务器
  2. 路径错误

0 人点赞