知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁 » 新聞資訊 » 網(wǎng)站建設(shè) >
JavaWeb開發(fā)概述
發(fā)表時(shí)間:2016-10-30
發(fā)布人:葵宇科技
瀏覽次數(shù):66
1. Web概述
WEB,在英語中web即表示網(wǎng)頁的意思,它用于表示Internet主機(jī)上供外界訪問的資源。javaweb:使用java技術(shù)開發(fā)web頁面。供瀏覽器訪問的項(xiàng)目
Internet上供外界訪問的Web資源分為:
- 靜態(tài)web資源(如html 頁面):指web頁面中供人們?yōu)g覽的數(shù)據(jù)始終是不變的,靜態(tài)的,不同的人在不同的時(shí)間來訪問時(shí)都是相同的內(nèi)容
- 動(dòng)態(tài)web資源:指web頁面中供人們?yōu)g覽的數(shù)據(jù)是由程序產(chǎn)生的,不同時(shí)間點(diǎn)訪問web頁面看到的內(nèi)容各不相同。
靜態(tài)web資源開發(fā)技術(shù):Html、CSS、javaScript
常用動(dòng)態(tài)web資源開發(fā)技術(shù):
- JSP/Servlet、ASP、PHP等
- 在Java中,動(dòng)態(tài)web資源開發(fā)技術(shù)統(tǒng)稱為Javaweb,我們課程的重點(diǎn)也是教大家如何使用Java技術(shù)開發(fā)動(dòng)態(tài)的web資源,即動(dòng)態(tài)web頁面。
2. WEB服務(wù)器
Web服務(wù)器的作用是接收客戶端的請(qǐng)求,給客戶端作出響應(yīng)。學(xué)習(xí)web開發(fā),需要先安裝一臺(tái)web服務(wù)器,然后再在web服務(wù)器中開發(fā)相應(yīng)的web資源,供用戶使用瀏覽器訪問。
注意:這里所說的服務(wù)器不是指服務(wù)器硬件資源,而是指服務(wù)器軟件。
實(shí)驗(yàn)說明:
- 在本地計(jì)算機(jī)上隨便創(chuàng)建一個(gè)web頁面,大家可以訪問到嗎?
- 啟動(dòng)tomcat服務(wù)器,把web頁面放在tomcat服務(wù)器中,用戶就可以訪問了。
這說明什么問題?
- 不管什么web資源,想被遠(yuǎn)程計(jì)算機(jī)訪問,都必須有一個(gè)與之對(duì)應(yīng)的網(wǎng)絡(luò)通信程序,當(dāng)用戶來訪問時(shí),這個(gè)網(wǎng)絡(luò)通信程序讀取web資源數(shù)據(jù),并把數(shù)據(jù)發(fā)送給來訪者。
- WEB服務(wù)器就是這樣一個(gè)程序,它用于完成底層網(wǎng)絡(luò)通迅。使用這些服務(wù)器,用戶只需要關(guān)注web資源怎么編寫,而不需要關(guān)心資源如何發(fā)送到客戶端手中,從而極大的減輕了開發(fā)者的開發(fā)工作量。
3. 常見WEB服務(wù)器
- Tomcat(Apache):當(dāng)前應(yīng)用最廣的JavaWeb服務(wù)器
- JBoss(Redhat紅帽):支持JavaEE,應(yīng)用比較廣;EJB容器
- GlassFish(Orcale):Oracle開發(fā)JavaWeb服務(wù)器,應(yīng)用不是很廣
- Resin(Caucho):支持JavaEE,應(yīng)用越來越廣
- Weblogic(Orcale):要錢的!支持JavaEE,適合大型項(xiàng)目
- Websphere(IBM):要錢的!支持JavaEE,適合大型項(xiàng)目
3.1 WebLogic
WebLogic是BEA公司的產(chǎn)品,是目前應(yīng)用最廣泛的Web服務(wù)器,支持J2EE規(guī)范,而且不斷的完善以適應(yīng)新的開發(fā)要求,啟動(dòng)界面如圖
3.2 WebSphere
另一個(gè)常用的Web服務(wù)器是IBM公司的WebSphere,支持J2EE規(guī)范,啟動(dòng)界面如圖
3.3 Tomcat
在小型的應(yīng)用系統(tǒng)或者有特殊需要的系統(tǒng)中,可以使用一個(gè)免費(fèi)的Web服務(wù)器:Tomcat,該服務(wù)器支持全部JSP以及Servlet規(guī)范,啟動(dòng)界面如圖
Tomcat服務(wù)器由Apache提供,開源免費(fèi)。由于Sun和其他公司參與到了Tomcat的開發(fā)中,所以最新的JSP/Servlet規(guī)范總是能在Tomcat中體現(xiàn)出來。當(dāng)前最新版本是Tomcat8,我們課程中使用Tomcat7。Tomcat7支持Servlet3.0,而Tomcat6只支持Servlet2.5!
4. JavaEE概述
java的大方向就是JavaEE,JavaEE不僅僅是socket編程,具體包括13中核心技術(shù)。
JAVAEE的核心API與組件
JAVAEE平臺(tái)由一整套服務(wù)(Services)、應(yīng)用程序接口(APIs)和協(xié)議構(gòu)成,它對(duì)開發(fā)基于Web的多層應(yīng)用提供了功能支持,下面對(duì)JAVAEE中的13種技術(shù)規(guī)范進(jìn)行簡單的描述(限于篇幅,這里只進(jìn)行簡單的描述):
4.1 JDBC(Java Database Connectivity)
JDBC API為訪問不同的數(shù)據(jù)庫提供了一種統(tǒng)一的途徑,象ODBC一樣,JDBC對(duì)開發(fā)者屏蔽了一些細(xì)節(jié)問題,另外,JDCB對(duì)數(shù)據(jù)庫的訪問也具有平臺(tái)無關(guān)性。
4.2 JNDI(Java Name and Directory Interface)
JNDI API被用于執(zhí)行名字和目錄服務(wù)。它提供了一致的模型來存取和操作企業(yè)級(jí)的資源如DNS和LDAP,本地文件系統(tǒng),或應(yīng)用服務(wù)器中的對(duì)象。
4.3 EJB(Enterprise JavaBean)
JAVAEE技術(shù)之所以贏得媒體廣泛重視的原因之一就是EJB。它們提供了一個(gè)框架來開發(fā)和實(shí)施分布式商務(wù)邏輯,由此很顯著地簡化了具有可伸縮性和高度復(fù)雜的企業(yè)級(jí)應(yīng)用的開發(fā)。EJB規(guī)范定義了EJB組件在何時(shí)如何與它們的容器進(jìn)行交互作用。容器負(fù)責(zé)提供公用的服務(wù),例如目錄服務(wù)、事務(wù)管理、安全性、資源緩沖池以及容錯(cuò)性。但這里值得注意的是,EJB并不是實(shí)現(xiàn)JAVAEE的唯一途徑。正是由于JAVAEE的開放性,使得有的廠商能夠以一種和EJB平行的方式來達(dá)到同樣的目的。
4.4 RMI(Remote Method Invoke)
正如其名字所表示的那樣,RMI協(xié)議調(diào)用遠(yuǎn)程對(duì)象上方法。它使用了序列化方式在客戶端和服務(wù)器端傳遞數(shù)據(jù)。RMI是一種被EJB使用的更底層的協(xié)議。
4.5 Java IDL/CORBA
在Java IDL的支持下,開發(fā)人員可以將Java和CORBA集成在一起。他們可以創(chuàng)建Java對(duì)象并使之可在CORBA ORB中展開, 或者他們還可以創(chuàng)建Java類并作為和其它ORB一起展開的CORBA對(duì)象的客戶。后一種方法提供了另外一種途徑,通過它Java可以被用于將你的新的應(yīng)用和舊的系統(tǒng)相集成。
4.6 JSP(Java Server Pages)
JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端所請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。
4.7Java Servlet
Servlet是一種小型的Java程序,它擴(kuò)展了Web服務(wù)器的功能。作為一種服務(wù)器端的應(yīng)用,當(dāng)被請(qǐng)求時(shí)開始執(zhí)行,這和CGI Perl腳本很相似。Servlet提供的功能大多與JSP類似,不過實(shí)現(xiàn)的方式不同。JSP通常是大多數(shù)HTML代碼中嵌入少量的Java代碼,而servlets全部由Java寫成并且生成HTML。
4.8 XML(Extensible Markup Language)
XML是一種可以用來定義其它標(biāo)記語言的語言。它被用來在不同的商務(wù)過程中共享數(shù)據(jù)。 XML的發(fā)展和Java是相互獨(dú)立的,但是,它和Java具有的相同目標(biāo)正是平臺(tái)獨(dú)立性。通過將Java和XML的組合,您可以得到一個(gè)完美的具有平臺(tái)獨(dú)立性的解決方案。
4.9 JMS(Java Message Service)
JMS是用于和面向消息的中間件相互通信的應(yīng)用程序接口(API)。它既支持點(diǎn)對(duì)點(diǎn)的域,有支持發(fā)布/訂閱(publish/subscribe)類型的域,并且提供對(duì)下列類型的支持:經(jīng)認(rèn)可的消息傳遞,事務(wù)型消息的傳遞,一致性消息和具有持久性的訂閱者支持。JMS還提供了另 一種方式來對(duì)您的應(yīng)用與舊的后臺(tái)系統(tǒng)相集成。
4.10、JTA(Java Transaction Architecture)
JTA定義了一種標(biāo)準(zhǔn)的API,應(yīng)用系統(tǒng)由此可以訪問各種事務(wù)監(jiān)控。
4.11、JTS(Java Transaction Service)
JTS是CORBA OTS事務(wù)監(jiān)控的基本的實(shí)現(xiàn)。JTS規(guī)定了事務(wù)管理器的實(shí)現(xiàn)方式。該事務(wù)管理器是在高層支持Java Transaction API (JTA)規(guī)范,并且在較底層實(shí)現(xiàn)OMG OTS specification的Java映像。JTS事務(wù)管理器為應(yīng)用服務(wù)器、資源管理器、獨(dú)立的應(yīng)用以及通信資源管理器提供了事務(wù)服務(wù)。
4.12 JavaMail
JavaMail是用于存取郵件服務(wù)器的API,它提供了一套郵件服務(wù)器的抽象類。不僅支持SMTP服務(wù)器,也支持IMAP服務(wù)器。
4.13 JAF(JavaBeans Activation Framework)
JavaMail利用JAF來處理MIME編碼的郵件附件。MIME的字節(jié)流可以被轉(zhuǎn)換成Java對(duì)象,或者轉(zhuǎn)換自Java對(duì)象。大多數(shù)應(yīng)用都可以不需要直接使用JAF
5. Tomcat服務(wù)器
5.1 Tomcat 的下載與安裝
下載地址:http://tomcat.apache.org/
安裝目錄不能包含中文和空格
JAVA_HOME環(huán)境變量指定Tomcat運(yùn)行時(shí)所要用的jdk所在的位置,注意,配到目錄就行了,不用指定到bin
端口占用問題:netstat -ano命令查看端口占用信息
Catalina_Home環(huán)境變量:startup.bat啟動(dòng)哪個(gè)tomcat由此環(huán)境變量指定,如果不配置則啟動(dòng)當(dāng)前tomcat,推薦不要配置此環(huán)境變量
5.2 Tomcat 的目錄層次結(jié)構(gòu)
- bin–存放tomcat啟動(dòng)關(guān)閉所用的批處理文件
- conf–tomcat的配置文件,最終要的是server.xml
- lib–tomcat運(yùn)行所需jar包
- logs–tomcat運(yùn)行時(shí)產(chǎn)生的日志文件
- temp–tomcat運(yùn)行時(shí)使用的臨時(shí)目錄,不需要我們關(guān)注
- webapps–web應(yīng)用所應(yīng)存放的目錄
- work–tomcat工作目錄,后面學(xué)jsp用到
5.3 啟動(dòng)和關(guān)閉Tomcat
在啟動(dòng)Tomcat之前,我們必須要配置環(huán)境變量:
- JAVA_HOME:必須先配置JAVA_HOME,因?yàn)門omcat啟動(dòng)需要使用JDK
- CATALANA_HOME:如果是安裝版,那么還需要配置這個(gè)變量,這個(gè)變量用來指定Tomcat的安裝路徑,例如:F:\apache-tomcat-7.0.42
- 啟動(dòng):進(jìn)入%CATALANA_HOME%\bin目錄,找到startup.bat,雙擊即可
- 關(guān)閉:進(jìn)入%CATALANA_HOME%\bin目錄,找到shutdown.bat,雙擊即可
startup.bat會(huì)調(diào)用catalina.bat,而catalina.bat會(huì)調(diào)用setclasspath.bat,setclasspath.bat會(huì)使用JAVA_HOME環(huán)境變量,所以我們必須在啟動(dòng)Tomcat之前把JAVA_HOME配置正確。
啟動(dòng)問題:點(diǎn)擊startup.bat后窗口一閃即消失:檢查JAVA_HOME環(huán)境變量配置是否正確;
5.4 配置端口號(hào)
打開%CATALANA_HOME%\conf\server.xml文件
http默認(rèn)端口號(hào)為80,也就是說在URL中不給出端口號(hào)時(shí)就表示使用80端口。當(dāng)然你也可以修改為其它端口號(hào)。
當(dāng)把端口號(hào)修改為80后,在瀏覽器中只需要輸入:http://localhost就可以訪問Tomcat主頁了
6. 虛似主機(jī)
一個(gè)真實(shí)主機(jī)可以運(yùn)行多個(gè)網(wǎng)站,對(duì)于瀏覽器來說訪問這些網(wǎng)站感覺起來就像這些網(wǎng)站都運(yùn)行在自己的獨(dú)立主機(jī)中一樣,所以,我們可以說這里的每一個(gè)網(wǎng)站都運(yùn)行在一個(gè)虛擬主機(jī)上,一個(gè)網(wǎng)站就是一個(gè)虛擬主機(jī)
6.1 配置虛似主機(jī)
如需在WEB服務(wù)器中配置一個(gè)網(wǎng)站,需使用Host元素進(jìn)行配置
在server.xml中<Engine>標(biāo)簽下配置<Host>,其中name屬性指定虛擬主機(jī)名,appBase指定虛擬主機(jī)所在的目錄
只在servlet.xml中配置Hosts,還不能是其他人通過虛擬主機(jī)名訪問網(wǎng)站,還需要在DNS服務(wù)器上注冊(cè)一把,我們可以使用hosts文件模擬這個(gè)過程
默認(rèn)虛擬主機(jī):在配置多個(gè)虛擬主機(jī)的情況下,如果瀏覽器使用ip地址直接訪問網(wǎng)站時(shí),該使用哪個(gè)虛擬主機(jī)響應(yīng)呢?可以在<Engine>標(biāo)簽上設(shè)置defaultHost來指定
<Host name=”site1” appBase=”c:\app”></Host>
配置的主機(jī)(網(wǎng)站)要想被外部訪問,必須在DNS服務(wù)器或windows系統(tǒng)中注冊(cè)
由于瀏覽器訪問地址時(shí),需要將地址翻譯成對(duì)應(yīng)的ip才能找到服務(wù)器,這其中翻譯的過程是由dns服務(wù)器來實(shí)現(xiàn)的.我們?cè)谧鰧?shí)驗(yàn)的時(shí)候沒有辦法去修改dns服務(wù)器,此時(shí)可以使用hosts文件模擬dns的功能,從而完成實(shí)驗(yàn)
缺省虛擬主機(jī):如果來訪者是通過ip來訪問,這個(gè)時(shí)候服務(wù)器無法辨別當(dāng)前要訪問的是哪臺(tái)虛擬主機(jī)中的資源,此時(shí)訪問缺省虛擬主機(jī)。缺省虛擬主機(jī)可以在server.xml中engin標(biāo)簽上通過defaultHost屬性進(jìn)行配置
6.2 訪問過程
7. WEB應(yīng)用程序
WEB應(yīng)用程序指供瀏覽器訪問的程序,通常也簡稱為web應(yīng)用,是為了提供某一特定功能而按照一定方式組織起來的web資源的組合。
一個(gè)web應(yīng)用由多個(gè)靜態(tài)web資源和動(dòng)態(tài)web資源組成,如
- html、css、js文件
- Jsp文件、java程序、支持jar包、
- 配置文件
- 一個(gè)web應(yīng)用所使用的web資源我們通常使用目錄進(jìn)行組織,這個(gè)目錄我們通常稱為 web應(yīng)用所在的目錄
Web應(yīng)用開發(fā)好后,若想供外界訪問,需要把web應(yīng)用所在目錄交給web服務(wù)器管理,這個(gè)過程稱之為虛似目錄的映射。
web資源不能直接交給虛擬主機(jī),需要按照功能組織用目錄成一個(gè)web應(yīng)用再交給虛擬主機(jī)管理
7.1 web應(yīng)用的目錄結(jié)構(gòu)
靜態(tài)資源和JSP文件都可以直接放置在web應(yīng)用的目錄下,直接放在web應(yīng)用下的內(nèi)容,瀏覽器可以直接訪問到
WEB-INF:可以沒有,但是最好有,如果有則一定要保證他的目錄結(jié)構(gòu)是完整的。放置在WEB-INF目錄下的所有資源瀏覽器沒有辦法直接進(jìn)行訪問
classes:動(dòng)態(tài)web資源運(yùn)行時(shí)的class文件要放在這個(gè)目錄下
lib:動(dòng)態(tài)web資源運(yùn)行時(shí)所依賴的jar包要放在這個(gè)目錄下
web.xml:整個(gè)web應(yīng)用的配置文件,配置主頁/Servlet的映射/過濾器監(jiān)聽器的配置都需要依賴這個(gè)文件進(jìn)行
7.2 web.xml文件的作用
- 某個(gè)web資源配置為web應(yīng)用首頁
- 將servlet程序映射到某個(gè)url地址上
- 為web應(yīng)用配置監(jiān)聽器
- 為web應(yīng)用配置過濾器
- 但凡涉及到對(duì)web資源進(jìn)行配置,都需要通過web.xml文件
7.3 web應(yīng)用的虛擬目錄映射
在server.xml的<Host>標(biāo)簽下配置<Context path=”虛擬路徑” docBase=”真實(shí)路徑”>如果path=”“則這個(gè)web應(yīng)用就被配置為了這個(gè)虛擬主機(jī)的默認(rèn)web應(yīng)用
在tomcat/conf/引擎名/虛擬主機(jī)名 之下建立一個(gè).xml文件,其中文件名用來指定虛擬路徑,如果是多級(jí)的用#代替/表示,文件中配置<Context docBase=”真實(shí)目錄”>,如果文件名起為ROOT.xml則此web應(yīng)用為默認(rèn)web應(yīng)用
直接將web應(yīng)用放置到虛擬主機(jī)對(duì)應(yīng)的目錄下,如果目錄名起為ROOT則此web應(yīng)用為默認(rèn)web應(yīng)用
如果三處都配置默認(rèn),web應(yīng)用則server.xml > config/…/xx.xml > webapps
7.4 其它問題
- 打war包,方式一:jar -cvf news.war * 方式二:直接用壓縮工具壓縮為zip包,該后綴為.war
- 通用context和通用web.xml,所有的<Context>都繼承子conf/context.xml,所有的web.xml都繼承自conf/web.xml
- reloadable讓tomcat自動(dòng)加載更新后的web應(yīng)用,當(dāng)java程序修改后不用重啟,服務(wù)器自動(dòng)從新加載,開發(fā)時(shí)設(shè)為true方便開發(fā),發(fā)布時(shí)設(shè)為false,提高性能
- Tomcat管理平臺(tái),可以在conf/tomcat-users.xml下配置用戶名密碼及權(quán)限
8. Tomcat體系架構(gòu)
9. WEB開發(fā)的前景
9.1 軟件開發(fā)的兩種架構(gòu):C/S和B/S
9.2 C/S B/S之爭
講到這個(gè)地方,很多同學(xué)就沒勁了,為什么呢?搞半天就是做網(wǎng)站喲,沒點(diǎn)意思。所以這里特意講下web開發(fā)的前景,免得有些同學(xué)像菜鳥一樣,以為自己很懂,其實(shí)啥都不懂,說些傻話。要講web開發(fā)前景,首先要強(qiáng)調(diào)一點(diǎn),你學(xué)javaweb,開發(fā)的是程序,別人通過瀏覽器,訪問的是你寫的程序,程序?yàn)橛脩敉瓿煞?wù)后,再把結(jié)果通過寫到瀏覽器中顯示,思想不要停留在90年代,以為通過瀏覽器看到的都是網(wǎng)頁。要注意,將來網(wǎng)站都是用來提供服務(wù)的,像你們思想中的網(wǎng)頁,只有網(wǎng)站提供的一種服務(wù)而已。
再者,要講web開發(fā)前景,就不得不提軟件開發(fā)的兩種架構(gòu)之爭了,一種是c/s架構(gòu),一種是b/s架構(gòu)。
何為b/s架構(gòu)呢?(瀏覽器/服務(wù)器架構(gòu))就是指數(shù)據(jù)和程序都在服務(wù)器端,客戶端通過瀏覽器訪問程序并獲取數(shù)據(jù)。這種架構(gòu)的最大好處就是服務(wù)器端程序一旦修改,所有客戶端訪問的都最新的程序,開發(fā)人員只管維護(hù)服務(wù)器就行了,不用管客戶端維護(hù)的事。這種架構(gòu)的最大缺點(diǎn)就是,由于客戶端都是使用瀏覽器來訪問服務(wù)器程序的,數(shù)據(jù)最終顯示在瀏覽器中,瀏覽器有多強(qiáng),數(shù)據(jù)就能顯示成什么樣式,數(shù)據(jù)的顯示樣式最終由瀏覽器決定。由于這種特性,所以b/s架構(gòu)很少用來開發(fā)一些對(duì)顯示有特殊要求的程序,例如游戲,現(xiàn)在的瀏覽器很難做到把數(shù)據(jù)顯示成一個(gè)人,拿著一把刀,到處找人PK,并且還不卡。
何為c/s架構(gòu)呢?就是指程序運(yùn)行在客戶機(jī)上,數(shù)據(jù)在服務(wù)器上。這種架構(gòu)有一個(gè)很大的毛病,就是程序一旦修改,需要更新所有的客戶機(jī)程序,客戶機(jī)多,維護(hù)的工作量相當(dāng)恐怖。這種架構(gòu)的優(yōu)點(diǎn)是:由于數(shù)據(jù)的計(jì)算在客戶機(jī)上,服務(wù)器的壓力小,并且由于數(shù)據(jù)的顯示也由程序員自己編寫gui程序完成,顯示不受限制。所以c/s架構(gòu)適合用于開發(fā)像游戲這樣的程序。
但是,隨著網(wǎng)絡(luò)帶寬的不斷提升,云計(jì)算概念的提出,瀏覽器只要足夠強(qiáng)大,c/s架構(gòu)立馬就會(huì)被淘汰,不僅c/s架構(gòu)會(huì)被淘汰,軟件最終都會(huì)消失、操作系統(tǒng)都可以沒有,最終將會(huì)是b/s架構(gòu)的天下,也就是瀏覽器+搜索引擎的天下。所有現(xiàn)在桌面軟件提供的功能,最后都由網(wǎng)站提供,也就是說,將來打開電腦就是一個(gè)瀏覽器,想要什么服務(wù),通過搜索引擎一找,就可以在網(wǎng)上找到相應(yīng)的服務(wù),用就是了。所以web開發(fā)人員是現(xiàn)在最流行的崗位。
相關(guān)案例查看更多
相關(guān)閱讀
- 云南網(wǎng)站建設(shè)價(jià)格
- 云南建設(shè)廳網(wǎng)站
- uniapp開發(fā)小程序
- 云南網(wǎng)站建設(shè)快速優(yōu)化
- 北京小程序制作
- 云南網(wǎng)站建設(shè)選
- 小程序被騙
- 汽車報(bào)廢管理
- 云南小程序被騙
- 云南網(wǎng)站建設(shè)哪家公司好
- 云南建設(shè)廳官方網(wǎng)站
- 小程序被攻擊
- 生成海報(bào)
- 網(wǎng)站建設(shè)公司網(wǎng)站
- 云南網(wǎng)站建設(shè)開發(fā)
- 小程序分銷商城
- 云南etc小程序
- 云南網(wǎng)站建設(shè)公司
- 云南建站公司
- 排名
- 網(wǎng)站建設(shè)價(jià)格
- 網(wǎng)站建設(shè)首頁
- 大理小程序開發(fā)
- 云南網(wǎng)絡(luò)公司
- 政府網(wǎng)站建設(shè)服務(wù)
- 商標(biāo)注冊(cè)
- 網(wǎng)站建設(shè)方法
- 汽車拆解管理系統(tǒng)
- 云南衛(wèi)視小程序
- 小程序技術(shù)