㈠ html5 能接數據嗎,能取代jsp嗎
不能。html5是一個頁面顯示的語言,他是html4標準的延伸,本質上,他就是為了顯示頁面。html5其實就是增加了許多動態顯示的標簽,本質上是為了頁面顯示更美觀,可以顯示更多的功能。雖然html5增加了本地資料庫支持,但是並不能取代服務端資料庫,除非這不是一個網路應用。html5或者說html是一個前台展示語言。
jsp是javaWeb的一個規范,他的本質是servlet。jsp其實就是把servlet和html結合在一起了。當jsp被編譯的時候,會被編譯成一個servlet的class,而裡面的顯示頁面的html語句會被out出來。簡單來說jsp是為了接收後端數據,輸出到前端的一個技術。除了jsp,java還可以使用velocity、Freemaker模版等技術結合html來顯示頁面。
就是說jsp技術和html是不可分割的,使用jsp來顯示一個頁面時,必須使用html技術,當然也可以是html5。只不過html被整合在jsp裡面或者說jsp其實就是servlet和html的結合體,並且html和servlet是版本無關的,就是說你只要使用html就可以,至於是哪個版本無所謂。
㈡ java web開發都用jsp嗎
在jsp剛剛興起的時候,一些比較優秀的J2EE框架還沒有出現的時候,開發都是用只jsp來做,這樣會造成前台的UI和業務邏輯還有db的交互全部在jsp中完成,這樣做會造成代碼的耦合性過高,不易於維護。
後來有了MVC類型的架構--jsp+servlet+javabean,這樣一來的話,jsp只承擔了views的作用。所以我覺得「不用jsp開發」應該是指「不只是用jsp開發」。
還有你很多網站的頁面後綴是HTM的問題,我覺得應該是開發者考慮到了SEO,搜索引擎對動態的頁面的敏感性不高,所以開發者選擇了用html作為視圖,還有一種可能是開發者用了「偽靜態」方式把原本不是動態頁面偽裝成了靜態頁面,來讓搜索引擎對網站敏感。
㈢ 做WEB前端是不是會了JS 就不需要JSP 了
jsp可以說跟前端幾乎毛關系都沒有,搞前端,js肯定要學,CSS也得學。jsp是伺服器端執行的代碼,前端主要是搞瀏覽器渲染的那部分。結構化稍微好一點點的網站程序前後端都是通過模板機制等方式分離的。前端專心搞界面即可
㈣ 我們還需要JSP嗎
jsp還是需要的,現在很多大型的電商網站都是採用jsp做的,jsp就有以下特點:
1 跨平台
既然JSP是基於Java語言的,那麼它就可以使用Java API,所以它也是跨平台的,可以應用在不同的系統中,如Windows、Linux、Mac和Solaris等。這同時也拓寬了JSP可以使用的Web伺服器的范圍。另外,應用於不同操作系統的資料庫也可以為JSP服務,JSP使用JDBC技術操作資料庫,從而避免了代碼移植導致更換資料庫時的代碼修改問題。
正是因為跨平台的特性,使得採用JSP技術開發的項目可以不加修改地應用到任何不同的平台上,這也應驗了Java語言的"一次編寫,到處運行"的特點。
2 業務代碼分離
採用JSP技術開發的項目,通常使用HTML語言來設計和格式化靜態頁面的內容,而使用JSP標簽和Java代碼片段來實現動態部分。程序開發人員可以將業務處理代碼全部放到JavaBean中,或者把業務處理代碼交給Servlet、Struts等其他業務控制層來處理,從而實現業務代碼從視圖層分離。這樣JSP頁面只負責顯示數據即可,當需要修改業務代碼時,不會影響JSP頁面的代碼。
3 組件重用
JSP中可以使用JavaBean編寫業務組件,也就是使用一個JavaBean類封裝業務處理代碼或者作為一個數據存儲模型,在JSP頁面甚至整個項目中都可以重復使用這個JavaBean。JavaBean也可以應用到其他Java應用程序中,包括桌面應用程序。
4 繼承Java Servlet功能
Servlet是JSP出現之前的主要Java Web處理技術。它接受用戶請求,在Servlet類中編寫所有Java和HTML代碼,然後通過輸出流把結果頁面返回給瀏覽器。其缺點是:在類中編寫HTML代碼非常不便,也不利於閱讀。使用JSP技術之後,開發Web應用便變得相對簡單快捷多了,並且JSP最終要編譯成Servlet才能處理用戶請求,因此我們說JSP擁有Servlet的所有功能和特性。
5 預編譯
預編譯就是在用戶第一次通過瀏覽器訪問JSP頁面時,伺服器將對JSP頁面代碼進行編譯,並且僅執行一次編譯。編譯好的代碼將被保存,在用戶下一次訪問時,直接執行編譯好的代碼。這樣不僅節約了伺服器的CPU資源,還大大提升了客戶端的訪問速度。
㈤ JSP現在是不是過時了
jsp永不會過時,除非java過時了。本人將近二十年javaweb項目經驗來看,一會流行ssh,一會ssm,一會springmvc,springboot,一直在更新換代,其實這些玩意核心都是servlet,這些個框架只是拐彎抹角定義一些規則,為開發者提供某些便利而已,最終運行的還是servlet,這些框架大都依賴xml配置,當一個項目過大時,xml文件就變得臃腫不堪,啟動一下web服務都得半天,萬一有點啥錯誤,直接gg,頭疼要命,最頭疼的是這些框架一旦過時,其規則慢慢被人淡忘,你再維護這些框架項目時,那就有好戲看了。
而jsp是最直接編譯為servlet的,相對性能最高的。假如一個項目為jsp+javabean時,Web服務基本是秒啟動。單個jsp錯誤對服務沒有任何影響。大廠用jsp是有原因的,任何懂java人都能維護,任你千框萬架,他永不過時。
㈥ 現在什麼技術取代了jsp
Spring Boot一部分取代了jsp:
以前老的方式是:
1.客戶端請求
2.服務端的servlet或controller接收請求(路由規則由後端制定,整個項目開發的權重大部分在後端)
3.調用service,代碼完成業務邏輯
4.返回jsp
5.jsp展現一些動態的代碼
新的方式是:
1.瀏覽器發送請求
2.直接到達html頁面(路由規則由前端制定,整個項目開發的權重前移)
3.html頁面負責調用服務端介面產生數據(通過ajax等等)
4.填充html,展現動態效果。
(有興趣的童鞋可以訪問一下阿里巴巴等大型網站,然後按一下F12,監控一下你刷新一次頁面,他的http是怎麼玩的,大多數都是單獨請求後台數據,使用json傳輸數據,而不是一個大而全的http請求把整個頁麵包括動+靜全部返回過來)
這樣做的好處是:
1.可以實現真正的前後端解耦,前端伺服器使用nginx。
前端伺服器放的是css,js,圖片等等一系列靜態資源(甚至你還可以css,js,圖片等資源放到特定的文件伺服器,例如阿里雲的oss,並使用cdn加速),前端伺服器負責控制頁面引用,跳轉,調用後端的介面,後端伺服器使用tomcat。
(這里需要使用一些前端工程化的框架比如nodejs,react,router,react,rex,webpack)
2.發現bug,可以快速定位是誰的問題,不會出現互相踢皮球的現象。
頁面邏輯,跳轉錯誤,瀏覽器兼容性問題,腳本錯誤,頁面樣式等問題,全部由前端工程師來負責。
介面數據出錯,數據沒有提交成功,應答超時等問題,全部由後端工程師來解決。
雙方互不幹擾,前端與後端是相親相愛的一家人。
3.在大並發情況下,我可以同時水平擴展前後端伺服器,比如淘寶的一個首頁就需要2000台前端伺服器做集群來抗住日均多少億+的日均pv。
(去參加阿里的技術峰會,聽他們說他們的web容器都是自己寫的,就算他單實例抗10萬http並發,2000台是2億http並發,並且他們還可以根據預知洪峰來無限拓展,很恐怖,就一個首頁。。。)
4.減少後端伺服器的並發壓力,除了介面以外的其他所有http請求全部轉移到前端nginx上。
5.即使後端服務暫時超時或者宕機了,前端頁面也會正常訪問,只不過數據刷不出來而已。
6.也許你也需要有微信相關的輕應用,那樣你的介面完全可以共用,如果也有app相關的服務,那麼只要通過一些代碼重構,也可以大量復用介面,提升效率。
7.頁面顯示的東西再多也不怕,因為是非同步載入。