首页 > 代码库 > 【Head First Servlets and JSP】笔记5
【Head First Servlets and JSP】笔记5
【HttpServletResponse resp】
1、一般可以用通过resp获得一个输出流(writer),然后通过输出流将HTML写入响应。例如:
resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); out.println("Beer Selection Advice<br>");
2、常用的一些方法。
3、有时还会用到.....
4、当然,更通常的是用JSP返回HTML。
5、假设你想向客户端发送一个JAR...
// 一堆的importpublic class CodeReturn extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { resp.setContextType("application/jar"); // 想让浏览器知道的事情 ServletContext ctx = getServetContext(); InputStream is = ctx.getResourceAsStream("/bookCode.jar"); int read = 0; byte[] bytes = new byte[1024]; OutputStream os = resp.getOutputStream(); while ((read = is.read(bytes)) != -1) { os.write(bytes, 0, read); } // 把JAR包先读到内存里再转写到输出流中。 os.flush(); os.close(); }}
ps:不能先写某个类型,然后改到另外一个类型继续写。
6、为什么要通过servlet返回文件,而不是直接返回?原因是,希望在返回特定类型文件的前后执行一些逻辑,例如判断用户是否有权限下载这个文件。
7、需要记住的一些东西,关于输出,只有两个选择:字符或者字节。
可以通过resp返回的输出流...
resp.getOutputStream().write( /*省略参数*/ ); // 可以写任何内容 resp.getWriter().println(); // 和System.out.println()类似,用于处理字符数据。实际上是包装了OutputStream的高级流PrintWriter
【Head First Servlets and JSP】笔记5
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。