1.背景
在工作中會遇到各種前后端交互問題,前端開發(fā)人員總是因?yàn)榧m結(jié)沒有服務(wù)器調(diào)試環(huán)境導(dǎo)致工作無法開展,Json以輕承載的優(yōu)點(diǎn)在交互中備受青睞,本文就介紹如何使用Tomcat+Servlet來搭建簡單的服務(wù)器并返回給前端json數(shù)據(jù)。
2.準(zhǔn)備工具
1.JDK
根據(jù)使用的開發(fā)工具選擇,通常為1.7,但某些版本開發(fā)工具為1.8
http://www.oracle.com/technetwork/articles/javase/index.html
通過java -version查看配置是否成功。
2.JAVA EE開發(fā)工具
使用的Eclipse Java EE版本
http://www.eclipse.org/downloads
通過eclipseinstaller安裝JavaEE:
3.Tomcat
推薦使用最新穩(wěn)定版,tomcat的配置和安裝不作介紹,可以百度解決
4.Eclipse tomcat插件
tomcat版本配合使用
http://www.eclipsetotale.com/tomcatPlugin.html
我使用的開發(fā)工具配置的版本:
3.實(shí)現(xiàn)servlet返回Json
首先配置Eclipse的server runtime environment,把Eclipse和Tomcat關(guān)聯(lián)起來
如果沒有配置過Tomcat,選擇add添加一個(gè)版本
根據(jù)本機(jī)實(shí)際的Tomcat版本選擇對應(yīng)版本
選擇本機(jī)Tomcat的安裝目錄和實(shí)際的jdk版本。
在以上開發(fā)環(huán)境準(zhǔn)備好后,就可以開發(fā)一個(gè)servlet來處理client 的請求并返回json串了。
1.新建一個(gè)工程
創(chuàng)建一個(gè)Web Project
可以選擇在WebContent目錄下創(chuàng)建一個(gè)index.html測試配置是否正常
點(diǎn)擊工程右鍵,選擇運(yùn)行:
如果之前你手動啟動過Tomcat,你可能遇到以下錯誤,你需要先手動停止Tomcat,在運(yùn)行工程。
2.servlet
在Web Project基礎(chǔ)上創(chuàng)建servlet工程
注意:java package和class name是作用到web.xml中的,作用和<servlet><servlet-name><servlet-class>相同。點(diǎn)擊next配置Servlet的URL mappings和初始參數(shù)。
生成的文件@webServlet注解就和Mappings對應(yīng),并且可以設(shè)置多個(gè),URL mappings參數(shù)的作用和<servlet-mapping>作用相同。
通過<servlet-mapping>的配置,就可以通過映射的地址訪問servlet了。
每創(chuàng)建一個(gè)servlet,就會在server.xml文件中自動添加一個(gè)Context描述,把工程包含到Tomcat中:
在servlet中要使用Json,需要依賴一下幾個(gè)庫文件:
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下,否則可能在運(yùn)行時(shí)出現(xiàn)ClassNotFind錯誤
重寫doGet和doPost實(shí)現(xiàn)Json輸出:
最后通過頁面或者應(yīng)用程序請求本機(jī)ip和servlet url:
servers是可以同時(shí)運(yùn)行的:
如圖EDS、EPG、IPTV三個(gè)服務(wù)是同時(shí)運(yùn)行狀態(tài),比如請求:
那么根據(jù)工程中<servlet-mapping>的配置就可以很靈活的實(shí)現(xiàn)和客戶端的Json交互了
由于搭建環(huán)境的復(fù)雜性,建議使用更優(yōu)的方案Easy Mock數(shù)據(jù)生成提供Json數(shù)據(jù)測試