servlet的四种响应

简介: servlet的四种响应

在一个servlet的请求中,响应的方式的通常有四式,response.getWriter()response.getOutputStream()request.getRequestDispatcher("ajax.jsp").forward(request, response)response.sendRedirect("ajax.jsp") 。 其中

  • response.getWriter() 输出页面
  • response.getOutputStream() 输出二进制流文件
  • request.getRequestDispatcher("ajax.jsp").forward(request, response) 页面跳转
  • response.sendRedirect("ajax.jsp") 重定向

getWriter

返回可将字符文本发送到客户端的 PrintWriter 对象。

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // 单独这一块,输出Welcome to Servlet
    PrintWriter out = response.getWriter();
    out.println("<body><h1>");
    out.println("Welcome to Servlet");
    out.println("</h1></body>");
  }

getOutputStream

getOutputStream 返回适用于在响应中编写二进制数据的ServletOutputStream

  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    OutputStream os = response.getOutputStream();
    InputStream is = new FileInputStream(new File("D:\\pic\\P41004-154736.jpg"));
    byte[] buf = new byte[1024];
    while (is.read(buf) > 0) {
      os.write(buf);
    }
    os.flush();
    is.close();
    os.close();
  }

getRequestDispatcher("ajax.jsp").forward(request, response)

  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    request.getRequestDispatcher("ajax.jsp").forward(request, response);
  }

sendRedirect("ajax.jsp")

  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.sendRedirect("ajax.jsp");
  }


相关文章
|
10月前
|
XML Java 数据格式
Servlet 教程 之 Servlet 服务器 HTTP 响应 3
`Servlet`教程示例展示了如何创建一个HTTP响应,使用`@WebServlet(&quot;/Refresh&quot;)`的`Refresh`类继承`HttpServlet`。在`doGet`方法中,设置了`Refresh`头以每5秒自动刷新,并用`setContentType(&quot;text/html;charset=UTF-8&quot;)`设定内容类型。还使用`Calendar`和`SimpleDateFormat`获取并格式化当前时间显示。相应的`web.xml`配置指定了Servlet路径。当访问此Servlet时,页面将每5秒更新一次显示的系统时间。
74 4
|
缓存 Java
严重: Servlet[jsp]的Servlet.service()抛出异常 java.lang.IllegalStateException: 当前响应已经调用了方法getOutputStream()
严重: Servlet[jsp]的Servlet.service()抛出异常 java.lang.IllegalStateException: 当前响应已经调用了方法getOutputStream()
753 0
|
Java 容器
Jsp之四 servlet请求响应
Jsp之四 servlet请求响应
101 0
servlet中请求对象与响应对象的生命周期
servlet中请求对象与响应对象的生命周期
148 0
servlet中请求对象与响应对象的生命周期
|
前端开发 网络协议 Java
Servlet运行原理_API详解_请求响应构造进阶之路(Servlet_2)
Servlet运行原理_API详解_请求响应构造进阶之路(Servlet_2)
126 0
Servlet运行原理_API详解_请求响应构造进阶之路(Servlet_2)
|
XML JSON 移动开发
【Javaweb】【Js】【Servlet】Js与Servlet交互 - Js请求Servlet与响应Servlet
【Javaweb】【Js】【Servlet】Js与Servlet交互 - Js请求Servlet与响应Servlet
221 0
|
JavaScript 前端开发
jquery的ajax请求servlet与响应
                                                                                                                                      ...
1022 0
Servlet响应乱码问题
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36367789/article/details/54881100 response.
649 0
|
Java API 容器
第三章 使用Servlet处理HTTP响应
回顾上一章的知识: Java Servlet是运行在Web服务器或应用服务器上的Java程序 Servlet规范对Servlet功能进行了严格定义 Servlet API与容器进行通讯 Servlet的编码和部署 Servlet需要在容器中进行注册和映射 容器管理Servlet的生命周期...
795 0