请求(HttpServletRequest)和响应(HttpServletResponse)

  • Post author:
  • Post category:其他



请求:

接口HttpServletRequest表示Http环境中的Servlet请求。它扩展javax.servlet.ServletRequest

常用方法:

(1)String getParameter(String name)根据表单组件名称获取提交数据,返回值是String 注意:服务器在接收数据时使用字符串统一接收

(2)String[] getParameterValues(String name)获取表单组件对应多值时的请求数据。

(3)void setCharacterEncoding(String charset)指定每个请求的编码(针对post请求有用)

(4)RequestDispatcher getRequestDispatcher(String path)跳转页面

RequestDispatcher对象,该对象的forword()方法用于转发请求

(5)存值request.setAttribute(“key”,value)

(6)取值:request.getAttribute(“key”);

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="testUser" method="post">
  姓名<input type="text" name="na"><br>
  学校<input type="text" name="school">
    爱好:<input type="checkbox" name="aihao" value="打球">打球
    <input type="checkbox" name="aihao" value="跆拳道">跆拳道
    <input type="checkbox" name="aihao" value="散打">散打
    <input type="checkbox" name="aihao" value="跑步">跑步
   提交按钮 <input type="submit">提交
</form>
<a href="testUser?pass=abc&age=12" name="lianjie">点击链接</a>
</body>
</html>
 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //        防止乱码
        req.setCharacterEncoding("utf-8");
        String na = req.getParameter("na");
        String school = req.getParameter("school");
        System.out.println(na+school);
        String[] aihaos = req.getParameterValues("aihao");
        for (String aihao:aihaos
             ) {
            System.out.println(aihao);
        }
//        String a1="abc";
        //存值
        req.setAttribute("key1","ddd");
        //取值
        System.out.println(req.getAttribute("key1"));
        //跳转页面
        req.getRequestDispatcher("/Index1.html").forward(req,resp);
}


响应:

在Service API中,定义一个HttpServletResponse接口,它继承ServletResponse接口,专门用来封装Http响应消息。在HttpServletResponse接口中定义了向客户端发送响应状态码,响应消息头,响应消息体的方法。

常用方法:

(1)void addCookie(Cookie var1);给响应一个cookie

(2)void sendRedirect(String var1);发送一个响应码,将浏览器跳转到指定位置

(3)PrintWriter getWriter()获取字符流,通过字符流的write(String s)方法可以将字符串设置到response缓冲区中,随后Tomcat会将response缓冲区中的内容组装成Http响应返回给浏览器端。

(4)setConType()设置相应内容的类型。

 resp.setContentType("text/html"); //设置相应的内容
        resp.sendRedirect("/index.jsp");//跳转页面
        resp.addCookie();//设置Cookie
        PrintWriter writer=resp.getWriter();//得到一个可以给前端输出信息的输出对象



版权声明:本文为weixin_48891324原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。