response的相关介绍及解析

6 篇文章 0 订阅
2 篇文章 0 订阅

Response对象

功能:设置响应消息

一:设置响应行

    一:格式:HTTP/1.1  200ok

    二:设置状态码:setStatus(int sc)

	三:设置响应头:setHeader(String name,String value)

 	四:设置响应体:

使用步骤:

一:获取输出流

字符输出流:PrintWriter getWriter()

字节输出流:ServletOutputStream getOutputStream()

二:使用输出流,将数据输出到客户端浏览器

一:完成重定向:

   重定向:资源跳转的方式

   **代码实现:**

第一步:设置状态码为302  response.setStatus(302);

第二步:设置响应头location   response.setHeader("location","/day12/servlet02");

简单的重定向方法:  response.sendRedirect("/day12/servlet02");    *****推荐使用此方法完成重定向*****

重定向的特点: response.sendRedirect(" ");

一:重定向地址栏发生变化。

二:重定向可以访问其他站点的资源

三:重定向是两次的请求。不能使用request域共享数据

转发的特点: request.getRequestDistpatcher(" ");

一:转发的地址栏不发生变化

二:转发只能本项目的资源

三:转发是一次请求,request域可以共享数据

路径写法:

	**路径的分类**

一:相对路径:通过相对路径不可以确定唯一资源。

	如:./login.,jsp

	不以/开头,以.开头的路径。

	规则:找到当前资源和目标资源之间的相对位置关系。     ./:当前目录      ../:后退一级目录

二:绝对路径:通过绝对路径可以确定唯一资源。

	如:http://localhost/day12/helloServlet        /day12/helloServlet

	以/开头的路径。

	规则:判断定义的路径是给谁用的?判断请求将来从哪里出发?

	给客户端浏览器使用:需要加虚拟目录(项目的访问路径) 请求重定向需要加虚拟目录

    建议虚拟目录动态获取:request.getContextPath()

	动态获取虚拟目录(项目访问路径):

	给服务器使用:不需要加虚拟目录(项目的访问路径)    请求转发不需要加虚拟目录

二:服务器输出字符数据到浏览器

步骤:

注意:

	乱码问题:

一:PrintWriter  pw = response.getWriter();获取流的默认编码是ISO-8859-1

二:设置该流的默认编码

三:告诉浏览器响应体使用的编码

	简单的形式,设置编码,是在获取流之前设置

	response.setContextType("text/html;charaset=utf-8");

一:获取字符输出流     PrintWriter pw = response.getWriter();

获取数据:  pw.write("<h>hello!你好</h >");

三:服务器输出字节数据到浏览器

步骤:

注意首先设置编码:			   response.setContextType("text/html;charset=utf-8");

一:获取字节输出流:ServletOutputStream sos = response.getOutputStream();

二:输出数据:sos.write("你好!");

ServletContext对象

一:概念:代表整个web应用,可以和程序的容器(服务器)来通信

二:获取:

一:通过request对象获取

ServletContext   context  = request.getServletContext();

二:通过HttpServlet获取

ServletContext   context = this.getServletContext();

三:功能:

	一:获取MIME类型

	MIME类型:在互联网通信过程中定义的一种文件数据类型

	格式:  大类型/小类型    text/html     image/jpeg

	获取:String   getMimeType(String file)

ServletContext  context = request.getServletContext();

String filename = "a.jpg";

context.getMimeType("filename");   //image/jpeg类型的

**二:域对象:共享数据**

一:setAttribute(Srting name,Object value);

二:getAttribute(String name);

三:removeAttribute(String name);

ServletContext对象范围:共享所有用户所有请求的数据。从服务器启动到服务器关闭生命周期
**三:获取文件的真实(服务器)路径**

Servlet context = request.getServletContext();

String path = context.getRealPath("b.txt");   //web目录下资源访问

String path = context.getRealPath("/WEB-INF/a.txt");   // WEB-INF目录下的资源访问

String a = context.getRealPath("/WEB-INF/classes/a.txt");  //src目录下的资源访问
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值