Java Web中動態網頁開發基礎重點總結

爲什麼學習B/S技術?

客戶端   服務器   C(Client)/S(Server)有侷限性,必須安裝客戶端

瀏覽器   服務器   B(Browser)/S(Server)無需安裝客戶端軟件,也無需更新

B/S與C/S的比較:

 

B/S架構

C/S架構

軟件安裝

瀏覽器

在響應速度和安全性上需要花費更多設計成本

升級維護

客戶端零維護

客戶端需要單獨維護和升級

平臺相關

與操作系統平臺的關係最小化

對客戶端操作系統一般有限制

性能安全

在響應速度和安全性上需要花費更多設計成本

能充分發揮客戶端處理能力,客戶端響應快

什麼是B/S技術:

B/S架構(瀏覽器/服務器):程序完全部署在服務器上

B/S技術的工作原理:

B/S架構採用請求/響應模式進行交互

URL(Uniform Resource Locator統一資源定位符):

URL的組成

http :// localhost:8080 / news/index.html

http:協議部分

localhost:8080:主機IP地址:端口號

news/index.html:項目資源地址

 

服務器:

圖片服務器

文件服務器

數據庫服務器

緩存服務器

應用服務器

Java Web  --->  Web服務器

 

Web服務器:

是可以向發出請求的瀏覽器提供文檔的程序

提供網上的信息瀏覽服務

 

常用的Web服務器:

Microsoft:IIS

Apache: Tomcat

(Tomcat是開源的,小型的免費的)

Oracle:WebLogic

IBM:WebSphere

(前兩個商用的,安全級別更高)

Nginx

(穩定性高,佔用內存小,併發能力強)

 

Tomcat服務器:

Apache Jakarta的開源項目

輕量級應用服務器

開源、穩定、資源佔用小

JSP/Servlet容器

 

Tomcat的目錄結構:

目錄

 說明

/bin

存放各種平臺下用於啓動和停止Tomcat的腳本文件

/conf

存放Tomcat服務器的各種配置文件

/lib

存放Tomcat服務器所需的各種JAR文件

/logs

存放Tomcat的日誌文件

/temp

Tomcat運行時用於存放臨時文件

/webapps

當發佈Web應用時,默認情況下會將Web應用的文件存放於此目錄中

/work

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

操作Tomcat注意事項:

1. startup.bat啓動後,不許關閉,一定是最小化

2. 如果Tomcat啓動時,窗口一閃而過

找到jdk   D:\大數據\Java\Java jdk

環境變量path   D:\大數據\Java\Java jdk\bin;

建立環境變量JAVA_HOME:D:\大數據\Java\Java jdk

CTRL+C:快速停止服務器

3. http://localhost:8080   端口號:8080   頁面進入到Tomcat啓動成功界面

4. 端口號修改:conf/server.xml

示例:

5. 如何在Tomcat中部署靜態網站

將網頁複製到webapps文件夾中去,然後startup.bat啓動後,再網頁中輸入http://localhost:8080/news/index.html

 

使用集成開發工具創建Web項目:

  1. 在MyEclipse中創建Web項目:File -> New -> Web Project
  2. 爲項目命名並調整相關設置
  3. 查看項目目錄結構

 

部署Web項目方法一:

1. 配置Tomcat

a. Window -> Preferences -> MyEclipse -> Servers -> Tomcat

b. 選擇Tomcat版本及安裝路徑

c. 設置爲可用狀態(Enable)

d. 指定Tomcat運行Java的運行環境

2. 部署Web項目

a. 單擊MyEclipse菜單欄上的部署圖標

b. 選擇需要部署的項目

c. 選擇Tomcat服務器並確認

部署Web項目方法二:

部署應用程序到Tomcat的webapps目錄:生成War包

部署Web項目方法三:

修改server.xml

<Context path="”  docBase="”/>

提示:路徑中最好不要包含中文

 

JSP(Java Server Pages)概述:

  1. 運行在服務器端的Java頁面
  2. 使用HTML嵌套Java代碼實現

工作原理:

JSP中的page指令:

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

語法:

<%@ page 屬性1="屬性值" 屬性2="屬性值1,屬性值2"…屬性n="屬性值n"%>

常用屬性:

屬性

描述

默認值

language

指定JSP頁面使用的腳本語言

java

import

通過該屬性來引用腳本語言中使用到的類文件

contentType

用來指定JSP頁面所採用的編碼方式

text/html, ISO-8859-1

JSP中的聲明:

語法:

<%! Java代碼%>

示例:JSP頁面中定義方法對日期進行格式化

<%@ page language="java" import="java.util.*,java.text.*" contentType="text/html; charset=utf-8"%>

<html>

<%!

    String formatDate(Date d){

        SimpleDateFormat formater =

             new SimpleDateFormat("yyyy年MM月dd日");

return formater.format(d);

    }

%>你好,今天是

<%=formatDate(new Date()) %>

</body>

</html>

注:

方法聲明後可在頁面中多處調用

JSP中的out對象:

  1. out對象是JSP的內置對象:無需實例化即可使用
  2. 實現數據的輸出顯示
  3. out對象的方法

屬性

說明

Print

向頁面輸出顯示

printIn

向頁面輸出顯示,在結尾處添加換行

但是在實際頁面中print和println沒有區別,因爲在頁面中不會解析出println的換行;想要換行必須加<br/>

JSP中的註釋:

  1. HTML的註釋:<!-- html註釋-->
  2. JSP註釋:<%-- JSP註釋--%>
  3. 在JSP腳本中註釋:<%//單行註釋%>;<%/*多行註釋*/%>

網頁輸出文本:

1. 用Java語言輸出文本:

<% out.println("<h1>課工場Java Web高能充電</h1>"); %>

2. 直接用HTML輸出文本:

<h1>課工場Java Web高能充電</h1>

3. 使用<% out,print(); %>或<% out.printIn(); %>實現顯示頁面全部內容,這樣做的弊端:

①JAVA代碼與HTML標籤混在一起,可讀性不好,不利於修改

②顯示數據來自於數據庫,數據庫裏的數據不能寫死,要用變量來讀取寫在數據庫的內容

③因爲不方便所以這種方法用的比較少

4. 用變量的方法輸出文本:

<% String title="課工場Java Web高能充電"; %>

<h1> <%=title%></h1>

好處:直接在數據庫裏讀的時候直接調用後臺方法。

注:變量聲明的時候要在最後加一個分號(;),在調用的時候前面要寫(<%=),但是最後不能寫分號(;)

 

特殊字符轉義:

在JSP中特殊字符如:“”;<>;等。要用轉義字符(\)來轉義從而使用

<%String title="課工場\"Java Web\"高能充電";%>

<h1> <%=title%></h1>

示例解析:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ page%>:這是一個配置指令會說明三個指令

language:說明編程語言,這裏用的是Java語言

import:代表頁面裏導入的一個包,這裏導入的是java.util.*包

pageEncoding:指的是頁面的編碼格式,這裏用的是UTF-8語言

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<%......%>:要在這裏寫Java代碼,叫做Java的小腳本

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

    <title>My JSP 'index.jsp' starting page</title>

       <meta http-equiv="pragma" content="no-cache">

       <meta http-equiv="cache-control" content="no-cache">

       <meta http-equiv="expires" content="0">   

       <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

       <meta http-equiv="description" content="This is my page">

       <!--<link rel="stylesheet" type="text/css" href="styles.css">-->

  </head>

  <body>

    This is my JSP page. <br>

  </body>

</html>

剩下的都是普通的html標籤

 

JSP頁面元素:

Web容器處理JSP文件請求:

第一次處理需要經過3個階段:

  1. 翻譯階段
  2. 編譯階段
  3. 執行階段

第一次請求之後,Web容器可以重用已經編譯好的字節碼文件:

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

 

JSP聲明全局變量和方法:

<%//jsp中的局部變量和全局變量

int i = 9; %>

<h1><%=i++%></h1>

<%! int j = 9; %>

<h1><%=j++%></h1>

每次刷新i的值不會改變,j的值會每次加1

其中i是局部變量(JSP裏設定局部變量的方法:<%......%>),j是全局變量(JSP裏設定全局變量的方法:<%!......%>

全局變量在源文件的位置:

要是設定一個方法用的符號是<%!......%>

如:

<%!  public int add(){

return 8+9;   }   %>

方法在源文件的位置:

在頁面裏寫方法的做法不常見,後臺方法一般都寫在src裏

 

Web程序調試和排錯:

1. 404錯誤---找不到訪問的頁面或資源

①運行時,URL輸入錯誤

排錯方法:檢查URL

排除錯誤:使用正確的URL

 

②將頁面放在WEB-INF下

排錯方法:檢查文件的存放位置(META-INF,WEB-INF文件夾下的內容無法對外發布

排除錯誤:把index.html文件拖至WebRoot文件夾下

 

③外部啓動Tomcat,未部署Web應用

排錯方法:檢查Web應用是否正確部署

排除錯誤:部署Web應用

 

2. 500錯誤---JSP頁面代碼有誤

JSP頁面代碼有錯誤

排錯方法:檢查myeclipse裏的報錯信息

排除錯誤:直接修改

 

3. 頁面無法顯示

未啓動Tomcat

排錯方法:檢查Tomcat服務能否正確運行

排除錯誤:

  1. 啓動Tomcat服務
  2. 如果控制檯上顯示Tomcat服務已啓動,觀察端口號是否與預期端口號一致,按照實際端口號重新運行

 

總結:

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章