request对象和response对象(6)
来源:未知 责任编辑:责任编辑 发表时间:2014-05-10 12:18 点击:次
p>
p> public void doGet(HttpServletRequest request, HttpServletResponse response)
p> throws ServletException, IOException {
p>// response.setStatus(302);
p>// response.setHeader("Location", "/Response/index.jsp");
p> response.sendRedirect("/Response/index.jsp");
p> }
p>
p>
p> public void doPost(HttpServletRequest request, HttpServletResponse response)
p> throws ServletException, IOException {
p> doGet(request,response);
p> }
p>}
p>复制代码
p>7.getOutputStream和getWriter方法分别用于得到输出二进制数据、输出文本数据的ServletOuputStream、Printwriter对象。
p>
p>getOutputStream和getWriter这两个方法互相排斥,调用了其中的任何一个方法后,就不能再调用另一方法。会抛异常。
p>
p>异常为:getOutputStream() has already been called for this response
p>
p>复制代码
p>package cn.lsl.response;
p>
p>import java.io.IOException;
p>import java.io.PrintWriter;
p>
p>import javax.servlet.ServletException;
p>import javax.servlet.http.HttpServlet;
p>import javax.servlet.http.HttpServletRequest;
p>import javax.servlet.http.HttpServletResponse;
p>
p>//字节流和字符流同时使用,报错
p>//getOutputStream() has already been called for this response
p>public class ResponseDemo7 extends HttpServlet {
p>
p> public void doGet(HttpServletRequest request, HttpServletResponse response)
p> throws ServletException, IOException {
p> String s1 = "a";
p> response.getOutputStream().write(s1.getBytes());
p> String s2 = "b";
p> response.getWriter().write(s2);
p> }
p>
p> public void doPost(HttpServletRequest request, HttpServletResponse response)
p> throws ServletException, IOException {
p> doGet(request,response);
p> }
p>
p>}
p>复制代码
p>注:通过字符流或字节流输出的数据并不是直接打给浏览器的。而是把数据写到response对象的缓存中的。服务器从缓存中取出数据,按照HTTP协议的响应格式输出给浏览器。如果你调用的response的输出流没有主动关闭,服务器会替你关的。
p>
p>
p>
p>HttpServletRequest
p>
p>HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象的方法,可以获得客户这些信息。
p>
p>1.获取客户机信息的方法
p>
p>getRequestURL方法返回客户端发出请求时的完整URL。
p>
p>getRequestURI方法返回请求行中的资源名部分。
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>