二、 使用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頁面代碼有錯誤