跳到主要內容

發表文章

目前顯示的是 11月, 2012的文章

JSP(7)_格式標籤庫

Formatting格式標籤庫 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 前綴已經設定為fmt 功能 說明 語法 fmt:formatNumber 設定數字的格式 <fmt:formatNumber value="" var=""/> fmt:parseNumber 設定字串的格式 <fmt:parseNumber value="" var=""/> fmt:formatDate 設定日期格式 <fmt:formatDate value="" var=""/> fmt:parseDate 設定字串的格式 <fmt:parseDate value="" var=""/> fmt:setLocale 設定區域環境變數,參數部分參考 i18n相關設定 < fmt:setLocale  value="" var=""/> fmt:setBundle 設定資料包的設定 < fmt:setBundle  value="" var=""/> fmt:timeZone 設定時間地區 < fmt:timeZone  value="" var=""/> fmt:setTimeZone 設定時間地區 < fmt:setTimeZone  value="" var=""/> fmt:message 設定輸出字串可以配合多國語言 < fmt:message  value="" var=""/> fmt:requestEncoding 使用多字元的編碼 < fmt:requestEncoding  value="" var=...

JSP(7)_核心標籤庫

如果我們已經會建立JSTL的環境,接下來我們深入探討核心標籤庫: <% taglib prefix="c" uri="java.sun.com/jsp/jstl/core" %> 前綴已經設定為c 功能 前綴字 語法 c:catch 抓取錯誤事件。 <c:catch var="抓取的變數名稱"> </c:catch> c:choose 等同於if(邏輯條件) <c:choose>  <c:when test="邏輯條件1">值 </c: when >  <c:when test="邏輯條件2">值 </c: when >   <c:otherwise> 值 </c: otherwise> </c:choose> c:when 等同於else if(邏輯條件 ) <c:when test="邏輯條件"> </c: when > c:otherwise 等同於else <c:otherwise> </c: otherwise> c:if 等同於if <c:if var="變數" test= "邏輯條件1 " [scope="page|request|session|application"] c:import 引入某個URL的頁面 <c:import  url="URL位置" [ var="變數名稱" ] /> c:out 引用jspWrite物件輸出 1.<c:out />這是一個title 2.<c:out value="這是一個title" /> c:param 加入參數到此網頁 <c:param var="變數名稱" value="內容值"    [scope="page|request|session|applic...

JSTL環境建構

本文章主要介紹如何去建置標準的JSTL的標記,它主要可以分為五大類如下表所示: 功能分類 前綴字 URI Core Tag c http://java.sun.com/jsp/jstl/core   Formatting Tag fmt http://java.sun.com/jsp/jstl/fmt   SQL Tag sql http://java.sun.com/jsp/jstl/sql   XML Tag x http://java.sun.com/jsp/jstl/x JSTL Funciton  我們開始建立這些標準的JSTL標記,我們會分為3步驟 下載標準JSL的JAR檔與tld檔 下載網址為: http://tomcat.apache.org/taglibs/standard/  版本為 JavaServer Pages 1.2    將standard.jar和jstl.jar的檔案複製到WEB-INF/lib/下面,順便也將eclips也import進去  在WEB-INF/下面新增資料夾為tld,資料夾tld將它 編輯web.xml加入下列載入taglib的設定  <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri> <taglib-location>/WEB-INF/tld/c.tld</taglib-location> </taglib>     編輯JSP網頁 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <body>  <c:set var="title">title:aaa</c:se...

JSP(4)_隱含物件

JSP隱含物件          隱含物件主要用來方便抓取前一個作業所傳送的資料或是需要傳送資料,JSP頁面隱          含這些物件方便我們使用。 隱含物件 類別與介面 說明 request javax.servlet.HttpServletRequest  取得用戶端的資料或是系統資料 respone javax.servlet.HttpServletResponse  回應伺服器處理的結果給用戶端 application javax.servlet.ServletContext session javax.servlet.http.HttpSession session物件 config javax.servlet.ServletConfig JSP轉Servlet的資料 page java.lang.Object pageContext javax.servlet.jsp.PageContext JSP頁面所儲存的資料,用此pageContext可以讀取到getException、getPage和 getSession exception java.lang.Throwable 處理例外事件的發生 out javax.servlet.jsp.JspWriter 為輸出的界面 (1) request物件      HttpServletRequest物件用來收集使用者的請求,如name/value、屬性資料或是串流資料      客戶端透過HTTP協定會將資料傳輸給伺服器端,而我們從客戶端所接受到的資料JSP頁 ...

JSP(3)細談JSP語法

細談JSP語法 JSP語法          JSP語法屬於內嵌式在HTML中,但是它會轉成Servlet Class檔,但是編譯器如何知道          區分哪些是HTML語法,哪些是JSP語法。答案就是利用不同的標記去做辨識,基本            上web容器只認識 <% %> 標籤內的語法並做轉換。以下會一一介紹這些語法的規範與          應用。 JSP常用的語法整理 標記 說明 符號 註解 (Comment) 說明程式用,編譯器不會載入其內容 <% --  註解 -- %> 宣告 (Declaration) 宣告變數名稱或是方法 <% ! 宣告 %> 指令 (Directive) 載入JSP網頁之前需要使用載入的環境或是檔案 <% @ 指令%> 標記 (Scriptlet) 程式語法 <% 程式碼 %> 運算式標記 (Expression) 運算式支援變數運算 <%=運算式%> 註解:     <%-- 註解 --%>編譯器看到這種標記,它會自動過濾掉不做編譯的動作,也不會再使用者        端看到註解內容。 宣告:      一般在此宣告的方法會在整個類別層級,提供該整個類別去做使用     EX: <%! final String strHello="Hello,JSP"> 指令     <%@ 指令 屬性="...

JSP(2)_Servlet應用

Servlet 是利用JAVA語言來實現CGI的一種方式,通常實作方式就是implement或是繼承httpservlet類別,在eclips環境下必須先import開發網頁所需要的類別servlet-api.jar載入(位置:在Tomcat 目錄的lib 目錄中)。 HttpServlet類別          HttpServlet為一個抽象類別,主要接收/回應web容器的資料,大概常用的方法有get和          post兩種。 (1)doGet: 主要接收前端的get的傳送方法 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } (2)doPost:主要接收前端網頁的Post的傳送方法     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {     } (3)service:主要接收前端網頁的get/Post的傳送方法   protected void service(HttpServletRequest arg0, HttpServletResponse arg1)     throws ServletException, IOException {     // TODO Auto-generated method stub     super.service(arg0, arg1);     } servlet生命週期   下圖是說明當我們建立好servlet物件時,web容器如何處理從前端接收到請求到servl...

JSP(1)_jsp與servlet的關係

JSP網頁Basic JavaServer Page(JSP)介紹 JSP 是一種網頁程式語言,內嵌於HTML網頁中,經由編譯器轉換成java的程式語言,如下圖所示,<% %>之間的內容為JSP的網頁語法,它會由JSP引擎編譯成java語法的檔案,丟給servlet處理 缺點:  與HTML網頁混合,維護不易。 Servlet介紹 Servlet主要用來接收客戶端的請求與回應,它是由單純的java語法組成,會去繼HttpServlet類別,會去實作HTTP的協定(Post,Get)來接收表單傳送過來的值。以下程式是實作網頁前端拋給servlet的方式。 JSP和Servlet的關係 當我們打開Browser時,我們輸入URL(例如:www.mysit.page.jsp)網址時,第一次呼叫時,Web容器的JSP網頁會由JSP引擎編譯成java servlet檔案,再由servlet引擎執行所要求的程序, JSP生命週期     JSP網頁也是Servlet的一種,當我們第一次拜訪jsp網頁時,它第一次執行的速度會很慢,     因為它必須先 轉成Servlet檔案,而轉譯的過程它必須先繼承       org.apache.jasper.runtime.HttpJspBase介面並且實作JspSourceDependent。那要JSP第一次載     入web容器需要做甚麼才可以使它動作。      (1)JSP轉譯成Servlet : 當使用者登入時,JSP網頁會先轉譯成Servlet檔案,如果是使用To                                        mcat會在work的目錄底下,它會是xxx_jsp.java檔案。      (2)編輯Servlet為.Class:...

網頁技術初探

網頁技術初探(1) 網頁請求與回應 近幾年很流行的動態網頁,說明網頁即時回應的重要我們利用下圖去說明動態網頁的運作 ,當我們打開 瀏覽器 時,我們會輸入 URL 來連結網頁的內容,這時會向網頁伺服器送出請求,根據使用者要求執行 網頁程式 (ASP、JSP和PHP)等等執行程式的程序,會將程式執行的結 果,再給網頁伺服器再回應給瀏覽器。在這過程中,網頁伺服器扮演著編譯器的角色,而望頁程式扮演的執行者的角色,網頁伺服器主要工作會把執行者執行的結果編譯成網頁格式(HTML),回傳給前端使用者。我們下面會一一解析它們扮演角色的重要性。 網頁伺服器: 一個網頁伺服器,主要會完成三項任務 它會提供服務 它提供空間放置網頁 它會提供HTTP協定與瀏覽器做溝通         而要達到網頁伺服器必須建置網頁伺服器的程式,目前比較有名的網頁伺服器如下: Apache軟體基金會的Apache HTTP伺服器 Microsoft的Internet Information Server(IIS) Google的Google Web Server 網頁程式 : 網頁程式主要可以分為客戶端網頁程式與伺服器端網頁程式,主要的不同是伺服器端網頁程式是在伺服器端的網頁程式都需要編譯器去編譯程式才會執行,主要的工作例如:製作報表、商業邏輯、連結資料庫等等。比較不會因為客戶端的不同而去需要改變,但是當多人使用時,需要考慮到網路頻寬與伺服器硬體的問題。至於客戶端的網頁程式應用瀏覽器中,只要瀏覽器是以直譯的方式顯示,主要做一些網頁排版或是動態顯示等等,例如:身分證驗證、電子郵件驗證等等都是常看到的應用。 *客戶端網頁程式:   JavaScript 、 CSS 、 VBScript *伺服器端網頁程式 : PHP 、 ASP 、 JSP 、 Perl 各種程式的優勢與劣勢 網頁程式 優點 缺點 PHP 好學、有強大的函式庫 支援套件多 網頁語法與PHP程式會混在一起,維護不易 非物件導向程式語言不好做擴展 JSP 網頁顯示與程式可以分開 容易模組化 可...