JavaEE基礎JavaWeb項目基礎認識
阿新 • • 發佈:2018-01-12
for lib 黑科技 環境 post sstream 歡迎頁面 無法 sse
web項目結構
WEB-INF
:位於應用程序根目錄下,內部對外界封閉,客戶端無法使用HTTP直接訪問到內部的文件或目錄,只能通過Servlet/JSP的請求轉發(Forward)web.xml
:web項目部署描述文件,位於web-inf根目錄下lib
:存放jar文件的目錄,位於web-inf根目錄下classes
:編譯後的.class文件,位於web-inf根目錄下
項目打包命令——項目目錄FirstServlet
jar cvf ../FirstServlet.war *
URI的實際組成
requestURI = contextPath + servletPath + pathInfo
1,requestURI可以通過httpServletRequest的getRequestURI( )
來獲取
2,contextPath 環境路徑(Context path)
這個可以通過httpServletRequest的getContextPath( )
來獲取
3,servletPath指Servlet路徑不包括路徑信息(Path info)與請求參數(Request parameter)
這個可以通過httpServletRequest的getServletPath( )
來獲取
- /hello.do——>servletPath=/hello.do
- /servlet/*——>servletPath=/servlet
- /*或者""——>servletPath=空字符串
4,pathInfo路徑信息(Path info),不包括請求參數,指的是不包括環境路徑與Servlet路徑部分的額外路徑信息
這個可以通過httpServletRequest的getPathInfo( )
來獲取,沒有額外路徑信息則為null
(擴展映射,預設Servlet,完全匹配的情況下,getPathInfo會取到null),如果存在,則是一個以/
開頭的字符串。
訪問Jar包中的頁面
在jar文件的/META-INF/resources 目錄中放置靜態資源或jsp等,訪問時項目找不到對應文件則會從jar中的resources中尋找
當項目中找不到某類文件時會從項目的依賴jar中尋找,如果依然找不到則會在容器存放類和jar的目錄中尋找(如:tomcat的lib)
通過程序控制取得/WEB-INF
中的資源,可以使用ServletContext的getResource( ) 和getResourceAsStream( ),或是通過RequestDispatcher請求調派
如果web應用程序的URL最後以/
結尾,而且確實存在該目錄,則Web容器必須傳回該目錄下的歡迎頁面,web.xml中的配置
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
web-fragment.xml
這個感覺挺黑科技的!回頭看
JavaEE基礎JavaWeb項目基礎認識