二、 使用JSP实现输出
JSP的页面构成: 静态内容、指令、表达式、Scriptlet、声明、动作、注释
Jsp脚本: 表达式、Scriptlet、声明
表达式: <%= 内容 %>
Scriptlet: <% Java代码 %>
声明: <%! Java变量、方法 %>
JSP指令: page、include、taglib
2.1 使用page指定设置页面属性
- 设置字符集 pageEncoding
- 设置语言 language
- 导入包 import
- 指定缓冲区大小(千字节) buffer
- 指定错误处理页面的URL errorPage
- 该页面是否为错误处理页面 isErrorPage
- 7. 是否忽略对 EL 表达式进行计算 isELIgnored
新建的jsp页面的字符集是 ISO-8859-1 ,此时是不能保存汉字的。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
保存汉字需要使用utf-8的字符。想使新建文件都是utf-8可重新设置。
2.2 include指令
运行时将HTML文件或者 JSP页面嵌入到另一个JSP页面中。
<%@ include file=”文件名” %> 执行速度快,直接和原始文件一起执行
<jsp:include page=”文件” flush=”ture” > 遇到此行在编辑,将结果返回。
2.3 taglib 指令
将标签库描述文件(TLD)引入到该页面中,并设置前缀,利用标签的前缀去使用标签库描述文件中的标签。标签描述符文件为XML格式,包含一系列标签说明,它的文件后缀名是 .tld。
<%@ taglib url=”标签库描述符文件” prefix=”前缀名” >
2.4 out实现页面输出
<% out.println("我的JSP网页"); %>
<% out.print("我的第二个网页"); %>
输出效果:
查看源文件:
2.5 注释
JSP中的注释分为三种:
- 1. HTML注释
<!-- HTML注释 -->
- 2. JSP 注释
<% -- JSP 注释 -->
- 3. JSP 脚本注释
<%
/* 多行注释 */
// 单行注释
%>
三者的区别是: HTML注释不安全
实例:
效果:
源代码:
2.6 JSP声明和使用变量
1. <% %> 局部变量
2. <%! %> 全部变量和方法
3. 转义字符:
1) 单引号 ‘ 改为 \’
2) 双引号 “ 改为 \’’
3) 斜线 \ 改为 \\
4) 起始标签 <% 改为 <%
5) 结束标签 %> 改为 %\> 或者 %>
2.7 JPS表达式实现页面输出
<% out.print(); %>
<%= %>
备注:当表达式中需要导入其它包时,使用Page指令,多个包写到一起,使用逗号(,)隔开。
2.8 JSP执行原理
生成的java文件和class文件保存在项目路径中work中
1) 客户端请求
2) Web容器将jsp页面转译成servlet的源代码 .java
3) Web容器将产生的源代码经过编译 .class
4) Web容器加载编译后的代码并执行
5) 把执行结果响应至客户端
2.9 Web 程序常见错误
1) 404 找不到访问的页面或资源
可能出现的原因: 运行时,URL输入错误
将页面放在WEB-INF下
外部启动Tomcat,未部署项目
2)500 JSP页面代码有误
可能出现的错误: JSP页面代码有错误