page指令
1.設置頁面的MIME(MultipurposeInternet Mail Extensions)
<%@ page language="java"contentType="text/html;charset=GBK"%>
例:
<%@page language="java"contentType="text/html;charset=GBK"%>
<html>
<head>
<title>udbful標題</title>
</head>
<body>
<center>
<h2>大家好,我是鄭</h2>
<h4>大家好,我是晨</h4>
</center>
</body>
</html>
若沒有紅色字一句則無法顯示中文
附:注意sublime工具不支持中文,不能用此編輯器編寫。非要的話需做其它操作。
2.設置文件編碼
<%@ page language="java"contentType="text/html" pageEncoding="GBK"%>
例:
<%@page language="java" contentType="text/html"pageEncoding="GBK"%>
<center>
<h2>大家好,我是鄭</h2>
</center>
問:contentType與pageEcoding區別?
pageEcoding指的是JSP文件本身的編碼,而contentType中的charset指的是服務器發送給客戶端的內容編碼。在JSP中,如果pageEcoding存在,那麼JSP的編碼將由pageEcoding決定,否則由contentType中的charset屬性決定;如果兩者都沒有,則由ISO-8859-1編碼方式。
3.錯誤頁的設置
例:
page_error_show.jsp頁面
<%@page language="java" contentType="text/html"pageEncoding="GBK"%>
<%@page errorPage="page_error.jsp"%>
<%
int result = 10 / 0;
%>
Page_error.jsp頁面
<%@page language="java" contentType="text/html"pageEncoding="GBK"%>
<%@page isErrorPage="true"%> <%--表示此頁面可以處理錯誤--%>
<%
response.setStatus(200); //表示此頁面可以處理錯誤
%>
<h1>程序出現錯誤!</h1>
說明:
1.response.setStatus(200);語句並不一定要,只是有時候可能出現無法跳轉的錯誤頁,加上這句的話肯定可以正確顯示。
2. 這種方法是處理單個頁面的錯誤,在項目中並不實用。
較爲簡單的集中處理方法是:是修改虛擬目錄WEB-INF/web.xml文件。再重啓服務器。
服務器端跳轉:
現象:跳轉時地址欄(頁面網址)不會改變;
若地址欄發生改變則稱爲客戶端跳轉,如超鏈接。
以上內容參考JAVAWEB開發實戰經典(名師講壇)