創建Maven Web項目
new project——maven——勾選 create from archetype 選中webapp
下一步 (圖略)填寫項目的 groupId artifactId version 后Next 出現以下界面
Next后添加項目名稱 Finish
第一次使用時,可能需要下載archetype webapp的插件 有時候網絡不好 可能需要很長時間 不過以后就好了
此時的項目已經是Maven的 webapp項目了
這個時候IDE還有緩存,需要在右側Maven project中 刷新一下,加載pom中的配置
(以后在pom中添加jar的依賴后,都要點擊maven project的刷新按鈕 刷下緩存)
這個時候Maven webapp項目就徹底創建好了 不需要再在project structure進行配置了
如下兩圖,都是默認給配置好的,不需要進行修改
關於Maven Web項目的配置說明
Project Structure中Artifaces的配置
如上圖所示,在Aritifaces中有兩個war,一個是war 一個是war exploded,在配置服務器時需要選擇war exploded
千萬要注意,這兩個war都不應該是自己添加的,而是根據maven中的配置自己生成的
之前沒有這兩個war的時候,我都是自己創建,往往后果就是項目在編譯后缺少jar包,依賴的jar沒有自動拷貝
其實Intellij中的mavan項目配置,都是依賴於pom中的配置,如果pom中的配置正確,就不需要修改項目的IDE配置
-
首先pom要有<packaging>war</packaging>,如果pom中配置了這個,Aritifaces就會有上面的兩個war
-
其次pom要有<build> <finalName>test</finalName> </build> 這個關系到上圖中的output directory中的配置,finalName作為target下的項目目錄,以及會創建對應名字的war包(比如test.war)
接着新建servlet
若新建servlet時,沒有servlet選項,則在maven導入
刷新項目,則出現servlet選項。
import java.io.IOException;
import java.util.Date;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response){
try {
response.getWriter().println("<h1>Hello Servlet!</h1>");
response.getWriter().println(new Date().toLocaleString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
修改web.xml,添加/hello映射
<
web-app
>
<
display-name
>Archetype Created Web Application</
display-name
>
<
servlet
>
<
servlet-name
>HelloServlet</
servlet-name
>
<
servlet-class
>HelloServlet</
servlet-class
>
</
servlet
>
<
servlet-mapping
>
<
servlet-name
>HelloServlet</
servlet-name
>
<
url-pattern
>/hello</
url-pattern
>
</
servlet-mapping
>
</
web-app
>
接着配置tomcat服務器
在配置服務器時需要選擇war exploded 上面已經提過了。
其他都使用默認配置
參考博客:http://how2j.cn/k/idea/idea-maven-web/1356.html#nowhere
https://yq.aliyun.com/articles/326771
歡迎大家關注我的微信公眾號,獲取你不知道的寶藏。