jsp代碼規範和注意事項,jsp基本用法

本文目錄一覽:

jsp是幹什麼的

JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在於服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基於組件的設計,使基於Web的應用程序的開發變得迅速和容易。

Web伺服器在遇到訪問JSP網頁的請求時,首先執行其中的程序段,然後將執行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作資料庫、重新定向網頁等,以實現建立動態網頁所需要的功能。

JSP與Java Servlet一樣,是在伺服器端執行的,通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。

JSP的1.0規範的最後版本是1999年9月推出的,12月又推出了1.1規範。目前較新的是JSP1.2規範,JSP2.0規範的徵求意見稿也已出台。

JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。伺服器在頁面被客戶端請求以後對這些Java代碼進行處理,然後將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平台無關性且安全可靠,主要面向網際網路的所有特點。

自JSP推出後,眾多大公司都支持JSP技術的伺服器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業應用的伺服器端語言。

JSP可用一種簡單易懂的等式表示為:HTML+Java=JSP。

jsp編寫的規範

沒感覺有什麼規範……script就是純Java程序,要注意格式,大小寫啦,駝峰標示啦,名字的起法啦……

JSP是什麼?

JSP(JavaServer Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。

用JSP開發的Web應用是跨平台的,即能在Linux下運行,也能在其他操作系統上運行。

JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在於服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基於組件的設計,使基於Web的應用程序的開發變得迅速和容易。

Web伺服器在遇到訪問JSP網頁的請求時,首先執行其中的程序段,然後將執行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作資料庫、重新定向網頁等,以實現建立動態網頁所需要的功能。

JSP與Java Servlet一樣,是在伺服器端執行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。

JSP的1.0規範的最後版本是1999年9月推出的,12月又推出了1.1規範。目前較新的是JSP1.2規範,JSP2.0規範的徵求意見稿也已出台。

JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。伺服器在頁面被客戶端請求以後對這些Java代碼進行處理,然後將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平台無關性且安全可靠,主要面向網際網路的所有特點。

1. JSP技術的強勢

(1)一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統之外,代碼不用做任何更改。

(2)系統的多平台支持。基本上可以在所有平台上的任意環境中開發,在任意環境中進行系統部署,在任意環境中擴展。相比ASP/PHP的局限性是顯而易見的。

(3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多台伺服器進行集群和負載均衡,到多台Application進行事務處理,消息處理,一台伺服器到無數台伺服器,Java顯示了一個巨大的生命力。

(4)多樣化和功能強大的開發工具支持。這一點與ASP很像,Java已經有了許多非常優秀的開發工具,而且許多可以免費得到,並且其中許多已經可以順利的運行於多種平台之下。

2. JSP技術的弱勢

(1) 與ASP一樣,Java的一些優勢正是它致命的問題所在。正是由於為了跨平台的功能,為了極度的伸縮能力,所以極大的增加了產品的複雜性。

(2) Java的運行速度是用class常駐內存來完成的,所以它在一些情況下所使用的內存比起用戶數量來說確實是「最低性能價格比」了。從另一方面,它還需要硬碟空間來儲存一系列的.java文件和.class文件,以及對應的版本文件。

JSP九種內置對象:

request, response, out, session, application, config, pagecontext, page, exception.

一.request對象:該對象封裝了用戶提交的信息,通過調用該對象相應的方法可以獲取封裝的信息,即使用該對象可以獲取用戶提交信息。

二.response對象:對客戶的請求做出動態的響應,向客戶端發送數據。

三.session對象

1.什麼是session:session對象是一個JSP內置對象,它在第一個JSP頁面被裝載時自動創建,完成會話期管理。

從一個客戶打開瀏覽器並連接到伺服器開始,到客戶關閉瀏覽器離開這個伺服器結束,被稱為一個會話。當一個客戶訪問一個伺服器時,可能會在這個伺服器的幾個頁面之間反覆連接,反覆刷新一個頁面,伺服器應當通過某種辦法知道這是同一個客戶,這就需要session對象。

2.session對象的ID:當一個客戶首次訪問伺服器上的一個JSP頁面時,JSP引擎產生一個session對象,同時分配一個String類型的ID號,JSP引擎同時將這個ID號發送到客戶端,存放在Cookie中,這樣session對象和客戶之間就建立了一一對應的關係。當客戶再訪問連接該伺服器的其他頁面時,不再分配給客戶新的session對象,直到客戶關閉瀏覽器後,伺服器端該客戶的session對象才取消,並且和客戶的會話對應關係消失。當客戶重新打開瀏覽器再連接到該伺服器時,伺服器為該客戶再創建一個新的session對象。

四.aplication對象

1.什麼是application:

伺服器啟動後就產生了這個application對象,當客戶再所訪問的網站的各個頁面之間瀏覽時,這個application對象都是同一個,直到伺服器關閉。但是與session不同的是,所有客戶的application對象都是同一個,即所有客戶共享這個內置的application對象。

2.application對象常用方法:

(1)public void setAttribute(String key,Object obj): 將參數Object指定的對象obj添加到application對象中,並為添加的對象指定一個索引關鍵字。

(2)public Object getAttribute(String key): 獲取application對象中含有關鍵字的對象。

五.out對象

out對象是一個輸出流,用來向客戶端輸出數據。out對象用於各種數據的輸出。

六.Cookie

1.什麼是Cookie:

Cookie是Web伺服器保存在用戶硬碟上的一段文本。Cookie允許一個Web站點在用戶的電腦上保存信息並且隨後再取回它。

舉例來說,一個Web站點可能會為每一個訪問者產生一個唯一的ID,然後以Cookie文件的形式保存在每個用戶的機器上。

如果您使用IE瀏覽器訪問Web,您會看到所有保存在您的硬碟上的Cookie。它們最常存放的地方是:c:\windows\cookies(在Window2000中則是C:\Documents and Settings\您的用戶名\Cookies )

Cookie是以「關鍵字key=值value「的格式來保存紀錄的.

2.創建一個Cookie對象,調用Cookie對象的構造函數可以創建Cookie。Cookie對象的構造函數有兩個字元串參數:Cookie名字和Cookie值。

Cookie c=new Cookie(「username」,」john」);

3. JSP中如果要將封裝好的Cookie對象傳送到客戶端,使用response的addCookie()方法。

格式:response.addCookie(c)

4.讀取保存到客戶端的Cookie,使用request對象的getCookies()方法,執行時將所有客戶端傳來的Cookie對象以數組的形式排列,如果要取出符合需要的Cookie對象,就需要循環比較數組內每個對象的關鍵字。

JSP規範定義的三大元素

在JSP頁面中,JSP元素可以分為三大類:JSP指令元素、JSP動作元素、JSP腳本元素。

一、JSP指令元素僅僅是在「翻譯」階段使用的,即把JSP翻譯成Servlet。JSP指令元素只有「三個」:page、taglib、include。但每個指令可能有若干個屬性。比如:page指令有contentType屬性、有import屬性等。

二、 jsp動作元素又可分為「三種」:JSP標準動作元素,JSP標準標記庫(JSTL)動作元素,自定義動作元素。

JSP標準動作元素」是早期就存在的JSP規範定義的標準動作元素,它是由jsp作為前綴的標籤。例如:

jsp:useBean ……就是JSP標準動作元素。

JSP標準標記庫(JSTL)動作元素:是在JSP發展到後才來產生的,他主要由:1.核心庫(core)、2.國際化和格式化庫、3.關係資料庫訪問庫、4.XML處理庫、5.函數庫,這五個庫組成。每個庫的標籤都對應相應的標籤前綴,比如:核心庫裡面的標籤前綴是c,c:out……。由於現在的Web一般都採用MVC模式,所以JSTL中的關係資料庫訪問庫一般比較少用到。而在用純JSP設計的Web中一般會用到。

自定義動作元素:如果覺得JSTL還不夠用,你還可以開發自定義的定製動作。自定義動作元素在這裡不作介紹。

三、JSP腳本元素:JSP腳本元素在JSTL還沒發展起來時,是JSP代碼的主要組成部分,在JSP腳本裡面可以寫各種各樣的java代碼來完成各種任務。但JSP頁面中大量使用JSP腳本元素會使JSP頁面凌亂,而且JSP頁面使用JSP腳本元素不方便編程任務的分工。可以說,JSTL就是為了解決JSP腳本元素帶來的問題而產生的。有了JSTL後,可以用JSTL取代JSP腳本元素(但JSTL還在完善中,有時不能100%的取代JSP頁面中的JSP腳本元素)。EL表達式也是JSP在後來引進的。他可以為JSP標記的屬性等動態賦值,比JSP表達式更加簡單易用。

jsp 如何編寫1到10的和

具體代碼如下:

%@ page language=”java” contentType=”text/html; charset=UTF-8″

  pageEncoding=”UTF-8″%

html

head

meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″titleInsert title here/title

/head

body

table border=”1″ 

tr

%

int a=1;

for(int i=1;i=10;i++){

%

 td%=i %/td

%

 }

%

/tr

tr

%

for(int i=1;i=10;i++)

{

a=a*i;

   td%=a %/td

%

}

%

/tr

/table

/body

/html

擴展資料:

jsp開發技術應用的注意事項:

1. 伺服器端必須提供輸入數據正確性的驗證,客戶端的Javascript驗證可以沒有。這是基於安全性的考慮,因為Javascript是很容易被繞過的, 增加客戶端驗證只是為了減少伺服器壓力、界面更加容易使用。

2. 適度使用Session,盡量不要在Session里放很大的集合對象,以免內存消耗過大,因為很多用戶訪問的時候會產生很多的Session。參數傳遞 應該盡量通過Request。熟悉HTTP有助於更好的理解Session、Cookie、Request等的機制。

3. 在帶有分頁的查詢界面,盡量不要使用POST方法來傳遞參數,POST傳遞的參數在地址欄里是看不到的,刷新後會有重新提交表單的提示。使用GET方法傳 遞參數要注意URL的長度不能超過1K。

4. 分層應該清晰,一般目前我們分為View(Jsp或FreeMarker加上Action)、Bean(Service)、DAO這麼三層,即顯示層、業 務層、數據層。

記錄集ResultSet這種只能出現在DAO層中的對象不能出現在Bean(Service)層中,同樣 HttpServletRequest這種只能出現在View層的對象也不應出現在Bean(Service)層中。這並不是絕對的。

原創文章,作者:TUBEI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330057.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
TUBEI的頭像TUBEI
上一篇 2025-01-14 18:56
下一篇 2025-01-14 18:56

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • int類型變數的細節與注意事項

    本文將從 int 類型變數的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變數進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變數。 一、定義與聲明 int…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • Python基本索引用法介紹

    Python基本索引是指通過下標來獲取列表、元組、字元串等數據類型中的元素。下面將從多個方面對Python基本索引進行詳細的闡述。 一、列表(List)的基本索引 列表是Pytho…

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29

發表回復

登錄後才能評論