什么是Response响应
由服务器发送给客户端(浏览器)的所有数据,称为响应。
Response响应的组成部分
响应行:由版本和协议、状态码、状态信息构成
响应头:键和值
响应体:就是服务器发送回来的数据
常见的响应头
常见的状态码
200:表示服务器正确的响应
302:浏览器端进行了页面的跳转
304:页面使用了缓存
404:页面找不到
405:没有重写doGet方法或doPost方法
500:服务器端异常,通常是java代码错误
设置状态码的方法
注:单独设置状态码通常没有任何意义,要结合响应头使用:
//设置响应头
response.setHeader("location", "01_login.html");
//还必须设置状态码为302
response.setStatus(302);
与请求头有关的方法
响应体获取输入输出流
直接使用打印流输出汉字会出现乱码
解决响应发送汉字乱码问题,添加以下两句代码:
//作用1:告诉浏览器服务器使用的编码
//作用2:也可以设置响应的编码
response.setContentType(“text/html;charset=utf-8”);
//设置响应的编码(设置打印流的编码)
//response.setCharacterEncoding(“utf-8”);
//直接得到打印流
PrintWriter out = response.getWriter();
上下文对象ServletContext、主要作用
定义Servlet用于与其Servlet容器(tomcat)通信的一组方法。
对于每个Java虚拟机,每个“web应用程序”有且只有一个上下文对象。上下文是web程序启动的时候创建,web程序关闭的时候销毁。
它是一个接口, 由Tomcat实现,由Tomcat实例化。
主要作用:用来得到Web目录和它子目录下的资源
得到上下文域ServletContext对象的方法
调用父类HttpServlet继承下来的方法
ServletContext application = getServletContext();
ServletContext获取输入流对象
演示:
InputStream in = application.getResourceAsStream("/WEB-INF/404a.jpg");