行 | 头 | 体 | |
请求 | a提交方式:(1)get:提交的参数会显示在地址栏上,而且有大小的限制 (2)post:提交的参数不会显示在地址栏中,而且没有大小的限制 b提交路径 c协议版本 | 都是兼职对的形式显示的,一般一个key对应一个value,也可能对应多个 (1)User-Agent:代表浏览器类型,不同的浏览器使用不同的编码 (2)Referer:代表网页的来源,就是防盗链 (3)If-Modified-Since:查找本地缓存 | 就是post提交方式的提交参数 |
响应 | A协议的版本 B状态码 200:成功 302:重新定向 304:查找本地资源 404:资源不存在,或地址错误 500:服务器内部错误,其实就是代码书写错误 | 都是键值对,一般一个key对应一个value,也可以对应多个 (1)Last-Modifide:查找本地缓存 (2)Content-Dispostio:文件下载使用的一个头信息 (3)Location:重新定向跳转的路径 (4)Refrech:定时刷新/定时跳转 | 显示浏览器页面的内容 |
SerletRequest :客户端发送过来的请求,想要获得 请求的数 据,都从此处获得 | ServletResponse :服务器返回的数据,想要获得返回的数据内容都要从此获得 |
获得客户端传来的内容 | 设置响应头,使用http协议中的refresh头信息,用来完成定时页面的跳转 |
String getParameter(String name) 用于接受一个一个名称对应的一个值得数据 | Void addDateHeader(String name , long date) 针对一个key对应多个value的响应头 |
String[] getParameterValues 用于接收一个名称对应多个值的数据,例如复选框 | setHeader(String name,String value) 设置响应头 |
Map getParemeterMap 用于接收表单中的所有数据,map的key是表单提交的参数名称,map的value就是提交的参数的值 | setDateHeader(String name , long date) |
String getMethod() 获得请求方式 | setInHeader(String name , int value) |
String getRequestURI() 获得请求路径,项目内路径 | Void setStatus(int status) 响应行设置状态码 |
StringBuffer getRequestURL() 获得请求路径,全路径 | Void addDateHeader(String name ,long date) 响应头针对一个key对应多个value的头信息,追加内容 |
String getRemoteAddr() 获得客户机相关信息,ip地址 | void addHeader(String name,String value) |
String getContextPath() 获得工程名 | Void addIntHeader(String name,int value) |
Void getAttribute(String name) 作为域对象存取数据,作用范围就是一次请求的范围,客户端向服务器发送了一次请求后服务器就会创建request对象.当服务器对这次请求作出响应后,就会销毁 | Void setDateHeader(tring name , long date) 针对一个key对应一个value的头信息,会发生数据的覆盖 |
Void setAttribute(String name,Object o) | Void setHeader(String name , String value) 设置头文件 |
Object removeAttribute(String name) | Void setIntHeader(String name,int value) |
response.setCharacterEncoding(“UTF-8””); 设置response的缓冲区编码 | |
response.setContentType("text/html;charset=UTF-8"); 相当于上面两句 | |
ServletOutputStream etOutputStream() 响应体使用字节流,用于文件的下载 | |
PrintWriter getWriter() 使用字符流,用于向页面输出内容 | |
servlet | service | dao |
用于接收来自客户端的请求数据,并且把数据传到service进行处理.在数据处理完成后,把结果传递给客户端 (1)接收表单传来的参数 (2)将传来的参数封装到实体对象中 (3)调用业务层处理数据 (4)根据处理结果显示信息 | 将来自servlet传过来的数据进行处理,完成业务逻辑,并且把数据传递给数据库dao | 对传进来的数据进行增删改查的操作,只是操作数据库 |
ServletContext 被多个用户共享,在服务器启动的时候就会被创建.每个web项目都会创建一个ServletContext对象,在服务器关闭的时候销毁.作为域对象存的数据有一定的范围 (1)用来获取全局初始化参数 (2)用来获得文件的mime的类型 (3)作为域对象存取数据 (4)在有servlet环境下this.getServletContext获得该对象 | Request (1)创建:从客户端向服务器发送请求,就会创建一个request对象 (2)销毁:服务器为这次请求做出响应之后,服务器就会销毁request对象 (3)作用范围:一次请求 |
Void setAttribute(String name , Object object) 用来存数据 | 获得客户机的信息 getRemoteAddr() Getmethod() GetRequestURI() getRequestURL() |
Object getAttribute(String name) 用来向ServletContext中获得数据 | 获得请求参数 getParameter() getParameterValue() getparameterMap() |
Void removeAttribute(String name) 从servletContxt中移除数据 | 作为域对象的三个方法 getAttribute() setAttribute() removeAttributr() |
只要是域对象都会有这三个方法 | |
InputStream getResourceAsStream(String path) 根据提供路径读取web文件返回一个文件的输入流(就是读取文件的内容) | |
String getRealPath(String path) 返回一个路径的绝对路径(带磁盘的路径) | |
String getInitParameter(String name) 读取全局初始化参数 | |
Enumeration getInitParmeterNames() 读取全局初始化参数(返回的数据类型为枚举) | |
String getMimeType(String file) 获得文件的mime类型 |
对象名 | 对象的真实类型 | 方法 |
request | HttpServletRequest | |
response | HttpServletResponse | |
session | HttpSession | |
application | ServletContext | |
page | Object | |
pageContext(域对象只在jap中存在) | PageContext | |
config | ServletConfig | |
out | JspWriter | |
exception | Throwable |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |