天天看點

【鬥醫】【1】Web應用開發20天

從哪裡開始呢?

還是從前段認識的朋友開始吧。

前段在圈裡認識了一個朋友,當他聊到他用ssh開發了一套系統時,我思想意識中想到ssh應該是一個通訊協定,他用不可置否的語氣說:大叔,你從事這一行業也這麼多年了,難道不知道ssh?

說來慚愧,從事這行業時間真的不短了,好像沒有真的從事過web方面的開發,當他說及ssh為struts、spring和hibernate時,我才恍然明白ssh的縮寫。事有湊巧,最近在設計一個原型時,垂直型的網站充斥着整個網站,腦子中想到中國醫療的混亂,若老百姓能有一個專業的交流平台,那常識性的小病可以自行解決,于是“鬥醫”這個詞一直停留在腦海,下面就随着它進入我的web開發吧。

在開始之前,先忘記各種架構,這裡暫不追求各種先進技術,一切都是伴着思維随性前進。我們知道使用者使用浏覽器(常用的ie、firefox、chrome等)檢視網頁,網頁的資料是通過http請求到服務端的,服務端靠着web容器(常用的jetty、tomcat、weblogic等)接受http請求,并根據請求擷取不同的資源傳回給浏覽器,如圖所示:

【鬥醫】【1】Web應用開發20天

第一個問題會映入眼簾,web容器是如何解析http請求的呢?這兒可不解答這個問題,這是各種web容器最基本的功能,否則就不能稱為web容器了。但可以明确的是,無論哪種web容器,它解析的web應用是滿足一定規範的,即web應用有一個web-inf檔案夾,它下面有web.xml檔案。下面在d:\medical\war\web-inf\下建立web.xml

【備注】:後面若無特殊聲明,該web應用均在windows作業系統下開發

第三個問題,tomcat如何加載這個medical應用呢?世界上沒有無緣無故的愛恨情仇,得讓tomcat找到它吧:在d:\tomcat8\conf\catalina\localhost\下建立medical.xml,其内容填寫:

1

2

<code>&lt;</code><code>context</code> <code>path</code><code>=</code><code>""</code> <code>docbase</code><code>=</code><code>"d:\medical\war"</code> <code>debug</code><code>=</code><code>"0"</code> <code>privileged</code><code>=</code><code>"true"</code> <code>reloadable</code><code>=</code><code>"true"</code> <code>crosscontext</code><code>=</code><code>"true"</code><code>&gt; </code>

<code>&lt;/</code><code>context</code><code>&gt;</code>

這就完事了?暫時還沒有,試想一下d:\medical\war\web-inf\web.xml還是空的呢!其内容填寫:

3

4

5

6

7

<code>&lt;?</code><code>xml</code> <code>version</code><code>=</code><code>"1.0"</code> <code>encoding</code><code>=</code><code>"utf-8"</code><code>?&gt;</code>

<code>&lt;!doctype web-app public "-//sun microsystems, inc.//dtd web application 2.3//en" "http://java.sun.com/dtd/web-app_2_3.dtd"&gt;</code>

<code>&lt;</code><code>web-app</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>welcome-file-list</code><code>&gt;</code>

<code>         </code><code>&lt;</code><code>welcome-file</code><code>&gt;index.html&lt;/</code><code>welcome-file</code><code>&gt;</code>

<code>    </code><code>&lt;/</code><code>welcome-file-list</code><code>&gt;</code>

<code>&lt;/</code><code>web-app</code><code>&gt;</code>

這裡&lt;welcome-file&gt;index.html&lt;/welcome-file&gt;表示進入本應用系統,首先打開d:\medical\war\index.html頁面,因為這裡沒有配置路徑,表明是用web應用下的index.html。

親,在index.html中随便輸入些東西吧,比如i'm coming....

【鬥醫】【1】Web應用開發20天

【備注】:不會設java環境變量,就問google

2. 假設安裝在c:\jdk7下

3. 跑到桌面,右擊“我的電腦”,選擇“屬性 &gt; 進階 &gt; 環境變量 &gt; 系統變量 &gt; 建立”

 3.1 建立jdk目錄變量: java_home &lt;-&gt; c:\jdk7

 3.2 追加path設定:  path &lt;-&gt; ;%java_home%\bin

 3.3 添加類路徑變量: class_path &lt;-&gt; .;%java_home%\lib

【鬥醫】【1】Web應用開發20天

再仔細體味一下吧,浏覽器的http找tomcat,tomcat找web-inf/web.xml,web.xml找index.html,index.html傳回給浏覽器,浏覽器解析index.html展顯給使用者。

【備注】:有可能存在如下的幾種情況導緻這個例了運作不起來

1. jdk與tomcat的版本不比對(這裡jdk使用了7u15,tomcat使用了tomcat8)

2. 8080端口号被占用

若上述沒有運作起來可以私信給我。