JavaEE总结
JSP页面的组成:
-
注释元素:
- HTML中的注释: ;此注释会显示在客户端中。
- JSP中的注释<%-- 注释–%>:不会显示在客户端,只会显示在服务器端。
- 脚本元素中的注释:// 多行/****/ 只能用于java脚本由于java脚本语言中。
-
指令元素
-
page指令:
- language属性 该属性用于设置JSP页面使用的语言,目前只支持Java语言。例:<%@ page language=”java” %>
- import属性 该属性用于设置JSP所导入的类包,JSP页面可以嵌入Java代码片段,这些Java代码在调用API时需要导入相应的类包。例:<%@page import=”java.util.*” %>
- pageEncoding属性 该属性用于定义JSP页面的编码格式,指定的文件编码格式。例:<%@ page pageEncoding=”UTF-8” %>
- contentType属性 该属性用于设置JSP页面的MIME类型和字符编码,浏览器会根据些解释页面。 例:<%@ page contentType=”text/html;charset=utf-8” %>
- session属性 该属性用于定义JSP页面是否使用session会话对象,其值是boolean类型,默认值为true. Eg:<%@ page session=”true” %>
- errorPage属性 该属性用于定义此JSP页面发生错误时所转发到的另外一个JSP页面,用于处理此页面所发生的错误。 Eg:<%@page errorPage=”error.jsp” %>
-
include指令:nclude指令用于文件包含,该指令可以在一个JSP页面中包含另外一个文件中的内容,并且只能支持静态包含。
-
taglib指令:taglib指令允许用户使用标签库自定义新的标签。
-
脚本元素:
- 全局变量:<%! 变量 %>,被转换成servlet中的实例属性和实例方法
- 表达式:<% = %>,相当于:System.out.prlntln()。
- 脚本:<% %>,最后会将多个的脚本文合并放在service()中。
-
动作元素:
- < jsp:param > :通过键值对的方式为其他标签提供附加信息;<jsp:param name="" value=""/>。
- < jsp:include >:文件包含,最终结果是包含两个文件。也称为动态包含,是在运行的时候动态的查找此文件。
- < jsp:forward >:请求转发,每当遇到此操作时,就停止执行当前的jsp,转而执行被转发的资源。
- < jsp:useBean >:导入javaBean。
- < jsp:plugin >:使用相关的插件。
JSP中内置的九大对象:
对象 | 作用 |
---|---|
pageContext | 表示JSP页面容器,pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。 |
request | 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。 |
response | 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。 |
session | session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。 |
application | application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。 |
out | out 对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。 |
config | config 对象的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。 |
page | page 对象代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前 Servlet接口引用的变量,类似于Java编程中的 this 指针。 |
exception | exception 对象的作用是显示异常信息,只有在包含 isErrorPage=“true” 的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。excepation对象和Java的所有对象一样,都具有系统提供的继承结构。exception 对象几乎定义了所有异常情况。在Java程序中,可以使用try/catch关键字来处理异常情况; 如果在JSP页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception 对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的 exception 对象。 |
JSP的执行过程:
- 客户端发起请求:
- web容器将jsp主转化为servlet代码,就是将其翻译为文件名_jsp.java的代码。
- 将servlet转化为class文件。
- web容器加载class文件并执行。
- 将执行的结果相应给客户端。
再次相应的时候直接进行第四步,直到修改了源文件后才会将其重新编译。
session和cookie
cookie :
客户在访问服务器的时候,服务器会将一些数据 通过key/value的形式发送给客户端,并加上一些限制条件,在条件符合时,这个用户下次访问这个服务器的时候,数据将会被完整的带回给服务器。
session:
客户在第一次访问服务器的时候,服务器会生成一个HttpSession的对象,并交给Manager中的session容器管理,以后每次客户端在访问的时候,会将原来的sessionID通过或cookie(名为JSESSIONID)交给服务器,如果浏览器禁用了cookie的话,会将这个键值对放在URLpath中。
两者的异同:
session | cookie | |
---|---|---|
保存的位置 | 服务器端 | 客户端 |
安全性 | 较安全 | 较不安全 |
保存的内容 | Object | String |