在idea中使用maven創建項目及相關注意事項

軟件環境

  • idea2019.2.4
  • maven3.6.2

創建項目

在這裏插入圖片描述
不勾選從骨架創建,點擊「next」
在這裏插入圖片描述
從骨架創建:就是把一些重複且需要用的東西提取出來,做成一個模板使用,相當於對項目的一個封裝
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
上圖的初始目錄結構就是所有使用 maven 的 IDE 都會自動生成的結構,但要注意這還不是 web 項目的結構,要想開發 web 項目,還需要手動加一些東西,如下圖
在這裏插入圖片描述
下面是刷新之後,webapp 目錄的圖標變化後的樣子
在這裏插入圖片描述
上面只是第一步,要想開發 web 項目,還需要加一些東西
在這裏插入圖片描述
關於自動生成 web.xml 文件,請點擊這裏,做到這一步,仍然沒有結束,因爲我們還無法訪問 index.jsp 這個文件,因爲缺少 servlet,所以我們還要寫 servlet 文件
在這裏插入圖片描述
繼承報錯:因爲我們的項目還沒有添加對 servlet 的依賴,從項目創建到現在,依賴的只有 jdk,所以還需要在 pom.xml 文件中添加對 servlet 的依賴

如果創建項目時,選擇了從骨架創建,則項目會自動幫我們寫一些依賴,但不一定有 servlet,如果需要的話,還是要手動添加
在這裏插入圖片描述
從下圖可以看出,jar 包的路徑就是由 groupId、artifactId 和 version(GAV)所組成的路徑
在這裏插入圖片描述
在這裏插入圖片描述
但要注意,直接查看裏面的類,看到的是編譯後的 .class 文件,而不是源代碼,要看源代碼,點擊 Download Sources 即可

接下來就是將 HelloServlet 類和 web.xml 中的內容補充完整

package com.lwx.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class HelloServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.getRequestDispatcher("/index.jsp").forward(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    }
}
<?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_4_0.xsd"
         version="4.0">
    
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>com.lwx.servlet.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <!-- 
        	servlet 前面的 / 代表根目錄
        	項目啓動後,在瀏覽器輸入 http://localhost:8080/hellomaven_war_exploded/servlet/hello 即可訪問 index.jsp 頁面
        	hellomaven_war_exploded 這個是可以自己定義的
        -->
        <url-pattern>/servlet/hello</url-pattern>
    </servlet-mapping>
</web-app>

使用 maven 將項目打包成 war 包:點擊 idea 底部的 Terminal,輸入 mvn package 命令,看到 BUILD SUCCESS 的提示後,點擊一下項目名,項目下就會出現一個 target 文件夾(打包的過程包含了編譯)
在這裏插入圖片描述
要想清楚 target,則可以使用 mvn clean 命令

需要明確的一點是:使用 mvn 命令,只要裝了 maven 即可,不需要其它的環境

最後就是把 servlet 跑起來了,配置一下 Tomcat 即可
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在開發過程中,我們一般選擇以 war explored 的形式部署,因爲這種部署方式支持熱部署
在這裏插入圖片描述
啓動 Tomcat,訪問 index.jsp
在這裏插入圖片描述

發佈了178 篇原創文章 · 獲贊 165 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章