Eclipse下搭建Maven Servlet3.0環境
阿新 • • 發佈:2019-01-11
需求背景:
Servlet3.0的好處:
- 1. 非同步處理支援:有了該特性,Servlet 執行緒不再需要一直阻塞,直到業務處理完畢才能再輸出響應
- 2. 新增的註解支援(可以省略web.xml):該版本新增了若干註解,用於簡化 Servlet、過濾器(Filter)和監聽器(Listener)的宣告,這使得 web.xml 部署描述檔案從該版本開始不再是必選的了。
- 3. 可插性支援:開發者可以通過外掛的方式很方便的擴充已有 Web 應用的功能,而不需要修改原有的應用。
-
搭建方式:
Eclipse中如何建立Maven Servlet3.0/3.1環境
- 匯入環境依賴Servlet3.1Jar
- maven工程只支援Servlet2.3,所以修改配置檔案預設配置來支援Servlet3
- 進入到工程目錄下,修改org.eclipse.wst.common.project.facet.core.xml
- /.settings/org.eclipse.wst.common.project.facet.core.xml
<
install facet=”jst.web” version=”3.1”/>
- 修改配置:properties–>project facet–>Dynamic Web Module–>3.0/3.1
- refresh project + update maven project
- 注意web容器要支援servlet3,並且JDK1.7+
注意:
雖然web3.0/3.1之後可以省略web.xml檔案,但是在Eclipse中,會有一個Deployment Descriptor:your project name
這個檔案其實就相當於web.xml,如果不正確配置這個檔案,就會在工程中出現莫名的小紅叉,選擇your project,滑鼠右鍵選擇Properties,輸入facet,檢索,點選結果中的Project Faced,檢查對應的版本是否正確
- 如果持續update maven project 出現jre版本經常異常變化,可以在pom中配置compile外掛的版本,依賴jdk version固定,並且與環境一致即可
- Servlet3.0需要JDK1.7以上
附3.0/3.1對應的標頭檔案:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name>Archetype Created Web Application</display-name>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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_3_1.xsd"
version="3.1">
<display-name>Archetype Created Web Application</display-name>
</web-app>