ASP JSP
PHP SERVLET CGI 第一章 1.3 JSP 的运行原理 JSP 的
工作方式(运行原理)是请求/应答模式 JSP 文件被转换成 servlet 代码(即 JAVA 源文件) 客户端发出 HTTP 请求
编译成字节码文件(即.class 文件) JAVA 虚拟机调用该字节码文件 返回客户端 (服务器 JAVA .class 字节码文件 html) 第二章 Tomcat 的安装目录: Conf : 包含配置文件。其中 server.xml 包含了 Tomcat 的各种配置信息 Webapps : 存放 web 应用程序示例 Work : 存放 jsp 编译后产生的 java 文件和 class 文件 第三章 JSP 页面组成元素(jsp 元素,模板元素)-注释,脚本,指令,动作 3.1 JSP 页面的基本结构 一个 JSP 文件可以包含了模板元素和 JSP 元素 模板元素:指的是 JSP 引擎不处理的部分,按照原样输出到客户端,可以使 HTML、Javascript 和 CSS 等。 JSP 元素:指的是由 JSP 引擎直接处理的部分,必须符合 JSP 语法 3.2 JSP 注释 HTML 注释:JSP 脚本元素 JSP 中脚本元素包括三部分:声明、脚本段、表达式 表达式: 在页面被转换为 servlet 后, 转换为了 out.print()方法 意有=号 脚本段:脚本段就是一段 JAVA 代码,被包括在<% 声 %>里面用以说明。 语法:<% %> Java 代码 %> 明:用于声明变量、方法和内部类等。语法:<%! 一般用于输出变量。 语法 : <%= %> 注 - -> - -> 多行注释 在浏览器窗口中不可见,但可在源文件中看到; 浏览器中不可见,客户端
源代码中也没有; /* */ 其中每一行前面加一个*
3.4 指令标签 【 Page 指令:用来定义整个 JSP 页面的一些属性和这些属性的值 <%@page %>】 其中的重要属性: Import 属性:用来导入此 JSP 页面将会用到的类和接口,多个之间用逗号隔开。语法:<%@page import=”java.sql.*,java.util.*”%> Session 属性:用来指定当前页面中是否允许进行 session 操作,用于客户的确认。语法:<%@page session=”true”%> 缺省为 true <% session.setAttribute(“user”,”Tom”); %> <%=session.getAttribute(“user”)%> 设置指定名字的值 获取指定名字的值
contentType 属性:设定生成网页的文件格式和编码方式,默认 ISO-8859-1。 pageEncoding 属性:指定 JSP 页面的字符编码。默认 ISO-8859-1,若页面中有简体中文,字符集应该定 。语法:<%@page pageEncoding=”GBK” %> 义为 GBK、GB2312、UTF-8(中文的 3 种字符集)
★区分 contentType 和 pageEncoding,从 JSP 页面执行过程考虑: 第一阶段:JSP 文件转移成 servlet 文件(java 源码) 。根据 pageEncoding 的设定读取 jsp,翻译成统一的 UTF-8 java 源码。如果 pageEncoding 设定错了,出来的就是中文乱码。 第二阶段:java 源码编译成字节码文件。Javac 用 UTF-8 的编码方式读取 java 源码,编译成 UTF-8
编码 的字节码文件。 第三阶段:字节码文件最终以 html 形式到客户端,以参数 contentType 指定的编码方式显示。 (jsp servlet 字节码 客户端) errorPage 属性:JSP 页面发生运行异常时,处理该异常的页面。错误封装在异常对象 exception 中,传递 给指定的错误处理页面。错误处理页面必须在其 page 指令元素中指定 isErrorPage=”true” 【例】除零异常 出错页面 test-error.jsp <%@page errorPage=”deal-error.jsp”%> <% out.print(2/0); %> 将错误抛给 deal-error.jsp 页面处理
错误处理页面 deal-error.jsp <%@page contentType=”text/html;charset=gb2312”isErrorPage=”true”%> <%out.println(“除数不能为零”); out.println(exception.toString()); %>
inclue 指令:用于在 jsp 文件中静态插入一个文件,即将多个文件整合在一个页面中。这个文件可以使 JSP 文 件 、
HTML 文 件 、 文 本 文 件 或 者 只 是 一 段 java 代 码 。 但 包 含 文 件 中 不 能 包 含 诸 如 <%@page language=”java” %>的代码,因为会影响主 jsp 文件中同样的标记,就会出错。 file=”url”%> 3.5 动作元素 常用的 JSP 动作包括:
xml:namespace prefix = jsp />
、 、 与指令元素不同, 动作元素在请求处理阶段起作用。 以及、、. 动作标签:include