javaweb总结。
**一、基础: **
URL:Uniform Resource Locator——统一资源定位 URI:Uniform Resource Identifier——统一资源标识 URN:Uniform Resource Name——统一资源名称URL组成:1、协议2、主机ip地址 (端口号)3、相对路径http://localhost:8080/news/dex.htm (https 安全)127.0.1 无状态就是请求完,不保存下次还的从新请求协议 主机地址 项目资源地址status状态码:200 : 请求正常404 : 路径错或页面没写;5xx : 服务器端错误;servlet是一个java程序(java类),是在服务器上运行以处理客户端请求并作出响应的程序Servlet是通过java代码实现页面的输出和逻辑的处理,JSP是通过HTML中填充java代码实现界面的输出和逻辑的处理。因此 JSP 的本质是 Servlet;JSP注释 的格式为 <%– –%>,与 HTML注释 的区别在于:JSP注释不会输出到客户端、二、JSP九大内置象: pageContext: 页面上下文对象 request :请求对象 session: 会话对象 application :应用程序对象 response :响应对象 out :页面输出对象 config: 配置对象 exception :异常对象 page :页面对象 page:范围里的变量无法从index.jsp传递到test.jsp,只要页面跳转了,它们就不见了; request: 范围里的变量可以跨越forward的前后的两页,但是只要刷新页面,它们就重新计算了; session: 范围里的变量一直在累加,开始还看不出区别,但只要关闭浏览器,再次重启浏览器访问这个页面,它们就重新计算了; application: 范围里的变量一直在累加,除非你重启tomcat,否则它们会一直变大。 (1) 如果我们把变量放到pageContext里,就说明这个变量的作用域是page,它的有效范围只在当前jsp页面里。也就是说,从把变量放到pageContext开始,到jsp页面结束,你都可以使用这个变量。 (2) 如果把变量放到request里,就说明这个变量的作用域是request,它的有效范围是当前 请求周期。所谓请求周期,就是指从http请求发起,到服务器处理结束并返回响应的整个过程。在这个过程中可能使用forward的方式跳转了多个jsp页面,但由于仍然是同一个请求,因此在这些页面里,我们都可以使用这个变量。 (3) 如果把变量放到session里,就说明这个变量的作用域是session,它的有效范围是 当前会话。所谓当前会话,就是指从用户打开浏览器开始,到用户关闭浏览器这中间的过程,这个过程可能包含多个请求和响应。也就是说,只要用户不关浏览器,服务器就有办法知道这些请求是一个人发起的,整个过程被称为一个会话(session),而放到会话中的变量,就可以在当前会话范围内使用。 (4) 如果把变量放到application里,就说明这个变量的作用域是application,它的有效范围是 整个应用。所谓整个应用是指从应用启动,到应用结束。特别地,我们没有说“从服务器启动,到服务器关闭”,这是因为一个服务器可以部署多个应用,只要你结束了当前应用,这个变量就失效了。 setAttribute(String Name, value) getAttribute(String Name) getParameter(String name) getParameterValues(String name) setCharacterEncoding(“utf-8”) GET 方式的请求:直接在浏览器地址栏输入访问地址所发送的请求或提交表单的默认请求参数发送方式; POST 方式的请求:以 post 方式提交表单,发送请求参数。该种方式一般。将请求参数放在HTML HEADER 中传输,因此用户不能在地址栏看到请求参数值,安全性较高 转发与重定向: 转发带数据,重定向不带数据,转发地址栏不变,重定向地址栏变 response.sendRedirect(request.getContextPath() + “/page/pub.jsp”);(重定向)request.getRequestDispatcher("/page/on.jsp").forward(request, response);(转发)session与cookie:Cookie 与 Session的最大不同在于:session会随着浏览器的关闭而失效,但Cookie会一直存放在客户端的机器上,除非超出Cookie的生命周期。Cookie URL:Uniform Resour