HTTP协议详解: http协议:超文本传输协议(Hyper Text Transfer Protocol) 作用:规范了浏览器和服务器的数据交互 HTTP协议请求方式: HTTP1.0:GET POST HEAD HTTP1.1新增了五种:OPTIONS PUT DELETE TRACE CONNECT GET和POST区别: -get请求方式:请求数据会以?的形式拼接在请求头中,不安全没有请求实体,http协议虽然没有规定请求数据大小,但是浏览器对于URL的长度有限制,所以get请求不能携带大量数据。 -post请求方式:请求数据在请求实体中进行发送在URL中看不到具体实体数据,安全。适合数据量大的数据发送。 HTTP常见的响应码: 1** 信息服务器收到请求,需要请求者继续执行操作 2** 成功,操作被成功接受并处理 3** 重定向,需要进一步的操作完成请求 4** 客户端错误,请求包含语法错误或无法完成请求 5** 服务器错误,服务器在处理请求过程中发生了错误 -eg: 200 OK:客户端请求成功 400 BadRequest:客户端请求有语法错误,不能被服务器所理解 401 Unauthorized: 请求未授权,这个状态码必须和WWW-Authenticate报头域一起使用 404NotFound:请求资源不存在 500 InternalServerError:服务器发生不可预期的错误 503 ServerUnavailable:服务器当前不能处理客户端请求,一段时间后可能恢复正常。 |
浏览器来了请求后可以处理的方法有service和doGet和doPost,前者优先 |
Request对象: -服务器在接收到浏览器的请求后会创建一个request对象,对象中存储了此次请求相关数据。服务器在调用Servlet时会创建request对象作为实参传递给Servlet的方法eg:service方法。 -使用Response对象响应request对象获取的请求数据处理,将结果显示到浏览器中 -服务器调用servlet进行请求,会给Servlet方法传递两个实参request和response,request封存了请求相关的请求数据,response用来响应的对象。 |
请求转发: -解决的问题:服务器在接受到浏览器请求后,只使用一个Servlet进行请求处理,会造成不同的Servlet,逻辑代码冗余,Servlet职责不明确 -特点:一次请求,地址栏信息不改变 Request对象作用域: 不同的Servlet进行数据共享 -request.setAttribute(object name,object value); -request.getAttribute(object obj) 作用域:基于请求转发,一次请求中所有Servlet共享 重定向: 当前请求Servlet无法处理,请求转发造成表单数据重复,就使用重定向 -使用:response.sendRedirect(“路径”) 特点:两次请求,浏览器地址栏信息改变,避免表单重复提交 |
Cookie技术: -浏览器端的数据存储技术,不同请求需要使用相同数据,避免重复书写请求数据。 特点:适合少量数据,键值对,不安全。 临时存储:不设置,周期是一次会话 定时存储:周期为时间设置,存储在用户电脑中 |
ServletContext对象:解决不同用户数据共享问题,由对象服务器创建,一个项目只有一个对象 ServletConfig对象:ServletContext对象获取web.xml中的配置信息 |
Session学习: -session技术:解决一个用户的不同请求的处理需要使用相同数据 Web.xml文件使用总结:存储项目相关配置信息,保护Servlet,解耦一些数据对程序的依赖 Server.xml文件: |
-ajax技术: 解决问题:保留原有页面内容,显示新的响应内容。 -EL表达式和Jstl标签库学习: El表达式:${expression} 和 [] Jstl标签库是EL表达式的扩展,提升JSP页面逻辑代码的编码效率。 过滤器:对服务器资源进行管理,以及保护Servlet。 监听器:eg:统计网站在线人数 |