标签:servlet httpservletresponse
前面已经说过无数多次了,我们的项目都是基于HTTP协议的一次请求,一次响应。实际编码中,我们在处理完逻辑后一般是跳转到一个页面上,或者用输出流返回json字符串。其实跳转到一个页面往往也就是JSP,JSP运行在tomcat里面编译处理后返回响应,最后一步都是通过response获得输出流来返回到浏览器。这里总结下response的2个输出流。package linkin;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author LinkinPark
* @author 2015-7-10
* @Descri HttpServletResponse的2个输出流
*/
public class LinkinServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
//resp.setContentType("text/html;charset=UTF-8");
resp.getWriter().write("林肯公园");
resp.getOutputStream().write("林肯公园".getBytes());
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
this.doGet(req, resp);
}
}
我们现在访问下:http://localhost:8080/linkin/LinkinServlet结果报错了,报错说:
什么意思呢?就是说上面第一次使用流返回响应已经将这个流关闭了,这个是Servlet引擎自动帮我们做的,所以就不能第2次再去获得这个流来操作了。当然这里我们也可以自己来将输出流关闭,不过即使我们不关闭,引擎也会自动帮我关闭了。
版权声明:本文为博主原创文章,未经博主允许不得转载。
Servlet--HttpServletResponse的2个操作流的方法
标签:servlet httpservletresponse
原文地址:http://blog.csdn.net/u011794238/article/details/46832631