1. JavaWeb應用
JavaWeb應用從大類上分為靜態和動態兩種。
靜態應用就是傳統的HTML文件+素材資源構造的靜態網頁,不需要特殊的配置。JavaWeb也不是專門用來做靜態網站的。
動態應用是基於數據庫服務的網頁(可能描述的不是很合適),擁有了更強的功能和更好的交互性。由於這些特性,所以需要嚴格的對動態網站的要求更加復雜和嚴格。
一個最基礎的動態網站的組成:
| 項目目錄
| src
| web
| WEB-INF
| web.xml :核心配置文件
| lib :放置jar包文件夾
| classes :放置字節碼(編譯后)文件
| 靜態資源
| HTML/CSS/JS/Image/Video……
| Jsp
2. web.xml
一個完整而規范的JavaWeb項目中,一定要有一個web.xml文件,這個文件用來配置Filter、Listener、Servlet等。
當Tomcat啟動時,會先讀取Tomcat安裝目錄中conf文件夾下的web.xml作為全局配置,然后再讀取項目中的web.xml更新全局配置。
web.xml常用標簽:
<!-- schema頭 -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<web-app version="4.0" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd">
</web-app>
<!-- 文本說明 -->
<disciption>This is a simple xml.</disciption>
<!-- 配置應用上下文信息 -->
<context-param>
<param-name>ContextParameter</para-name>
<param-value>test</param-value>
<description>It is a test parameter.</description>
</context-param>
<!-- 過濾器 filter -->
<filter>
<filter-name>setCharacterEncoding</filter-name>
<filter-class>com.myTest.setCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>setCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 監聽器 listener -->
<listener>
<listerner-class>com.listener.SessionListener</listener-class>
</listener>
<!-- Servlet -->
<servlet>
<servlet-name>snoop</servlet-name>
<servlet-class>SnoopServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>snoop</servlet-name>
<url-pattern>/snoop</url-pattern>
<!-- 會話超時配置(min) -->
<session-config>
<session-timeout>120</session-timeout>
</session-config>
<!-- 歡迎頁 -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
<!-- 錯誤頁(錯誤碼\異常類型) -->
<error-page>
<error-code>404</error-code>
<location>/NotFound.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.NullException</exception-type>
<location>/Error.jsp</location>
</error-page>
3. WEB-INF
WEB-INF目錄是web應用的安全目錄,作為安全目錄就是服務器端可以直接訪問,而無法被客戶端訪問,客戶端想訪問必須由服務器端進行配置。
目錄里存放着配置web應用的文件web.xml;有存放web需要的jar包目錄lib;有存放編譯好.class文件的目錄classes。將不想被客戶端用戶直接訪問到的文件放置到這個文件夾下,可以有效保障文件安全。
4. 創建簡易項目(IDEA)
(1) 選擇 Java Enterprise,選擇/添加 JDK版本、EE版本、Tomcat路徑和版本,勾選Web Application、create web.xml。
(2) 選擇是否使用模板創建。
(3) 設定項目名、選擇項目放置目錄、選擇web.xml的schema版本、配置一個Tomcat(跟第一個步驟一樣)。
(4) 這時已經創建好一個簡易的JavaWeb項目。