新手搭建Tomcat+Servlet開發環境

weixin_34247155發表於2017-04-20

1.背景

在工作中會遇到各種前後端互動問題,前端開發人員總是因為糾結沒有伺服器除錯環境導致工作無法開展,Json以輕承載的優點在互動中備受青睞,本文就介紹如何使用Tomcat+Servlet來搭建簡單的伺服器並返回給前端json資料。

2.準備工具

1.JDK

根據使用的開發工具選擇,通常為1.7,但某些版本開發工具為1.8

http://www.oracle.com/technetwork/articles/javase/index.html
通過java -version檢視配置是否成功。

3613947-3d332f77814154e7.png
JDK

2.JAVA EE開發工具

使用的Eclipse Java EE版本

http://www.eclipse.org/downloads
通過eclipseinstaller安裝JavaEE:

3613947-1df588a47c70d77c.png
eclipseinstaller

3.Tomcat

推薦使用最新穩定版,tomcat的配置和安裝不作介紹,可以百度解決

http://tomcat.apache.org/

4.Eclipse tomcat外掛

tomcat版本配合使用

http://www.eclipsetotale.com/tomcatPlugin.html

我使用的開發工具配置的版本:


3613947-3d332f77814154e7.png
JDK
3613947-5243c6d6fe8510aa.png
JAVA_EE
3613947-022dc33c9622b0ae.png
Tomcat
3613947-e223695c416074c7.png
Eclipse tomcat外掛

3.實現servlet返回Json

首先配置Eclipse的server runtime environment,把Eclipse和Tomcat關聯起來
3613947-ea00a9c0bbbebb3e.png
3613947-5567f455687f4ccf.png

如果沒有配置過Tomcat,選擇add新增一個版本


3613947-c2fb41ca477a74f9.png

根據本機實際的Tomcat版本選擇對應版本

3613947-04c1f8faa44229ed.png
Paste_Image.png

選擇本機Tomcat的安裝目錄和實際的jdk版本。

在以上開發環境準備好後,就可以開發一個servlet來處理client 的請求並返回json串了。

1.新建一個工程

建立一個Web Project
3613947-a12442a4878eda14.png
3613947-b99de44c15014e96.png
3613947-3f7e685f057ec2f5.png
選擇自動生成web.xml
3613947-3ee557097595ec0e.png
基本目錄結構
3613947-6fd558776a48c8ad.png

可以選擇在WebContent目錄下建立一個index.html測試配置是否正常

3613947-61840f7375c9f462.png
index.html

點選工程右鍵,選擇執行:


3613947-fd5a682ab6a108c4.png
3613947-513a2349f4441acd.png
執行結果

如果之前你手動啟動過Tomcat,你可能遇到以下錯誤,你需要先手動停止Tomcat,在執行工程。


3613947-7fb1c27999ca15fc.png

2.servlet

 在Web Project基礎上建立servlet工程
3613947-7eab5620853fb4b5.png
3613947-1acdac5a6157a4e3.png

注意:java package和class name是作用到web.xml中的,作用和<servlet><servlet-name><servlet-class>相同。點選next配置Servlet的URL mappings和初始引數。


3613947-135beeae7811b1e4.png

生成的檔案@webServlet註解就和Mappings對應,並且可以設定多個,URL mappings引數的作用和<servlet-mapping>作用相同。


3613947-229b668987e64188.png

通過<servlet-mapping>的配置,就可以通過對映的地址訪問servlet了。

每建立一個servlet,就會在server.xml檔案中自動新增一個Context描述,把工程包含到Tomcat中:

3613947-b521689078fc7fca.png

在servlet中要使用Json,需要依賴一下幾個庫檔案:


commons-beanutils-1.8.0.jar
commons-collections-3.2.1.jar
commons-lang-2.5.jar
commons-logging-1.1.1.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar


注意:需要把以上jar包放到WebContent下,否則可能在執行時出現ClassNotFind錯誤

3613947-90b4354361681800.png

重寫doGet和doPost實現Json輸出:

3613947-6853127c18d60cf4.png

最後通過頁面或者應用程式請求本機ip和servlet url:


3613947-e9259acfb84736d1.png

servers是可以同時執行的:


3613947-44e799252d4c8460.png

如圖EDS、EPG、IPTV三個服務是同時執行狀態,比如請求:
3613947-d6f26ef12b26b1c8.png
http://localhost:8080/EDS/jsp/AuthenticationURL
3613947-5da26362dbf56a9f.png
http://localhost:8080/EPG/oauth/v2/authorize
3613947-c814fe1e9f3b6f2a.png
http://localhost:8080/EPG/oauth/v2/token

那麼根據工程中<servlet-mapping>的配置就可以很靈活的實現和客戶端的Json互動了

由於搭建環境的複雜性,建議使用更優的方案Easy Mock資料生成提供Json資料測試

相關文章