更新時間:2020-04-17 13:50:58 來源:動力節點 瀏覽2405次
1.JavaWeb模塊結構
JSP文件和AXPX文件類似,路徑和URL一一對應,都會被動態編譯為單獨class。JavaWeb和ASP.NET的核心是分別是Servlet和IHttpHandler接口,因此無論是基礎的Page文件(JSP、ASPX)方式還是后來發展的MVC方式(SpringMVC、ASP.NETMVC)都是基于核心接口的基礎上再次封裝和擴展(DispatcherServlet、MvcHandler)。
除JSP文件外,其他全部文件部署在應用目錄的WEB-INF子目錄下,WEB-INF目錄可以認為是ASP.NET中將web.config文件、bin目錄和App_開頭的運行時目錄存放在了一個統一的根目錄中。
JavaWeb的配置文件web.xml也存放在WEB-INF目錄下,而ASP.NET的配置文件web.config一般直接存放在應用目錄下(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基礎
正如ASP.NET的核心是IHttpHandler一樣,JavaWeb的核心是Servlet接口,位于javax.servlet命名空間中。Filter的概念可以參考ASP.NET的HttpModule,Servlet中的各種Listener可以參考ASP.NETHttpApplicaiton中類似的event。無論是Java還是.NET的Web技術,都是基于HTTP協議的具體實現。JavaWeb和ASP.NET中的一些核心項對應如下:
Servlet和ASP.NET的簡化示意圖:
用于簡化web.xml配置的Servlet的注解(3.0開始支持,在ASP.NET中沒有對應項):
(1)WebServlet:作用在javax.servlet.http.HttpServlet的實現類上。
(2)WebFilter:作用在javax.servlet.Filter的實現類上。
(3)WebListener:作用在Listener的實現類上(javax.servlet.ServletContextListener、javax.servlet.ServletContextAttributeListener、javax.servlet.ServletRequestListener、javax.servlet.ServletRequestAttributeListener、javax.servlet.http.HttpSessionListener、javax.servlet.http.HttpSessionAttributeListener)。
(4)WebInitParam:結合WebServlet和WebFilter注解用來配置屬性。
(5)MultipartConfig:作用在javax.servlet.http.HttpServlet的實現類上。標注請求是mime/multipart類型。
用于Servlet容器初始化的ServletContainerInitializer(可實現無web.xml,3.0開始支持,可類比ASP.NET的Application_Start方法):
(1)Servlet容器啟動時查找ServletContainerInitializer的實例。
(2)ServletContainerInitializer實例使用HandlesTypes標注一個或多個類型,Servlet容器將在啟動時掃描classpath,獲取這些類型的實例。
(3)Servlet容器在啟動時調用ServletContainerInitializer實現類的onStartup方法,該方法可以獲取HandlesTypes標注的所有類型對象。
以上就是動力節點java培訓機構的小編針對“項目基礎系列:Javaweb項目架構教程”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
Javaweb熱門基礎學習
EL&JSTL:http://www.ilovecolors.com.cn/javavideo/122.html
Filter&Listener:http://www.ilovecolors.com.cn/javavideo/121.html
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習