HttpServletResponse对象
发送状态相关的方法
当Servlet向客户端回送响应消息时,需要在响应消息中设置状态码。为此,在HttpServletResponse接口中,定义了两个发送状态码的方法,具体如下。
1. setStatus(int status)方法
该方 法用于设置HTTP响应消息的状态码,并生成响应状态行。由于响应状态行中的状态描述信息直接与状态码相关,而HTTP版本由服务器确定,因此,只要通过setStatus(int status)方法设置了状态码,即可实现状态行的发送。需要注意的是,正常情况下,Web服务器会默认产生一个状态码为200的状态行。
2. sendError(int sc)方法
该方法用于发送表示错误信息的状态码,例如,404状态码表示找不到客户端请求的资源。在response对象中,提供了两个重载的sendError(int sc)方法
发送响应消息体相关的方法
由于在HTTP响应消息中,大量的数据都是通过响应消息体传递的,因此, ServletResponse遵循以10流传递大量数据的设计理念。在发送响应消息体时,定义了两个与输出流相关的方法,具体如下。
1.getOutputStream()
该方法所获取的字节输出流对象为ServletOutputStream 类型。由于ServletOutputStream是OutputStream的子类,它可以直接输出字节数组中的二进制数据。因此,要想输出二进制格式的响应正文,就需要使用getOutputStream()方法。
2. getWriter()方法
该方法所获取的字符输出流对象为PrintWriter类型。由于PrintWriter类型的对象可以直接输出字符文本内容, 因此,要想输出内容全为字符文本的网页文档, 需要使用getWriter()方法。
了解了response对象发送响应消息体的两个方法后,接下来,通过一个案例来学习这两个方法的使用。
浏览器显示出了response对象响应的数据。response对象的getOutputStream()方法可以很方便地发送响应消息体。使用getWriter()方法发送消息体。
重启Tomcat服务器,在浏览器的地址栏中输入地址“http://localhost:9999/04/PrintServlet”再次访问PrintServlet,浏览器显示结果相同。
二
实现网页定时刷新并转跳
1. 创建Servlet
2. 配置映射信息,查看运行结果
在实际开发中,有时需要当前页面具有自动刷新的功能,使当前页面每隔3秒自动刷新。也可以显示当前时间。
启动Tomcal服务器,在浏览器的地批栏中输入地址"http://localhost:9999/04/fresh"访问fresh。
HttpServletRequest 对象:
RequestDispatcher 对象的应用 :