我想搭建一個網站,請問我需要什麼技術?目前前後端哪一些技術比較流行?有什麼資料可以推薦的嘛?

我現在自己想搭建一個網站,但是我對前端技術相當不熟悉,spring也是一知半解,持久化目前只會使用mybatis,現在困難很多,有人能夠指點迷津嗎?


這個問題有些大了,想到哪寫到哪吧。

題主有不明白的請直接回復,一問一答的方式更利於解疑。

先聲明:我只是一個小程序員,而且不是科班出身,如果有回答的不專業、不嚴謹的地方,請隨便噴,但請勿人身攻擊。

謝謝!

先從題主的問題解釋「我現在自己想搭建一個網站,但是我對前端技術相當不熟悉,spring也是一知半解,持久化目前只會使用mybatis,現在困難很多」來看:

「我現在自己想搭建一個網站」

問題限定為從web技術應用範圍。

」但是我對前端技術相當不熟悉「

這個就比較麻煩了,題主沒有提到自己的技術路線和技術掌握情況,導致回答問題的人,很容易過深或者是過淺的回答題主問題。

「spring也是一知半解」

那麼基本可以認為題主知道了spring的一些基本配置的東西,這些東西是什麼,題主沒有進一步說明,也容易對答題者形成干擾。

「持久化目前只會使用mybatis」

這個部分包括兩個方面,一個是題主已經掌握了mybatis的基本應用(相信我,掌握mybatis的基本應用已經可以做網站了,當然調優什麼的以後再說啦);

另一個是題主已經掌握了T-SQL語言的使用。

好的,上面分析了這麼多,其實沒太大用處。

不是說題主掌握的知識沒用,而是建議題主以後提問題時,把相關的信息都註明一下。畢竟是問的IT方面的問題嘛,邏輯性和嚴密性是非常重要的。

就基於現在很熱門(各個培訓公司都宣傳的)SSM架構,來梳理一下如果製作發布一個網站,需要掌握或者是了解的技術結構。

以下回答假定是基於java web技術的,畢竟java web相對.net來說花費的人民幣較少。

如果要製作發布.net網站,請查看微軟的相關文檔,非常方便快捷,而且是真正的「爽」就一個字。

支持正版軟體,保護知識產權。

盡量不要使用太多的盜版軟體,就算不是為了保護知識產權,也要為了保護個人隱私。

有疑問和異議咱們可以討論,但請不要人身攻擊,謝謝!

-----------------------------------這是上面那些廢話.結束的分界線--------------------------------------------------

前端:

html(直接被瀏覽器解釋成為我們能夠看到的網頁的樣子)

css (樣式,就是讓頁面更好看,設置頁面上各個元素什麼紅的藍的綠的,大的小的中的,粗的細的沒有的)

JavaScript (在客戶端瀏覽器中,應用的小程序,能夠做各種奇妙的事情)

如果以上都搞懂了,請繼續學習下面的知識

jsp (java server page,就看一下頁面怎麼寫的就好啦,注意哦,是「頁面」怎麼寫就好了,所以歸類到了前端部分)

jstl (先了解一下再說,別的不用管,因為你做前台的時候大部分使用是複製和粘貼再稍微修改一下)

xml (一看就懂的東西,沒必要花太多時間)

xstl (稍微了解一下就好,千萬別鑽進去了)

ajax (稍微了解一下,有問題等會用了再查資料)

Photoshop (要做到會用、用熟練,現在是一個看臉的時代,頁面什麼樣,需要最初好好設計,用其它圖片設計軟體替代也行)

以上都是邊做邊看教材的更容易掌握,還有一些技術路線都沒有列出,等能夠做到製作網站並運行時,題主自己就會知道還需要什麼了。

-----------------------------------這是頁面前端技術路線.結束的分界線--------------------------------------------------

輪到頁面服務端了,也就是運行在伺服器上的程序(也是廢話,哪個不要運行或者發布到伺服器上)。

大體上就是下面幾個,但都要求可以不理解,一定要用得熟練。

熟練的標準就是,能夠在代碼編輯器代碼提示功能配合下,不要怎麼查百度,就能使用其功能進行編碼的,稱之為「熟練」!

java (這個是基礎,必學,但無須太精)

tomcat (中間件,先掌握這個再說,也有其它的中間件可以使用,但tomcat能夠查到的資料最多)

spring (這個理解有些複雜,還是邊做邊理解吧)

spring mvc (這個理解還是有些複雜,建議也是邊做邊理解吧)

mybatis (為什麼把這個明顯是持久層的mybatis放到了服務層?因為我高興!在掌握SSM整合前,mybatis在一段時間內,是以java代碼的方式使用的。也要new幾個對象才可以的,也要編碼的,也要調試得罵娘的,所以先放到服務層。等題主已經搞懂了相關的技術時,再看我這個回答,就會想到「寫這個的是個什麼都不懂的菜鳥,懶得提醒他」,一切就OK啦)

題主可能會在最初的spring + spring mvc + mybatis整合時蒙圈,所以我建議,也是我的切身感受,在沒有老司機代入的情況下:

Eclipse開發環境下

1、先創建java動態項目

2、添加spring mvc做頁面開發,該怎麼用就怎麼用,該怎麼配置就怎麼配置

3、使用mybatis做持久層開發,該怎麼用就怎麼用,該怎麼配置就怎麼配置

4、各用各的,先不要整合,把網站一部分的功能和頁面做出來,能夠運行了再說

5、都用熟悉了,再參考教程,先將mybatis和spring整合,等項目能運行了,再將spring和spring mvc整合,最後再仔細測試一下項目

6、不要怕代碼重構,只有重構代碼才能更好的提高自己的技術和思考解決問題的能力

7、在掌握以上技術前,不要用maven

8、不知道什麼是maven,太好了,就當沒有看到7和8條建議吧

9、ssm整合部分比較麻煩,建議看視頻教程,然後自己動手配置和解決問題,不要去百度搜索」SSM整合「的相關書面內容,現在都是文章一大抄,會把自己看蒙的。

如果有老司機帶路,請跟著老司機玩。

-----------------------------------這是頁面服務端技術路線.結束的分界線-----------------------------------------------

數據持久化層,現在的IT語言越來越高大上了,還記得第一次別人和我說數據持久化,我都楞了一下。

咱IT民工(DS)的說法更簡單明了:存到資料庫上,或者是導出文件!

T-SQL (常用的sql語言,了解並能寫出增刪改查即可)

主流資料庫 (mysql、Oracle、SQLServer、DB2等,主流資料庫的使用以及資料庫可視化軟體的使用)

這個沒什麼說的,我就列出了幾個資料庫,要想完全不用資料庫,只使用文件方式記錄數據。嗯,你很有想法,祝願你能闖出一條路來。

-----------------------------------這是數據持久化技術路線.結束的分界線------------------------------------------------

掌握了上面的所有技術或者是已經製作出網站了,總是需要發布出來的,這個就需要以下的技術了

Linux (掌握Linux系統命令的使用,掌握到能用就行,畢竟發布環境可能是Linux的操作系統)

購買伺服器 (掌握購買一台伺服器的能力,並提供足夠的資金支持)

購買域名 (如果不想只用IP訪問,請掌握購買域名的能力,同時也需要提供足夠的資金支持)

域名備案 (這個你可以先百度看一下啦,不好細說,太麻煩)

總的來說,頁面發布相對於技術來說,更重要的是資金支持。

-----------------------------------這是頁面發布技術路線.結束的分界線--------------------------------------------------

IT技術最大的特點在於可以一知半解,但不能不動手試驗。

IT技術還有一個的特點在於複製(ctrl+c)、粘貼(ctrl+v)、定位(ctrl+f)、替換(ctrl+h)、撤銷(ctrl+z)、恢復(ctrl+y)的快捷鍵一定要熟練記牢。

所以建議答主如果自己想架設一台網站伺服器並發布網站,請一定要自己動手製作,技術知識可以是了解、跟著視頻或者書面教程學習,可以是還沒有完全掌握,可以是寫一段要在網路上查半天的。

沒關係的,在做的過程中,就會產生疑問,就會查找相應的資料,就會搞懂原理。

退一萬步說,就算沒有搞懂原理,只要會做了,那就搞定了,目標達成了!

開車沒必要了解發動機工作原理,不用知道材料力學和交通歷史,車開好了,就好了。

但是,請注意,想牛X,還請下苦工,弄懂所有或者是大部分疑問,這個沒有人幫忙的,只有不停的閱讀英文文檔,查英文資料,並做大量的試驗。

所有的技術大牛都是這樣走過來的,有例外嗎?

-----------------------------------這還是廢話.結束的分界線--------------------------------------------------

你都能順序看到這裡,我服了!

我寫到這裡時都不願意再檢查一遍,畢竟從頭到位看一遍,好累!

-----------------------------------這是衷心佩服.結束的分界線--------------------------------------------------

轉載請註明出處:知乎 我想搭建一個網站,請問我需要什麼技術?目前前後端哪一些技術比較流行?有什麼資料可以推薦的嘛? - JavaScript 李家耀的回答


其實搭起來,難度是不大的 用點前端技術html,css,js,jquery而且網路上好多模板然後後台就是springwebmvc spring mybatis 緩存啊用redis 如果用到搜索可以用elasticSearch 資料庫 mysql。搭起來是不費勁的主要是要保證住你網站的安全 比如防止xss攻擊,sql注入這些。。。

純個人見解,求大佬們輕噴


初學建議就是做項目+參考模仿, 所以建議你直接參考開源項目來寫, 稍微改改就是一個新網站

推薦你一個開源項目: youzan/bugCatcher

技術棧: Spring + Spring MVC + Mybatis, 前端跟你一樣, 不熟, 所以直接使用Twitter的bootstrip框架寫


失眠了,回答一個問題壓壓驚

根據你了解一點spring和mybaits ,你可以學習一下springMVC 了解一下MVC模式得思想,去學習一下框架的用法就好了,這幾個框架很容易用的,很容易上手,但是主要是後台邏輯,你自己要有很明確的認識,我覺得,相比起來資料庫的表最難建了。

關於前端,去w3school刷一邊遍就能先理解能簡單用了,之後推薦你去看看bootstrap中文網去看看,利用bootstrap可以很輕鬆的畫出很漂亮的界面,,要想界面變得酷炫,再學學jQuery吧,(大三在讀,如果不是你想要的流行的,忽略窩吧)


推薦閱讀:

shim和polyfill有什麼區別?
qq空間背景音樂是如何實現頁內跳轉時不間斷播放的?
網站根目錄沒有索引文件 ( index.html ) 會影響 SEO 嗎?
為什麼在 HTML 發展初期開發者使用表格元素排版?
HTML5 中的 b/strong,i/em 有什麼區別?

TAG:HTML | JavaScript | 網站搭建 | MyBatis | SpringMVC框架 |