javaWeb快速入門+——初體驗-HelloWorld


文章轉載自  https://www.cnblogs.com/1906859953Lucas/p/10821840.html

練習成品下載  https://www.lanzous.com/i9fljkj

對新手的提醒注意點(因為我也是新新手,以下是我忽略的坑):

1、需要提前安裝JDK環境  https://www.cnblogs.com/fengfengyue/p/11632256.html

2、需要配置環境變量  CATALINA_HOME :解壓目錄

3、程序要發布在webapps文件中

 

 

前提:假設你已經裝好了jdk

1.1 安裝一個eclipse或者MyEclipse(本文以eclipse為例),其實所謂的安裝就是網上去下載一個eclipse,然后解壓一下就好了。

1.2安裝tomcat,網上下載一個,然后解壓一下。我這次使用的tomcat容器配的是8080端口。

什么是JavaWeb項目,它能干嘛?

JavaWeb項目就是一個應用程序,你不要以為它有多么神秘。你每天打開的QQ就一個應用程序,你在手機上打開的微信,百度地圖等等,這些都是應用程序。

而Web項目是什么呢?

它也是一個應用程序,只不過它的客戶端是運行在瀏覽器上的。

我們打開瀏覽器,訪問一個地址,比如 http://www.jianshu.com/

有了web,我只需要有一個瀏覽器,然后就能通過互聯網獲取我想要的資源了。這樣不是很美妙嗎?

近幾年H5非常流行,尤其是移動端,因為手機瀏覽器基本上都支持css3。一樣的道理,我們肯定也不希望在手機上安裝一大堆應用,卡都卡死了,如果能直接訪問一個網頁,就能獲得我想要的服務就好了。

而且現在WIFI也普遍了,如果以后流量能沒有限制,那么APP的熱度很可能會逐漸被web取代。

手工搭建web項目

現在,為了說明服務器和web項目的概念,我們先不用eclipse,來手工搭建一個web項目。

服務器,正常情況下就是一台配置高一點的電腦,除非是那種大型的專用服務器。

一般來說,所謂的服務器,就是電腦。

比如我現在有一台電腦,給他裝了一個linux系統或者windos系統,然后我說,好了,從今以后,這就是服務器了。現在服務器一般都是用linux系統的。

那么tomcat又是什么?

tomcat其實也是一個應用程序,你網上下載的tomcat往往是一個壓縮包,然后我們解壓以后就相當於安裝好了。

可以這么理解:

服務器就是一台電腦,而tomcat是一個容器,專門存放web項目的容器。

以下我都將tomcat稱為tomcat容器。

我們看到在tomcat容器根目錄下,有一個webapps文件夾

里面是這樣的:

好的,現在我要發布一個項目了,我只需要把一個已經做好的web項目往里面一丟就行了。

除了webapps,我們還發現一個bin目錄。一般來說,可執行的文件都放在bin目錄下。

 

 

打開bin,找到一個startup.bat文件。這就是啟動tomcat的東西,雙擊它,tomcat就被啟動了。

然后,瀏覽器可以訪問tomcat里面的項目。在瀏覽器輸入http://127.0.0.1:8080/

現在我們來手工搭建一個web項目,首先,在webapps目錄下新建一個文件夾,是的,就是文件夾,不管你項目是什么,肯定還是放在文件夾里面的。

項目名稱就叫做webapp。

打開webapp,根據web項目的規范,我們需要有一個WEB-INF文件夾。

 

然后,在WEB-INF文件夾里面,必須要有一個web.xml文件。

xml文件,就是一個描述性的文件,我現在的觀點如下:

XML = JavaBean = Json = HashMap

它無非就是描述一些東西,保存一些數據而已。

好的,我們在里面新建一個web.xml。這個文件非常重要,正因為它的存在,tomcat容器才會知道這個文件夾里面竟然是一個web項目。

否則,tomcat容器是不知道這個web項目的,它只會將myapp文件夾看做是一個文件夾而已。

 我們用記事本打開web.xml,將以下代碼拷貝進去。

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version= "1.0"  encoding= "UTF-8" ?>
<web-app>
   <display-name>web</display-name>
   <welcome-file-list>
     <welcome-file>index.html</welcome-file>
     <welcome-file>index.htm</welcome-file>
     <welcome-file>index.jsp</welcome-file>
     <welcome-file> default .html</welcome-file>
     <welcome-file> default .htm</welcome-file>
     <welcome-file> default .jsp</welcome-file>
   </welcome-file-list>
</web-app>

XML的一個作用就是配置文件,web.xml本身就是一個配置文件。在web項目中,我們應用xml最多的也就是配置一些參數。

配置參數,就是給屬性賦值嘛,沒什么神秘的。

包括我們學習JavaSE,歸根到底,一直在做的一件事就是new對象,然后調用方法,調用方法的目的一方面是做一些事情,另一方面不還是給屬性賦值嘛。

你可以把web.xml看做是一個java類,類名叫做 webApp。它里面有兩個屬性,分別是display-name和welcome-file-list。

display-name是發布名稱,也就是項目的名字。
welcome-file-list 是歡迎頁面,就是說,當你在瀏覽器直接訪問這個myapp項目,默認跳轉的頁面。

想象一下,應該會變得非常好理解。

XML就是一個數據描述語言,我們通過web.xml描述這個項目的構成和配置。

好的,接下來,我們是不是要給他一個歡迎頁啊。嗯,我們在webapp目錄下添加一個簡單的歡迎頁,里面就打印一個HelloWorld。

1
2
3
4
5
6
7
8
9
10
11
12
<%@ page language= "java"  contentType= "text/html; charset=UTF-8"
     pageEncoding= "UTF-8" %>
<!DOCTYPE html PUBLIC  "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd" >
<html>
<head>
<meta http-equiv= "Content-Type"  content= "text/html; charset=UTF-8" >
<title>Insert title here</title>
</head>
<body>
     <h1>Hello World!</h1>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

這是一條JSP的page指令,如果你用面向對象的思維來看待這個玩意,就是new了一個page對象,並且給它里面的language,contentType,charset,pageEncoding屬性分別賦了值。

language表示JSP頁面所用的語言,默認是java,其實你寫不寫都沒有關系,因為目前來說JSP它只支持Java。

contentType="text/html; charset=UTF-8":設置頁面的內容是文本或者html頁面,字符設置為UTT-8。

pageEncoding="UTF-8":頁面編碼設置為UTF-8。

好的,現在我們在bin目錄,雙擊運行startup.bat

啟動完畢。

打開瀏覽器,在地址欄輸入http://localhost:8080/myapp/

回車

 

哇,是不是出來了。

太棒了。

這就是手工搭建一個web項目的過程。

只要你符合web項目的規范,包括文件夾的名字,文件的名字,就會被tomcat容器識別為一個web項目。

接下來,我們來寫服務器代碼。

在WEB-INF下面新建一個文件夾,名字叫做classes,這個也是規范,就叫這個名字,否則tomcat容器識別不了。

 

 

 

 里面在創建一個java文件,名字就叫Hello吧

 

 用記事本打開,將下面的代碼拷貝進去。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public  class  Hello extends HttpServlet {
        
     protected  void  doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         doPost(request,response);
     }
 
     protected  void  doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         System. out .println( "已經進入服務器..." );
     }
 
}

  

這是一個比較簡單的HttpServlet 程序,說到servlet,他的意思就是服務器小程序。

原來,在英文中,但凡是let結尾的單詞,都有微小的意思。比如servlet,server是服務器,let結尾,那么就是服務器小程序。

servlet是Server Applet的縮寫,我們再來看Applet,app是應用程序,又是let結尾,所以應該就是小的應用程序。

我們用命令行的方式將java文件編譯成class文件。

在編譯之前,我們先去tomcat容器的lib目錄找一個jar:

 

 

找到servlet-api.jar,復制一份,拷貝到classes目錄下。

 

 

然后,我們在該classes目錄下,按住shift,鼠標右鍵,選擇在此處打開命令行窗口。

輸入javac -classpath servlet-api.jar Hello.java

class文件就出來了

 

再次打開web.xml,我們還需要把這個servlet配上去,不然tomcat怎么知道這個servlet需要加入我們的web項目呢?

web.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version= "1.0"  encoding= "UTF-8" ?>
<web-app>
   <display-name>web</display-name>
   <welcome-file-list>
     <welcome-file>index.html</welcome-file>
     <welcome-file>index.htm</welcome-file>
     <welcome-file>index.jsp</welcome-file>
     <welcome-file> default .html</welcome-file>
     <welcome-file> default .htm</welcome-file>
     <welcome-file> default .jsp</welcome-file>
   </welcome-file-list>
 
   <servlet>
     <servlet-name>Hello</servlet-name>
     <servlet- class >Hello</servlet- class >
   </servlet>
   <servlet-mapping>
     <servlet-name>Hello</servlet-name>
     <url-pattern>/hello</url-pattern>
   </servlet-mapping>
 
</web-app>

  

雙擊startup.bat,啟動tomcat容器

然后,在瀏覽器的地址欄輸入http://localhost:8080/myapp/hello

發現網頁上一片空白,回顧我們的servlet程序,按理說控制台會打印一句話的

看看控制台:

你應該也已經發現了,我們手工搭建web項目的話,是不是很麻煩呀?所以,這也是為什么我們現在都用eclipse,或者MyEclipse來開發項目了。

這些IDE工具就是為了解決手工編譯的麻煩而出現的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM