黑马程序员技术交流社区
标题:
【石家庄校区】JavaWeb阶段Day15
[打印本页]
作者:
lovemiya
时间:
2018-5-21 16:20
标题:
【石家庄校区】JavaWeb阶段Day15
本帖最后由 lovemiya 于 2018-5-21 16:28 编辑
response&request
ServletContext
InputStream getResourceAsStream(String path)
根据提供的路径读取文件返回一个文件的输入流
String getRealPath(String path)
返回一个路径的磁盘绝对路径
String getMimeType(String file)
获得文件的MIME的类型
扩展类加载器
ReadFileUtils.class.getClassLoader().getResourceAsStream("db.properties");
Response
概述
响应行
setStatus(int sc):设置状态码
响应头
针对一个key对应多个value的头信息
addDateHeader(String name, long date)
addHeader(String name, String value)
addIntHeader(String name, int value)
针对一个key对应多个value的头信息
setDateHeader(String name, long date)
setHeader(String name, String value)
setIntHeader(String name, int value)
响应体
getOutputStream()
getWriter()
文件的下载
设置两个头一个流:
Content-Type
Content-Disposition
InputStream
response输出响应内容的方法
getOutputStream()
getWriter()
这两个方法是互斥的
输出中文乱码的处理
字节流:
设置浏览器默认的打开的编码
response.setHeader("Content-Type","text/html;charset=UTF-8")
设置中文字节取出的时候的编码
"中文".getBytes("UTF-8")
字符流
response.setContentType("text/html;charset=UTF-8")
Request
代表用户的请求
API
功能一:获得客户机的相关的信息
获得请求的方式
getMethod()
获得请求的路径
getRequestURI()
getRequestURL()
获得客户机的相关的信息
getRemoteAddr()
获得工程名
getContextPath()
功能二:获得页面中提交的参数
getParameter(String name)
getParameterMap()
getParameterNames()
getParameterValues(String name)
功能三:作为域对象存取数据
setAttribute(String name, Object object)
getAttribute(String name)
removeAttribute(String name)
作用范围
一次请求的范围
创建:客户端向服务器发送了一次请求之后
销毁:当服务器对这次请求做出了响应之后
处理request接受参数的中文乱码的问题
POST解决方案
设置request缓冲区的编码:
request.setCharacterEncoding("UTF-8")
GET解决方案
使用String的构造方法
String (byte[] bytes, String charsetName)
重定向和转发
重定向的地址栏会发生变化,转发的地址栏不变.
重定向两次请求两次响应,转发一次请求一次响应.
重定向路径需要加工程名,转发的路径不需要加工程名.
重定向可以跳转到任意网站,转发只能在服务器内部进行转发.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2