2024年12月7日 星期六

JSP 的error頁面控制

 jsp在處理error有以下三種

1.使用<% scriptlet %> 加上傳統try catch自行控制

2.使用jstl的<c:catch>標籤自行控制

3.使用jsp的errorPage設定交給別的頁面處理(又分兩種形式)

   a.單一網頁控制errorPage 

     錯誤發起頁面必須有<%@page errorPage="接收error頁面.jsp" %>設定

     範例如下:(檔名為badPage.jsp)  

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@page errorPage="errorPage.jsp" %>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body>

About to be bad....

<% int x=5/0; %>

</body>

</html>

    接收error頁面.jsp範例必須有<%@page isErrorPage="true" %>設定

     isErrorPage="true"代表可接收前網頁送來exception物件

    範例如下:(檔名為errorPage.jsp) 

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@page isErrorPage="true" %>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body>

=_=..................show errorPage<br>

Exception is a ${pageContext.exception}

</body>

</html>

 b.針對全域或特定類型網頁在web.xml做設定

   宣告全體適用錯誤處理頁面

<error-page>

<exception-type>java.lang.Throwable</exception-type>

<location>/errorPage.jsp</location>

</error-page>

   宣告特定例外錯誤處理頁面

<error-page>

<exception-type>java.lang.ArithmeticException</exception-type>

<location>/ArithmeticError.jsp</location>

</error-page>

   宣告HTTTP ERROR CODE用錯誤處理頁面

<error-page>

<error-code>404</error-code>

<location>/notFoundPage.jsp</location>

</error-page>

 

2024年3月1日 星期五

JAVA 11 認證考試(1Z0-819) 目標

 

複習考試主題

 

多選擇性答案考題(Google翻譯)

https://education.oracle.com/zh_TW/java-se-11-developer/pexam_1Z0-819

使用 Java 資料類型

  • 使用基元和包裝類,包括運算子、括號、類型提升和轉換

  • 使用 String StringBuilder 類別處理文本 

  • 使用局部變數類型推斷,包括作為 lambda 參數

控製程序流程

  • 建立和使用循環、if/else switch 語句

Java 物件導向方法

  • 宣告和實例化 Java 物件(包括巢狀類別物件),並解釋物件的生命週期(包括建立、透過重新分配取消參考和垃圾收集)

  • 定義和使用欄位和方法,包括實例、靜態和重載方法

  • 使用實例和靜態初始化語句和建構函數初始化物件及其成員

  • 了解變數範圍、套用封裝並使物件不可變

  • 建立和使用子類別和超類,包括抽象類

  • 利用多態性與轉換來呼叫方法,區分物件類型與引用型別

  • 創建和使用接口,識別功能接口,並利用私有、靜態和預設方法

  • 建立和使用枚舉

例外處理

  • 使用 try/catch/finally 子句、try-with-resource multi-catch 語句處理異常

  • 建立和使用自訂異常

使用數組和集合

  • 使用泛型,包括通配符

  • 使用 Java 數組和 ListSetMap Deque 集合,包括便捷方法

  • 使用 Comparator Comparable 介面對集合和陣列進行排序

使用串流和 Lambda 表達式

  • 使用 lambda 表達式實現函數式接口,包括 java.util.function 套件中的接口

  • 使用 Java Streams 過濾、轉換和處理數據

  • 執行分解和縮減,包括對順序流和平行流進行分組和分區

Java平台模組系統

  • 部署和執行模組化應用程序,包括自動模組

  • 聲明、使用和公開模組,包括服務的使用

並發性

  • 使用 Runnable Callable 建立工作線程,並使用 ExecutorService java.util.concurrent API 管理並發

  • 使用不同的鎖定機制和 java.util.concurrent API 開發線程安全程式碼

Java I/O API

  • 使用 I/O 流讀寫入控制台和檔案數據

  • Java 物件上實現序列化和反序列化技術

  • 使用 java.nio.file API 處理檔案系統對象

Java SE 應用程式中的安全編碼

  • 開發程式碼以減輕安全威脅(例如拒絕服務、程式碼注入、輸入驗證)並確保資料完整性

  • 保護資源存取(包括檔案系統)、管理策略和執行特權程式碼

使用 JDBC 的資料庫應用程式

  • 連線並執行資料庫SQL操作,使用JDBC API處理查詢結果

本土化

  • 使用區域設定、資源包和 Java API 來解析和格式化訊息、日期和數字來實現本地化

註解

  • 建立、套用和處理註釋