JavaEE-01 JSP動態網頁基礎

來源:互聯網
上載者:User

標籤:樣本   實現   oca   目的   pwd   forbidden   編寫   java se   成員   

學習要點
  • B/S架構的基本概念
  • Web項目的建立和運行
  • JSP頁面元素
  • MyEclipse建立和運行Web項目
  • Web程式調試

 

Web簡史web前端技術演化三階段
  • WEB 1.0:資訊廣播。 
  • WEB 2.0:資訊互動。 微博、部落格等。
  • WEB 5.0:移動互連網。

 

動態網頁伺服器端技術演化

 

 

主流web程式應用平台

 

效能比較

LAMP

JavaEE

ASP.NET

運行速度

較快

一般

開發速度

非常快

一般

運行損耗

一般

較小

較大

難易程度

簡單

簡單

運行平台

Linux/Unix/Windows

絕大多數平台

僅Windows平台

 

 

軟體架構C/S架構

優點:響應速度快;個人化定製;交易處理能力強,減輕伺服器壓力;安全性高。

缺點:C端維護工作量大;不利於企業快速部署應用。

 

B/S架構

 

優點:分布廣,只要有互連網的瀏覽器即可。部署靈活;維護方便。跨平台。

 

C/S與BS混合架構

企業內部操作資料採用C/S架構:外部使用者不直接存取資料庫伺服器,保證企業資料庫的相對安全。企業內部使用者的互動性較強,資料操作響應速度較快。

企業外部採用B/S架構:企業外部使用者修改和維護資料時,速度較慢,較煩瑣,資料的動態互動性不強。適合簡單資料查詢和確認。

 

B/S架構定義

常見web伺服器分成三類:不帶應用程式的伺服器(存放html檔案等)、帶應用程式的伺服器(例如可以存放JSP檔案)、帶應用程式和資料庫的伺服器(例如JSP+資料庫)。

 

工作原理

B/S結構採用請求/響應模式進行互動。

 

HTTPHTTP協議概述

HTTP規範1.0和1.1定義了HTTP訊息格式。HTTP報文由從客戶機到伺服器的請求和從伺服器到客戶機的相應構成,所以HTTP訊息分為請求訊息和響應訊息兩類。

請求行

狀態行
  • 狀態行格式如下:

HTTP-Version Status-Code Reason-Phrase CRLF

其中,HTTP-Version表示伺服器HTTP協議的版本;Status-Code表示伺服器發回的響應狀態碼;Reason-Phrase表示狀態碼的文本描述。狀態碼由三位元字組成,第一個數字定義了響應的類別,且有五種可能取值。

  • 常見狀態代碼:
  1. 200 OK:用戶端請求成功。
  2. 400 Bad Request:用戶端請求有語法錯誤,不能被伺服器所理解。
  3. 401 Unauthorized:請求未經授權,這個狀態碼必須和WWW-Authenticate前序域一起使用。
  4. 403 Forbidden:伺服器收到請求,但是拒絕提供服務。
  5. 404 Not Found:請求資源不存在,舉個例子:輸入了錯誤的URL。
  6. 500 Internal Server Error:伺服器發生不可預期的錯誤。
  7. 503 Server Unavailable:伺服器當前不能處理用戶端的請求,一段時間後可能恢複正常,舉個例子:HTTP/1.1 200 OK(CRLF)。
在瀏覽器查看請求和響應資訊

 

URL

Uniform resource Locator,統一資源定位器

格式:

http://<IP地址>:[連接埠號碼]/路徑/[?<查詢資訊>]

例如:

http://www.etc.com/book/index.html

http:超文字傳輸通訊協定 (HTTP)。FTP,telnet

www:代表一台web伺服器

etc.com:伺服器網域名稱

book:網站上的目錄

index.html:book檔案夾中的一個HTML檔案,即網頁。

 

Web應用程式的部署tomcat伺服器的安裝

  • 解壓縮版本tomcat注意事項

添加系統變數,名稱為CATALINA_HOME,設定值為Tomcat的安裝目錄。

  • 啟動和停止tomcat伺服器

在IE地址欄中輸入http://localhost:連接埠號碼。

 

tomcat伺服器目錄

目錄

 說明

/bin

存放各種平台下用於啟動和停止Tomcat的指令檔

/conf

存放Tomcat伺服器的各種設定檔

/lib

存放Tomcat伺服器所需的各種JAR檔案

/logs

存放Tomcat的記錄檔

/temp

Tomcat運行時用於存放臨時檔案

/webapps

當發布Web應用時,預設情況下會將Web應用的檔案存放於此目錄中

/work

Tomcat把由JSP產生的Servlet放於此目錄下

 

 

tomcat連接埠配置

通過配置tomcat目錄下conf中的server.xml檔案修改Tomcat連接埠號碼

<Connector port="8080" protocol="HTTP/1.1"        connectionTimeout="20000"        redirectPort="8443" />

  

上機練習

安裝tomcat,啟動和停止tomcat,修改tomcat連接埠號碼。並測試。

 

Web應用程式

手動建立和部署web項目

1、在開發環境中建立web項目

在web-inf/web.xml中配置預設訪問啟始頁面。

2、發布為war檔案,拷貝到Tomcat 7.0\webapps目錄下,啟動tomcat。觀察webapps目錄,可以看到war自動產生web應用程式。在ie中訪問項目。

3、在伺服器端web項目的目錄結構: 

目錄

說明

/

Web應用的根目錄,該目錄下所有檔案在用戶端都可以訪問(JSP、HTML等)

/WEB-INF

存放應用使用的各種資源,該目錄及其子目錄對用戶端都是不可以訪問

/WEB-INF/classes

存放Web項目的所有的class檔案

/Web-INF/lib

存放Web應用使用的JAR檔案

 

上機練習

1、手動建立一個Web項目,實現項目發布,並能通過瀏覽器輸入網址訪問。

2、在myeclipse中建立一個項目匯出為war檔案,部署到伺服器中並訪問。

 

開發環境myeclipse和tomcat的整合myeclipse和tomcat的整合

進入:windwos->prefereces->myeclipse->servers->tomcat7.x

啟用tomcat7伺服器,關聯JDK。

關閉內建tomcat伺服器。

注意:設定只針對工作空間有效

 

建立項目和部署項目

在myeclipse中啟動tomcat伺服器

上機練習

在myeclipse中建立項目,在myeclipse中部署項目,在myeclipse中啟動伺服器,在ie瀏覽器中訪問項目。

 

 

JSP概念

JSP:Java Server Pages。在HTML中嵌入Java指令碼代碼。

例如:

 

在ie地址欄輸入http://localhost:8080/chapter01/index.jsp

 

運行原理

 

JSP頁面元素page指令
  • 作用

通過設定內部的多個屬性定義整個頁面的屬性。

  • 文法格式(一個屬性中的多個值採用“,”號隔開)
<%@ page 屬性1="屬性值" 屬性2="屬性值1,屬性值2"… 屬性n="屬性值n"%>

  

  • 常用屬性
屬性 描述 預設值
language 指定JSP頁面使用的指令碼語言 java
import 通過該屬性來引用指令碼語言中使用到的類檔案
contentType 用來指定JSP頁面所採用的編碼方式

text/html,ISO-8859-1

 

小指令碼與運算式

 

運算式:顯示資料,系統將其作為一個值來進行計算和顯示。(不能以;結尾)

 

上機練習

需求描述:編寫JSP頁面,計算1—100之間的所有素數之和

提示:1、素數——在一個大於1的自然數中,除了1和此整數自身外,不能被其他自然數整除的數。2、使用out內建對象輸出資訊。

 

聲明

在編寫JSP頁面程式時候,有時需要為Java指令碼定義成員變數和方法,這時就需要使用JSP聲明來實現。

聲明文法格式:

<%! Declaration;[ Declaration;]…%>

  

樣本:假如以下代碼需要在頁面中多次使用,如何處理?

<%SimpleDateFormat formater = new SimpleDateFormat("yyyy年 MM月dd日");String strCurrentTime = formater.format(new Date());%>

  

使用聲明

 

JSP中的注釋

注意:HTML注釋在JSP檔案被編譯後保留,JSP注釋則被丟棄。重要訊息的注釋不要使用HTML注釋。

 

總結

上機練習

需求描述:

編寫JSP頁面,計算2000—3000年中存在幾個閏年。

實現思路:

1. 聲明方法boolean leapYear(int year),用於判斷是否是閏年

2. 聲明一個變數count ,用於統計閏年的個數

3. 設定迴圈,條件是從2000至3000年

4. 在迴圈內調用boolean leapYear(int year),根據返回結果,改變count的變數值

提示資訊:

閏年的判斷條件:能夠被4整除而不能被100整除,或者能夠被400整除。

 

JSP執行過程Web容器處理JSP檔案請求需要經過3個階段
  1. 翻譯階段
  2. 編譯階段
  3. 執行階段

第一次請求之後,Web容器可以重用已經編譯好的位元組碼檔案

如果對JSP檔案進行了修改,Web容器會重新對JSP檔案進行翻譯和編譯。

 

 

Web程式的調試與排錯運行Web程式時常犯的錯誤
  • 未啟動tomcat
  • 未部署web應用
  • URL輸入錯誤
  • 目錄不能被引用
  • JSP指令碼錯誤
錯誤調試
  • 未啟動tomcat

如果伺服器無法啟動,需要修改連接埠號碼。

  • 未部署web應用

確認項目已經部署到tomcat伺服器上。

  • URL輸入錯誤

404錯誤,訪問了不可訪問的url資源。

  • 目錄不能被引用

例如把檔案建立到web-inf中,導致404錯誤。

  • JSP指令碼錯誤

500錯誤。

按照java程式調試方式排錯:閱讀代碼邏輯、輸出資料、debug。

 

上機練習需求描述:
  • 將新聞發布系統的靜態頁面轉換成JSP頁面後部署到Web項目中,並且可以通過瀏覽器訪問各JSP頁面。
  • 建立新聞發布系統資料庫。
  • 通過MyEclipse統一設定字元集編碼格式為“UTF-8
  • 在HTML頁面中加入page指令
  • 將HTML的尾碼名改為.jsp
提示: 
  • 通過MyEclipse統一設定字元集編碼格式為“UTF-8
  • 在HTML頁面中加入page指令
  • 將HTML的尾碼名改為.jsp
資料庫模型圖

新聞主題表:topics

欄位

資料類型

是否為空白

備忘

tid

int

新聞主題編號,主鍵,自增

tname

char(50)

新聞主題,非空,唯一約束

 

新聞表:news

欄位

資料類型

是否為空白

備忘

nid

int

新聞編號,主鍵,自增

ntid

int

新聞主題編號,外鍵

ntitle

char(100)

新聞標題

nauthor

char(50)

作者

ncreatedate

datetime

發布日期,預設目前時間

npicpath

char(200)

圖片路徑

ncontent

text

新聞內容

nmodifydate

datetime

編輯日期

nsummary

char(255)

新聞概要

 

新聞評論表:comments

欄位

資料類型

是否為空白

備忘

cid

int

評論編號,主鍵,自增

cnid

int

新聞編號,外鍵

ccontent

text

評論內容

cdate

datetime

評論日期,預設目前時間

cip

char(100)

評論人IP地址

cauthor

char(100)

評論作者

 

系統使用者表:users

欄位

資料類型

是否為空白

備忘

uid

int

使用者編號,主鍵,自增

uname

char(20)

使用者名稱,非空,唯一約束

upwd

char(20)

使用者密碼,非空

JavaEE-01 JSP動態網頁基礎

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.