• Response


    Response对象
    
    * 功能:设置响应消息
    	1. 设置响应行
    		1. 格式:HTTP/1.1 200 ok
    		2. 设置状态码:setStatus(int sc) 
    	2. 设置响应头:setHeader(String name, String value) 
    		
    	3. 设置响应体:
    		* 使用步骤:
    			1. 获取输出流
    				* 字符输出流:PrintWriter getWriter()
    
    				* 字节输出流:ServletOutputStream getOutputStream()
    
    			2. 使用输出流,将数据输出到客户端浏览器
    
    * 重定向
    
    * 重定向的特点:redirect
    			1. 地址栏发生变化
    			2. 重定向可以访问其他站点(服务器)的资源
    			3. 重定向是两次请求。不能使用request对象来共享数据
    		* 转发的特点:forward
    			1. 转发地址栏路径不变
    			2. 转发只能访问当前服务器下的资源
    			3. 转发是一次请求,可以使用request对象来共享数据
    		
    		* forward 和  redirect 区别(面试题)
    
    * 路径写法:
    			1. 路径分类
    				1. 相对路径:通过相对路径不可以确定唯一资源
    					* 如:./index.html
    					* 不以/开头,以.开头路径
    
    					* 规则:找到当前资源和目标资源之间的相对位置关系
    						* ./:当前目录
    						* ../:后退一级目录
    				2. 绝对路径:通过绝对路径可以确定唯一资源
    					* 如:http://localhost/day15/responseDemo2		/day15/responseDemo2
    					* 以/开头的路径
    
    					* 规则:判断定义的路径是给谁用的?判断请求将来从哪儿发出
    						* 给客户端浏览器使用:需要加虚拟目录(项目的访问路径)
    							* 建议虚拟目录动态获取:request.getContextPath()
    							* <a> , <form> 重定向...
    						* 给服务器使用:不需要加虚拟目录
    							* 转发路径
    2. 服务器输出字符数据到浏览器
    		* 步骤:
    			1. 获取字符输出流
    			2. 输出数据
    
    		* 注意:
    			* 乱码问题:
    				1. PrintWriter pw = response.getWriter();获取的流的默认编码是ISO-8859-1
    				2. 设置该流的默认编码
    				3. 告诉浏览器响应体使用的编码
    
    				//简单的形式,设置编码,是在获取流之前设置
        			response.setContentType("text/html;charset=utf-8");
    	3. 服务器输出字节数据到浏览器
    		* 步骤:
    			1. 获取字节输出流
    	            	2. 输出数据
    ServletContext对象
    
    1. 概念:代表整个web应用,可以和程序的容器(服务器)来通信
    2. 获取:
    	1. 通过request对象获取
    		request.getServletContext();
    	2. 通过HttpServlet获取
    		this.getServletContext();
    3. 功能:
    	1. 获取MIME类型:
    		* MIME类型:在互联网通信过程中定义的一种文件数据类型
    			* 格式: 大类型/小类型   text/html		image/jpeg
    
    		* 获取:String getMimeType(String file) 
            2. 域对象:共享数据
    		1. setAttribute(String name,Object value)
    		2. getAttribute(String name)
    		3. removeAttribute(String name)
    
    		* ServletContext对象范围:所有用户所有请求的数据
    	3. 获取文件的真实(服务器)路径
    		1. 方法:String getRealPath(String path)  
    			 String b = context.getRealPath("/b.txt");//web目录下资源访问
    	         System.out.println(b);
    	
    	        String c = context.getRealPath("/WEB-INF/c.txt");//WEB-INF目录下的资源访问
    	        System.out.println(c);
    	
    	        String a = context.getRealPath("/WEB-INF/classes/a.txt");//src目录下的资源访问
    	        System.out.println(a);
  • 相关阅读:
    如何看内存占用情况,vue反复操作tab标签页面内存一直在涨,系统反应越来越慢,内存快占用1个G
    正则表达式(二)- 位置匹配攻略
    正则表达式(一)- 字符匹配攻略
    判断是否闰年
    vue切换Tab标签滚到相应位置,鼠标滚轮滚动,tab标签自动切换到相应位置
    el-cascader获取lable的值
    金额最多只能输入两位小数
    npm镜像源管理工具
    pinyin-match与pinyin-engine的区别
    el-select优化TSelect,下拉框只能选末级,启用状态
  • 原文地址:https://www.cnblogs.com/ITHSZ/p/13566037.html
Copyright © 2020-2023  润新知