request&&response

request(请求)
	请求的方式
		1. 地址栏输入
		2. 超链接
		3. Form 表单
		4. ajax
		5. 请求转发
			通过服务器内部将请求进行一次转发,可以请求到其他资源
		6. 重定向
	HttpServletRequest 对象
		介绍 
			作用:用来接收客户端发过来的请求
			是ServletRequst子接口
	常用形式
		常用方法
			getRequestURL()
				请求端完整UIL(从HTTP开始到问好结束)
			getRequestURI()
				从站点开始到问好结束
			getQueryString()
				获取请求字符串
			getMethod
				获取请求方式类型
			getProtocol()
				获取HTTP版本
			getContexPath()
				获取站点名字
		获取请求头
			getHeader(String)
				获取单个请求头内容
			Enumeration<String>getHeaderNames()
				获取所有请求头名称集合
		获取客户端参数
			getParameter(name)
				获取指定名称的参数
			getParameterValues(String name)
				获取所有指定名称参数值
			getParameterNames()
				获取一个包含请求消息中的参数名的Enumeration对象
			getParameterMap()
				返回一个保存了请求消息中的所有参数名称和值得Map对象
	请求乱码解决
		Post
			req.setCharacterEncoding("UTF-8")
			new String(req.getParameter(name).getBytes("ISO-8859-1"))
		Get
			8.0以上不需要处理
			7.0及以下
				req.setCharacterEncoding("UTF-8")
	请求转发
		request.getRequestDispatcher("站点名")forward(request,response)
			地址栏不改变
			服务端跳转
			一次请求
			不能跨域
	request作用域
		request.setAttribute()
			设置作用域
		request.getAttrbute(String name)
			获取作用域
		request.removeAttrbute(String name)
			删除作用域
response(响应)
	response.addHeader
		设置响应头
	response.sendError()
		设置页面报错
	response.setHeader("refresh","3")
		自动刷新
	response.setHeader("refresh","3;http://www.xxx.com")
	response.setContentType(String s)
		设置响应类型
	数据响应
		字符流
			response.ContentType("text/html")
				设置响应类型
			PrintWriter writer=response.getWriter()
				获取字符流
			writer.write()
				向浏览器书写内容
			writer.close()
		字节流
			response.ContentType()
				设置响应类型
			SercletOutputStream out=response.OutputStream()
			out.write()
			out.close()
		解决乱码
			字符流
				1.设置服务端编码
					response.setCharacterEncoding("UTF-8")
				2.设置客户端编码
					request.setHeader("content-type","text/html;charset=UTF=8")
			字节
				1.设置服务端编码
					reponse.setCharacterEncoding("UTF-8")
				2.设置客户端编码
					response.setHeader("content-type","text/html;charset=UTF-8")
			或者两个都可以写成
				response.setContenType("text/html;charset=UTF-8")
	响应图片
		1.得到项目在服务器中的真实路径
			String realPath=request.getServletContext().getRealPath("/")
		2.得到图片存放路径
			String filePath=realPath+"WEB-INF/images/jay.jpg"
		3.通过路径得到File对象
			File file=new File(filePath)
		4.判读文件是否存在且是标准文件
			if(file.exists()&&file.isFile()){

response.setContenType(“image/jpeg”);
InputStream in=new InputStream();
ServletOutputStream out=response.getOutputStream();
byte[] bytes=new byte[1024];
int len=0;
while(len=in.read(bytes)!=-1){
out.write(bytes,0,len);
}
}else{
response.setContenType(“text/html”,“charsetUTF-8”);
response.getWriter.write(“文件找不到”);
response.getWriter.close();
}
重定向
response.sendRedirect(“url”)
地址栏发生改变
客户端跳转
两次请求
能够跨域

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值