亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【Java EE】從零開(kāi)始寫(xiě)項(xiàng)目【總結(jié)】

imtianx / 541人閱讀

摘要:目前該功能并未完善,敬請(qǐng)期待。反正每次都會(huì)有新的東西補(bǔ)充上去一開(kāi)始我本來(lái)想做的是可以使用微信登陸,也可以使用賬戶郵箱登陸,也可以使用短信登陸的。后來(lái)發(fā)現(xiàn)微信登陸要企業(yè)認(rèn)證,做不了。

從零開(kāi)發(fā)項(xiàng)目概述

最近這一直在復(fù)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法,也就是前面發(fā)出去的排序算法八大基礎(chǔ)排序總結(jié),Java實(shí)現(xiàn)單向鏈表,棧和隊(duì)列就是這么簡(jiǎn)單,十道簡(jiǎn)單算法題等等...

被虐得不要不要的,即使是非常簡(jiǎn)單有時(shí)候繞半天,想不明白。

本來(lái)這篇博文是想留到我最后Java基礎(chǔ)復(fù)習(xí)完再寫(xiě)出來(lái)的,鑒于公眾號(hào)有的同學(xué)想看看郵箱登陸的案例,想看看Java開(kāi)發(fā)后臺(tái)是怎么的,于是我就提前寫(xiě)了這篇博文

這個(gè)項(xiàng)目是我自己手寫(xiě)的第一個(gè)SSM項(xiàng)目(畢竟學(xué)了當(dāng)然得搞點(diǎn)事情,對(duì)吧),是上年寫(xiě)的小東西。當(dāng)然了,現(xiàn)在回過(guò)頭去看這個(gè)項(xiàng)目是有很多的不足的,僅供參考。用的也不是新技術(shù),只是把我之前當(dāng)時(shí)所學(xué)的一些東西做一個(gè)總結(jié)...如果想學(xué)新知識(shí)的同學(xué)看到這里就可以留步啦~

所以說(shuō),你可能會(huì)看到比較舊的技術(shù),寫(xiě)得不好的地方都會(huì)有~如果是寫(xiě)過(guò)項(xiàng)目的同學(xué)而言,這個(gè)僅僅是一個(gè)Demo。對(duì)于沒(méi)寫(xiě)過(guò)項(xiàng)目的同學(xué)可以適當(dāng)?shù)膮⒖家幌?,因?yàn)橛玫氖欠浅:?jiǎn)單的技術(shù),都是耳熟能詳?shù)募夹g(shù),不會(huì)有什么難懂的地方~

PS:希望各位大佬不要攻擊它,我沒(méi)有做任何的安全措施。即使留了評(píng)論的功能,XSS攻擊防范也沒(méi)做,請(qǐng)手下留情啊~

地址:

預(yù)覽:http://www.zhongfucheng.top/

GitHub:https://github.com/ZhongFuCheng3y/910convenienceSite

編寫(xiě)記錄:

從零開(kāi)始寫(xiě)項(xiàng)目第一篇【搭建環(huán)境】

從零開(kāi)始寫(xiě)項(xiàng)目第二篇【登陸注冊(cè)、聊天、收藏夾模塊】

從零開(kāi)始寫(xiě)項(xiàng)目第三篇【在線聊天和個(gè)人收藏夾】

從零開(kāi)始寫(xiě)項(xiàng)目第四篇【搭建Linux環(huán)境】

從零開(kāi)始寫(xiě)項(xiàng)目第五篇【評(píng)論功能、備忘錄】

從零開(kāi)始寫(xiě)項(xiàng)目終極【維護(hù)網(wǎng)站、修復(fù)Bug】

一、功能介紹

巴巴拉拉地說(shuō)了一大堆東西,我們來(lái)看一下這個(gè)項(xiàng)目有什么功能~

這是首頁(yè),會(huì)根據(jù)當(dāng)?shù)亟o出三天的天氣預(yù)報(bào):

很簡(jiǎn)單的注冊(cè)頁(yè)面,通過(guò)郵箱來(lái)進(jìn)行注冊(cè)~

2018年3月30日15:51:23,好吧,寫(xiě)這篇博文的時(shí)候也出錯(cuò)了.....

org.springframework.mail.MailAuthenticationException: Authentication failed

我懷疑是授權(quán)發(fā)送郵箱的密碼錯(cuò)了(過(guò)時(shí)),于是我去更新了一下,果然就行了~

此時(shí)點(diǎn)擊注冊(cè),就會(huì)要郵箱校驗(yàn)了~

去自己的郵箱查看一下郵件:

點(diǎn)擊校驗(yàn)它即可完成注冊(cè)(如果不校驗(yàn)的話,那么是不允許登陸的):

該項(xiàng)目用Shiro做了權(quán)限認(rèn)證的,如果沒(méi)在登陸的狀態(tài)下點(diǎn)擊以下的菜單都會(huì)跳轉(zhuǎn)到登陸頁(yè)面~:

網(wǎng)站說(shuō)明:

這個(gè)網(wǎng)站的功能并不復(fù)雜,開(kāi)發(fā)的功能都是為了方便使用而已。

一、個(gè)人收藏夾:將常用的網(wǎng)站添加進(jìn)去,值得注意的地方就是:url(網(wǎng)址)最好是從瀏覽器復(fù)制下來(lái),這是最方便也是最安全的做法

二、個(gè)人備忘錄:添加個(gè)人備忘錄,設(shè)置好時(shí)間、在郵件發(fā)送出去之前都能夠修改時(shí)間

發(fā)送郵件好像會(huì)有點(diǎn)延遲~~~~

接下來(lái)是個(gè)人收藏夾了,添加一些常用的網(wǎng)址進(jìn)去,并給它命名,當(dāng)輸入命名部分的字符時(shí),即會(huì)提示

用鍵盤上下鍵選中按回車即可跳轉(zhuǎn)到對(duì)應(yīng)的頁(yè)面了~

二、技術(shù)介紹

網(wǎng)站用到的技術(shù):

一、全站頁(yè)面布局:前端是使用Bootstrap來(lái)進(jìn)行布局的、背景是使用了GitHub的一個(gè)開(kāi)源項(xiàng)目:particles-js。導(dǎo)航條來(lái)源于一個(gè)國(guó)外網(wǎng)站:http://toolofna.com/

二、首頁(yè):天氣預(yù)報(bào)功能來(lái)源于高德地圖API和和風(fēng)天氣API組合而成,能夠查看當(dāng)前IP地址所在地的近三日天氣

三、個(gè)人收藏夾:使用了Elasticsearch全文搜索引擎工具。

四、在線聊天:使用了GoEasy的服務(wù)推送和jquery.barrager.js構(gòu)建彈幕。目前該功能并未完善,敬請(qǐng)期待。

五、注冊(cè)和登陸:使用了BootstrapValidation進(jìn)行表單校驗(yàn)、JavaMail發(fā)送郵件的功能、Gif動(dòng)態(tài)驗(yàn)證碼

六、個(gè)人備忘錄:使用了Quartz任務(wù)調(diào)度工具來(lái)定時(shí)發(fā)送郵件

總概要:

???1. Maven構(gòu)建項(xiàng)目

???2. 使用Mysql數(shù)據(jù)庫(kù)

???3. Tomcat作用應(yīng)用服務(wù)器

???4. Dao層采用Mybatis,Controller層采用SpringMVC,Spring對(duì)Mybatis和SpringMVC進(jìn)行整合和事務(wù)管理

???5. Shiro權(quán)限管理框架控制登陸以及對(duì)個(gè)人收藏夾、在線聊天功能進(jìn)行認(rèn)證的管理

???6. 使用FreeMarker來(lái)渲染頁(yè)面和配置發(fā)送郵箱的模版

???7. 使用Quartz和Spring整合,完成個(gè)人備忘錄的功能。

???8. 使用Nginx作為代理服務(wù)器,對(duì)靜態(tài)資源處理,代理轉(zhuǎn)發(fā)

可以看到的是,網(wǎng)站的功能并不多,就幾個(gè)小模塊,我就創(chuàng)建了三張表而已:

三、談?wù)劸帉?xiě)過(guò)程

其實(shí)所有的初學(xué)者都一樣:怎么使用Java編寫(xiě)一個(gè)網(wǎng)站?數(shù)據(jù)庫(kù)設(shè)計(jì)感覺(jué)好難,設(shè)計(jì)錯(cuò)了就很麻煩了。Web前端好煩啊,自己寫(xiě)的頁(yè)面不好看。這個(gè)功能感覺(jué)好難實(shí)現(xiàn)哦,應(yīng)該是挺高深的技術(shù)吧。我的基礎(chǔ)還不夠扎實(shí),等我學(xué)好了再寫(xiě)吧,等等等..就一直有想寫(xiě)網(wǎng)站的念頭,但一直沒(méi)開(kāi)始動(dòng)手。

上面的問(wèn)題我都有想過(guò),不過(guò)我還是寫(xiě)了這么一個(gè)小東西....

當(dāng)時(shí)寫(xiě)的練手項(xiàng)目都是視頻教程給出的題目,比如我之前發(fā)過(guò)的:移動(dòng)商城項(xiàng)目總結(jié)和納稅服務(wù)系統(tǒng)總結(jié),jar包或者maven的坐標(biāo)都是有給出來(lái)的,項(xiàng)目的前臺(tái)頁(yè)面和數(shù)據(jù)庫(kù)標(biāo)也大都是設(shè)計(jì)好的,我只需要補(bǔ)補(bǔ)填填寫(xiě)Java代碼。而這一次,前端頁(yè)面,數(shù)據(jù)庫(kù)設(shè)計(jì),Maven坐標(biāo)等等全由自己包辦

從開(kāi)始到編寫(xiě)結(jié)束大概花了我一個(gè)月的時(shí)間,期間要去上課呀,回家呀,一些瑣事呀等等才拖了那么久。如果自己從來(lái)沒(méi)寫(xiě)過(guò)項(xiàng)目的同學(xué)建議自己折騰一下搞一個(gè),期間能學(xué)到很多很多東西的。也不要怕自己寫(xiě)得不好(只要像我一樣不要臉,不也將這么一個(gè)小東西發(fā)到公眾號(hào)上來(lái),發(fā)到其他的博客平臺(tái)了么)

那么我自己折騰這么一個(gè)小玩意能學(xué)到什么了呢?

3.1搭建環(huán)境收獲

在搭建環(huán)境的時(shí)候,不要覺(jué)得最新的版本就是牛逼,我要用最新的,不做過(guò)時(shí)的男人!我當(dāng)時(shí)就是撘環(huán)境是用Spring5.0,Mysql驅(qū)動(dòng)包6.x,jdk1.8,能用最新就用最新的,覺(jué)得自己賊牛逼。然后撘完項(xiàng)目就啟不動(dòng)了~~~

其實(shí)沒(méi)必要用最新的,最新的一般都會(huì)有bug,沒(méi)bug的也不一定兼容其他的版本。要知道,Spring可不單單有Spring的東西,還依賴很多其他的jar包的。同樣Mysql用最新的驅(qū)動(dòng)包,逆向工程時(shí)也不好使(我在SegementFault已經(jīng)見(jiàn)過(guò)幾次跟我一樣遇到的坑)

一般最新的東西資料都挺少的,除了官方文檔,出了什么問(wèn)題都只能自己解決了。較老的版本就不一樣了,很多人都會(huì)遇到的問(wèn)題,解決方案也會(huì)相當(dāng)多~

當(dāng)時(shí)我在圖書(shū)館撘了一個(gè)晚上,得出的教訓(xùn):

3.2登陸與注冊(cè)收獲

登陸與注冊(cè)這個(gè)功能只要學(xué)過(guò)JavaWeb基礎(chǔ)的同學(xué),肯定做過(guò)。反正我是做了很多很多次的了,學(xué)Servlet做一次,學(xué)JSP做一次,學(xué)AJAX做一次,學(xué)xxx系統(tǒng)做一次,學(xué)XXX商城做一次。反正每次都會(huì)有新的東西補(bǔ)充上去

一開(kāi)始我本來(lái)想做的是可以使用微信登陸,也可以使用賬戶(郵箱)登陸,也可以使用短信登陸的。

后來(lái)發(fā)現(xiàn)微信登陸要企業(yè)認(rèn)證,做不了。短信登陸要錢,不想給。

所以最后就只有用郵箱登陸了~~~當(dāng)然了,該有的基本功能是有的

加密密碼

前臺(tái)校驗(yàn)和后臺(tái)校驗(yàn)參數(shù)

忘記密碼,記住我功能

驗(yàn)證碼

由于之前是簡(jiǎn)單學(xué)過(guò)Shiro的,當(dāng)時(shí)覺(jué)得Shiro做權(quán)限很方便,于是自己也想體驗(yàn)一把~實(shí)際上用起來(lái)并沒(méi)有我當(dāng)時(shí)學(xué)的時(shí)候那么簡(jiǎn)單!

在Shiro這一塊也耽誤了不少時(shí)間,因?yàn)槲耶?dāng)時(shí)想的是使用AJAX來(lái)提交,如果正確則跳轉(zhuǎn)到首頁(yè),如果密碼(參數(shù)..)等錯(cuò)誤就返回JSON給用戶一個(gè)友好的提示。可是,Shiro的表單認(rèn)證起默認(rèn)返回的是一個(gè)頁(yè)面,在這里就卡住了挺久的(有的時(shí)候沒(méi)bug,有的時(shí)候又有bug),百思不得其解...最后查閱了很多資料才將FormAuthenticationFilter改寫(xiě)好,Shiro很多東西都是要自己重寫(xiě)來(lái)進(jìn)行控制的,當(dāng)時(shí)理解后畫(huà)的流程圖:

Shiro的“記住我”功能本來(lái)以為是很好用的,實(shí)則也挺雞肋的..當(dāng)時(shí)我做的記錄:

反正Shiro給我的感覺(jué)就是很多東西都要自己來(lái)重寫(xiě),控制,而如果是小范圍使用我覺(jué)得自己寫(xiě)url控制會(huì)方便。也可能是我的學(xué)習(xí)姿勢(shì)不對(duì)~

在登陸注冊(cè)模塊期間也自己去找了不少資料。

數(shù)據(jù)庫(kù)設(shè)計(jì)上也是參考了網(wǎng)上和自己做了些許修改

JavaMail我之前是沒(méi)接觸過(guò)的

BootStrapValidation也是看中了就用,

折騰Shiro幾天就更不用說(shuō)了。

所以說(shuō),未必要使用自己熟悉的東西,只要想實(shí)現(xiàn)一些普通、你見(jiàn)過(guò)的功能,總會(huì)有方案可以參考。

3.3個(gè)人收藏夾收獲

這個(gè)自動(dòng)補(bǔ)全功能是我一開(kāi)始想要做自己網(wǎng)站的時(shí)候想做的。因?yàn)槲伊?xí)慣了使用鍵盤去找文件,去找東西。

比如,在windows下,我下了一個(gè)rolan,將常用的軟件丟進(jìn)去,輸入一些關(guān)鍵字即提示我,然后我通過(guò)鍵盤上下選擇就可以打開(kāi)軟件了,十分方便

在編寫(xiě)之前,我學(xué)過(guò)Lucene的相關(guān)知識(shí),知道Lucene是全文搜索索引的始祖(沒(méi)做過(guò)相關(guān)案例)【參考博文:Lucene就是這么簡(jiǎn)單】,后來(lái)知道Solr和Elasticsearch在企業(yè)上是用得挺火的,而Elasticsearch又是各種火熱,各種吹(哈哈哈,無(wú)貶義,是挺好用的)。

于是我就花了幾天從零開(kāi)始學(xué)Elasticsearch,當(dāng)時(shí)參考的博主給出的是2.3.3版本,我也覺(jué)得沒(méi)什么,就使用了。那是最新是5.x~就有了后來(lái)的博文:【Elasticsearch就是這么簡(jiǎn)單】

Elasticsearch遇到很多的問(wèn)題都得去翻英文的,所以可以訪問(wèn)外網(wǎng)也挺重要的~

我英語(yǔ)也不咋地,就慢慢看看,弄個(gè)Chrome插件翻譯唄,事情總得解決,也就這么成長(zhǎng)的~

3.4搭建Linux環(huán)境收獲

在之前只會(huì)Linux一些非常簡(jiǎn)單的命令,ls cd vi 這些,用得少就忘記了,于是又得重新去回顧一下Linux(這個(gè)學(xué)期也開(kāi)了Linux的課,我打算過(guò)一陣再總結(jié)Linux的常用命令和相關(guān)要點(diǎn),敬請(qǐng)期待~)

花了點(diǎn)點(diǎn)錢買了臺(tái)云服務(wù)器(學(xué)生有優(yōu)惠就10塊一個(gè)月),我也建議是在校的學(xué)生也可以買來(lái)自己玩玩,熟悉一下Linux命令,還有很多軟件都在Linux下才更好地支持(例如:Elasticsearch,Nginx),尤其Elasticsearch在windows下裝它簡(jiǎn)直麻煩!

到了Linux階段,我也去學(xué)了下Nginx了。在沒(méi)學(xué)Nginx時(shí)我就經(jīng)常聽(tīng)說(shuō)過(guò)這個(gè)HTTP服務(wù)器了,但一直不知道它是干嘛用的。它的最常見(jiàn)作用就兩個(gè):

處理靜態(tài)資源

動(dòng)態(tài)資源轉(zhuǎn)發(fā)到Web服務(wù)器(Tomcat)

學(xué)學(xué)Nginx的配置文件相關(guān)知識(shí),是如何配置的,配置有什么用~就可以使用了

3.5評(píng)論功能和備忘錄收獲

評(píng)論功能在數(shù)據(jù)庫(kù)設(shè)計(jì)上也有好幾種:

將回復(fù)和評(píng)論都統(tǒng)一當(dāng)成是評(píng)論,能夠使用@XXX來(lái)當(dāng)做是回復(fù),類似與IOS知乎的評(píng)論【此做法是最簡(jiǎn)單的】

將回復(fù)和評(píng)論分開(kāi),要么單表就多增加一個(gè)父屬性,要么就分兩張表【稍微復(fù)雜,一個(gè)評(píng)論可以對(duì)應(yīng)多個(gè)回復(fù)】

實(shí)現(xiàn)評(píng)論與回復(fù)“蓋樓”的方式,這種就是網(wǎng)易的評(píng)論【此種是最復(fù)雜的】

我做的只是一個(gè)留言的功能,就直接使用第一種了~

對(duì)于備忘錄就得用到Quartz時(shí)間調(diào)度框架,之前接觸過(guò),但用的使用還是出現(xiàn)了Bug

在Junit測(cè)試Quartz沒(méi)有反應(yīng)

Spring不能注入對(duì)象進(jìn)Quartz的Job類中

如果業(yè)務(wù)簡(jiǎn)單的話,下次也想玩玩Spring自帶的任務(wù)調(diào)度~

四、最后

上面簡(jiǎn)要地介紹了我的小項(xiàng)目的功能和編寫(xiě)過(guò)程,更詳細(xì)的業(yè)務(wù)得去看我下面的博文和源碼了~也希望大家能夠有所收獲,自己動(dòng)手做一個(gè)小項(xiàng)目~

現(xiàn)在看來(lái)很多沒(méi)有寫(xiě)成規(guī)范(返回JSON、JavaScript模塊化)等等,但畢竟是自己學(xué)編程的成長(zhǎng)經(jīng)歷,看回以前的代碼總會(huì)有這種感覺(jué)。我短時(shí)間內(nèi)也不做重構(gòu)了,學(xué)Java基礎(chǔ)去~

后面的博文幾乎都是Java基礎(chǔ)或算法(少量)了,希望大家多多支持哈,在校的日子我會(huì)盡量保持日更的~

如果文章有錯(cuò)的地方歡迎指正,大家互相交流。習(xí)慣在微信看技術(shù)文章,想要獲取更多的Java資源的同學(xué),可以關(guān)注微信公眾號(hào):Java3y

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/71086.html

相關(guān)文章

  • Java3y文章目錄導(dǎo)航

    摘要:前言由于寫(xiě)的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個(gè)博客導(dǎo)航。 前言 由于寫(xiě)的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個(gè)博客導(dǎo)航。 由于更新比較頻繁,因此隔一段時(shí)間才會(huì)更新目錄導(dǎo)航哦~想要獲取最新原創(chuàng)的技術(shù)文章歡迎關(guān)注我的公眾號(hào):Java3y Java3y文章目錄導(dǎo)航 Java基礎(chǔ) 泛型就這么簡(jiǎn)單 注解就這么簡(jiǎn)單 Druid數(shù)據(jù)庫(kù)連接池...

    KevinYan 評(píng)論0 收藏0
  • Spring Web

    摘要:認(rèn)證鑒權(quán)與權(quán)限控制在微服務(wù)架構(gòu)中的設(shè)計(jì)與實(shí)現(xiàn)一引言本文系認(rèn)證鑒權(quán)與權(quán)限控制在微服務(wù)架構(gòu)中的設(shè)計(jì)與實(shí)現(xiàn)系列的第一篇,本系列預(yù)計(jì)四篇文章講解微服務(wù)下的認(rèn)證鑒權(quán)與權(quán)限控制的實(shí)現(xiàn)。 java 開(kāi)源項(xiàng)目收集 平時(shí)收藏的 java 項(xiàng)目和工具 某小公司RESTful、共用接口、前后端分離、接口約定的實(shí)踐 隨著互聯(lián)網(wǎng)高速發(fā)展,公司對(duì)項(xiàng)目開(kāi)發(fā)周期不斷縮短,我們面對(duì)各種需求,使用原有對(duì)接方式,各端已經(jīng)很...

    Kosmos 評(píng)論0 收藏0
  • JavaEE:一個(gè)寬廣的概念。

    摘要:有人反駁人家工作兩年,你談個(gè)球的標(biāo)準(zhǔn)。,,,,的概念不能更廣啊。附錄一個(gè)項(xiàng)目用來(lái)演示各種新特性的示例,有超過(guò)個(gè)示例程序。 這篇博客什么技術(shù)內(nèi)容都沒(méi)有,純粹是介紹JAVAEE這個(gè)寬廣的概念。 本文內(nèi)容的基于的環(huán)境是JavaEE7 起因: 起因是因?yàn)榭戳诉@個(gè)java EE兩年,目前北京在職,年后可以上班,下面有個(gè)人問(wèn): hantsy:Java EE 工程師?請(qǐng)問(wèn)用過(guò)哪...

    MASAILA 評(píng)論0 收藏0
  • 假如時(shí)光倒流,我會(huì)這么學(xué)習(xí)Java

    摘要:看起來(lái)沒(méi)有集合框架,線程,等那么耀眼,但它可是很多框架的基礎(chǔ)啊回復(fù)反射查看相關(guān)文章,先把基礎(chǔ)學(xué)會(huì),后面的得用到它。 回頭看看, 我進(jìn)入Java 領(lǐng)域已經(jīng)快15個(gè)年頭了, 雖然學(xué)的也一般, 但是分享下我的心得,估計(jì)也能幫大家少走點(diǎn)彎路。[入門]我在2001年之前是C/C++陣營(yíng), 有C和面向?qū)ο蟮幕A(chǔ), 后來(lái)轉(zhuǎn)到Java ,發(fā)現(xiàn)沒(méi)有指針的Java真是好簡(jiǎn)單, 另外Java 的類庫(kù)好用的讓...

    bladefury 評(píng)論0 收藏0
  • 從零構(gòu)建前后分離web項(xiàng)目》:開(kāi)篇 - 縱觀WEB歷史演變

    摘要:更詳細(xì)的內(nèi)容下一章開(kāi)篇深入聊聊前后分離講述關(guān)于我目前在寫(xiě)從零構(gòu)建前后分離項(xiàng)目系列,修正和補(bǔ)充以此為準(zhǔn)不斷更新的項(xiàng)目實(shí)踐地址彩蛋提前預(yù)覽下一章傳送門 開(kāi)篇 : 縱觀WEB歷史演變 在校學(xué)習(xí)和幾年工作工作中不知不覺(jué)經(jīng)歷了一半的 WEB 歷史演變、對(duì)近幾年的發(fā)展比較了解,結(jié)合經(jīng)驗(yàn)聊聊 WEB 發(fā)展歷史。 演變不易,但也是必然,因?yàn)闉槿耸冀K要進(jìn)步。 WEB 的發(fā)展史 一、開(kāi)山鼻祖 - 石器時(shí)代...

    tracy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<