servlet必須在web容器還是web服務(wù)器環(huán)境下運(yùn)行?
Servlet是在服務(wù)器端運(yùn)行的,Servlet編譯成.class文件通過(guò)Java容器例如JBoss、Jetty、Tomcat等解析運(yùn)行在服務(wù)器端。瀏覽器通過(guò)訪問(wèn)容器中的解釋器從而瀏覽網(wǎng)頁(yè)。瀏覽器最初只支持Java Applet程序,到后面完全兼容Java容器,因此Java是解釋型語(yǔ)言。
JSP動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)其實(shí)底層也是依賴于Servlet編譯生成的字節(jié)碼文件。JSP編譯后生成Servlet文件,然后通過(guò)容器運(yùn)行。
Servlet具有生命周期,init方法初始化,destroy銷(xiāo)毀servlet線程。Servlet中的主方法是doService方法,調(diào)用doGet、doPost請(qǐng)求從而響應(yīng)GET、POST請(qǐng)求服務(wù)。
Struts框架的出現(xiàn)革新了java分層技術(shù),Struts2 MVC模型分層,以及后面出現(xiàn)的Spring MVC框架,都是web2.0革新技術(shù)。到現(xiàn)在微服務(wù)技術(shù)流行起來(lái),SpringBoot自帶Tomcat容器,Dubbo與Spring Boot整合形成一套微服務(wù)體系,阿里Dubbo 4.0全面兼容SpringCloud。Spring Cloud也是微服務(wù)的潮流,基于OpenCloud的框架是springcloud改良版,也是很火熱