1. 程式人生 > >Java Web初探

Java Web初探

動態 參與 操作系統 執行效率 初始 weixin http 不存在 sca

一、網頁的設計

這部分就是通常所說的“前端部分”。

所涉及的技術主要有html,css,JavaScript。

1.Html:HTML 不是一種編程語言,而是一種標記語言。HTML 使用標記標簽來描述網頁。

在學習的過程中我覺得表單是一個重要的組件。表單通過<form></form>標簽來設置,通過設置其屬性action可定義表單提交後所觸發的文件(?),設置屬性method可定義提交的方式(post or get)。能用於收集信息。

2.CSS:CSS 指層疊樣式表 (Cascading Style Sheets),樣式定義如何顯示 HTML 元素,樣式通常存儲在樣式表中,解決內容與表現分離的問題。

3.JavaScript:是一種輕量級的編程語言,可插入 HTML 頁面的編程代碼。是互聯網上最流行的腳本語言。

三者間的關系如下:

1) HTML 定義了網頁的內容

2) CSS 描述了網頁的布局

3) JavaScript 網頁的行為

這裏的話要提一下我在學習過程中所接觸到的一個前端框架:bootstrap。

Bootstrap不是什麽高深的東西,就是一些幾乎所有的 Web 項目中都需要的組件,有了這些組件,就可以在不需要知道太多的 HTML + CSS 知識的情況下構建出精美的網頁。

參考鏈接:

Bootstrap中文網:https://v3.bootcss.com/components

https://blog.csdn.net/u010028869/article/details/43838049

https://blog.csdn.net/GUANYAQI1996/article/details/79588075

二、數據庫及其連接(“後端”)

1.數據庫:

在本次項目中,所用到的數據庫為mysql。

Mysql的安裝和使用參考了以下的鏈接:

https://blog.csdn.net/baidu_21833433/article/details/58139793

https://www.jianshu.com/p/2337d8fd0863

https://blog.csdn.net/fengchen0123456789/article/details/78604987

實際上想要快速下載mysql的話,可以考慮建站集成軟件包XAMP(Apache+MySQL+PHP+PERL)

2.數據庫連接接口JDBC

是一種用於執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。(據說這種為多種數據庫提供統一接口也是jsp方案相較PHP方案的優勢)

JDBC:java database connectivity SUN公司提供的一套操作數據庫的標準規範。

JDBC與數據庫驅動的關系:接口與實現的關系。

JDBC規範(掌握四個核心對象):

DriverManager:用於註冊驅動

Connection: 表示與數據庫創建的連接

Statement: 操作數據庫sql語句的對象

ResultSet: 結果集或一張虛擬表

使用JDBC之前,需要下載Java連接MySQL的最新驅動包,並通過intellij idea導入。

參考鏈接:https://blog.csdn.net/kuangdacaikuang/article/details/82940901

如果使用JDBC的過程中出現Error:(11, 72) java: 程序包com.mysql.jdbc不存在 的錯誤,就是沒有正確導入驅動包的原因。

三、servlet和jsp

前面講完了前端和後端的知識,現在來講一下“前端”和“後端”如何實現交互。

1.Servlet

概要說明:servlet 是運行在 Web 服務器中的小型 Java 程序(即:服務器端的小應用程序)。servlet 通常通過 HTTP(超文本傳輸協議)接收和響應來自 Web 客戶端的請求。

(可以在servlet類裏接受web客戶端的信息並存儲到數據庫裏)

(1)Servlet 是使用Java程序語言所編寫的一個Java類,通過Web容器(Container)的加載、初始化,受到容器的管理才能成為一個Servlet。

(2)Servlet 是運行在容器之中,容器是由服務器上的JVM所啟動的,JVM本身就是服務器上的一個可執行程序。

(3)容器不是HTTP服務器,Web容器是一個用Java所編寫的程序,用來加載、管理Servlet。我們所編寫的Servlet程序是沒有main函數的,所以需要通過容器來啟動Servlet程序,找到相應的doGet()方法或doPost()方法,從而進一步處理瀏覽器的請求。

技術分享圖片

順著這個思路,我們引入Tomcat。Tomcat可以用做web容器,同時Tomcat本身附帶一個簡單的http服務器,因此只要在IDEA配置好Tomcat就同時配置好http服務器和web容器。許多人都以為Tomcat就是Http服務器,或是以為Web容器就是HTTP服務器,其實不然,Tomcat是Web容器,其實可以與其他HTTP服務器相結合,像是Apache。

參考鏈接:

Web應用程序簡介:https://www.cnblogs.com/yangyquin/p/5397049.html

關於如何在IDEA中配置Tomcat:

使用idea編寫你的第一個java web程序:

http://baijiahao.baidu.com/s?id=1579410470074074476&wfr=spider&for=pc

2.JSP

概要說明:

1) JSP全名為Java Server Pages,其根本是一個簡化的Servlet設計,容器會將JSP網頁轉譯為Servlet並加載到容器中進行管理,所有的JSP最後都以Servlet的實例存在於容器中。

2) 它是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。

3) JSP技術有點類似ASP技術,它是在傳統的網頁HTML(標準通用標記語言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件,後綴名為(*.jsp)。

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

現在來展示一下客戶端和服務器端的響應流程:

技術分享圖片

a) Web瀏覽器發送HTTP請求到服務端,被Controller(Servlet)獲取並進行處理(例如參數解析、請求轉發)

b) Controller(Servlet)調用核心業務邏輯——Model部分,獲得結果

c) Controller(Servlet)將邏輯處理結果交給View(JSP),動態輸出HTML內容

d) 動態生成的HTML內容返回到瀏覽器顯示

以上就是,最近java web的一個總結。

最後將展示一下收集到的三個建站方案。

方案一:APACHE+PHP+MYSQL

PHP語法簡單,非常易學易用,很利於快速開發各種功能不同的定制網站,PHP因為結構上的缺陷,使的PHP在復雜的大型項目上的開發和維護都比較困難。

方案二:ASP+COM+SQLServer

和PHP一樣,ASP簡單而易於維護,很適合小型網站應用,通過DCOM和MTS技術,ASP甚至還可以完成小規模的企業應用,但ASP的致命缺點就是不支持跨平臺的系統,在大型項目開發和維護上非常困難。

方案三:JSP(JavaServer Pages)是Sun公司推出的一種動態網頁技術。JSP技術是以Java語言作為腳本語言的。PHP和ASP都是由語言引擎解釋執行程序代碼,而JSP代碼卻被編譯成Servlet並由Java虛擬機執行,這種編譯操作僅在對JSP頁面的第一次請求時發生。因此普遍認為JSP的執行效率比PHP和ASP都高。

一些問題及解決方案:

1. 解決IDEA中項目出現cannot resolve method ‘XXXXX(java.lang.String)’問題

https://blog.csdn.net/weixin_39208819/article/details/82320818

2.本項目為小組成員合作完成,用git做版本控制。

參考鏈接:在IDEA上Git:https://blog.csdn.net/weixin_39274753/article/details/79722522

Java Web初探