項目基礎(chǔ)系列:Javaweb項目架構(gòu)教程

項目基礎(chǔ)系列:Javaweb項目架構(gòu)教程

長沙牛耳教育      2022-05-02 07:21:01     21

項目基礎(chǔ)系列:Javaweb項目架構(gòu)教程,1.JavaWeb模塊結(jié)構(gòu)JSP文件和AXPX文件類似,路徑和URL一一對應(yīng),都會被動態(tài)編譯為單獨class。JavaWeb和ASP.NET的核心是分別是Serv

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹

    1.JavaWeb模塊結(jié)構(gòu)

    JSP文件和AXPX文件類似,路徑和URL一一對應(yīng),都會被動態(tài)編譯為單獨class。JavaWeb和ASP.NET的核心是分別是Servlet和IHttpHandler接口,因此無論是基礎(chǔ)的Page文件(JSP、ASPX)方式還是后來發(fā)展的MVC方式(SpringMVC、ASP.NETMVC)都是基于核心接口的基礎(chǔ)上再次封裝和擴展(DispatcherServlet、MvcHandler)。

    除JSP文件外,其他全部文件部署在應(yīng)用目錄的WEB-INF子目錄下,WEB-INF目錄可以認(rèn)為是ASP.NET中將web.config文件、bin目錄和App_開頭的運行時目錄存放在了一個統(tǒng)一的根目錄中。

    JavaWeb的配置文件web.xml也存放在WEB-INF目錄下,而ASP.NET的配置文件web.config一般直接存放在應(yīng)用目錄下(ASP.NET其他目錄同樣可以有web.config文件)。ASP.NET將所有的引用和代碼生成的dll都部署在bin中,而JavaWeb的引用jar和生成的class分別存放在WEB-INF的子目錄lib和classes中(參考1)。

    綜上,類似ASP.NET中的web.config、bin、App_Data等,JavaWeb中的WEB-INF、web.xml、lib和classes是我們必須了解和掌握的。

    |--AssemblyRoot

    |---WEB-INF/

    |--web.xml

    |--lib/

    |--classes/

    WEB-INF目錄:JavaWeb文件的根目錄。

    web.xml文件:配置文件(asp.netweb.config)。

    lib目錄:存放類庫文件(asp.netbin)。

    classes目錄:存放class文件(asp.netbin)。

    servlet基礎(chǔ)

    正如ASP.NET的核心是IHttpHandler一樣,JavaWeb的核心是Servlet接口,位于javax.servlet命名空間中。Filter的概念可以參考ASP.NET的HttpModule,Servlet中的各種Listener可以參考ASP.NETHttpApplicaiton中類似的event。無論是Java還是.NET的Web技術(shù),都是基于HTTP協(xié)議的具體實現(xiàn)。JavaWeb和ASP.NET中的一些核心項對應(yīng)如下:

    Servlet和ASP.NET的簡化示意圖:

    用于簡化web.xml配置的Servlet的注解(3.0開始支持,在ASP.NET中沒有對應(yīng)項):

    (1)WebServlet:作用在javax.servlet.http.HttpServlet的實現(xiàn)類上。

    (2)WebFilter:作用在javax.servlet.Filter的實現(xiàn)類上。

    (3)WebListener:作用在Listener的實現(xiàn)類上(javax.servlet.ServletContextListener、javax.servlet.ServletContextAttributeListener、javax.servlet.ServletRequestListener、javax.servlet.ServletRequestAttributeListener、javax.servlet.http.HttpSessionListener、javax.servlet.http.HttpSessionAttributeListener)。

    (4)WebInitParam:結(jié)合WebServlet和WebFilter注解用來配置屬性。

    (5)MultipartConfig:作用在javax.servlet.http.HttpServlet的實現(xiàn)類上。標(biāo)注請求是mime/multipart類型。

    用于Servlet容器初始化的ServletContainerInitializer(可實現(xiàn)無web.xml,3.0開始支持,可類比ASP.NET的Application_Start方法):

    (1)Servlet容器啟動時查找ServletContainerInitializer的實例。

    (2)ServletContainerInitializer實例使用HandlesTypes標(biāo)注一個或多個類型,Servlet容器將在啟動時掃描classpath,獲取這些類型的實例。

    (3)Servlet容器在啟動時調(diào)用ServletContainerInitializer實現(xiàn)類的onStartup方法,該方法可以獲取HandlesTypes標(biāo)注的所有類型對象。

 以上就是長沙牛耳教育java培訓(xùn)機構(gòu)的小編針對“項目基礎(chǔ)系列:Javaweb項目架構(gòu)教程”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

 Javaweb熱門基礎(chǔ)學(xué)習(xí)

 EL&JSTL:http://www.bjpowernode.com/javavideo/122.html

 Filter&Listener:http://www.bjpowernode.com/javavideo/121.html

 JSP:http://www.bjpowernode.com/javavideo/120.html

 Servlet:http://www.bjpowernode.com/javavideo/119.html

Java教程

培訓(xùn)啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險,謹(jǐn)防上當(dāng)。