最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

手把手教你使用IDEA創(chuàng)建多模塊(maven)項目

 更新時間:2023年07月05日 09:52:39   作者:哦...  
這篇文章主要給大家介紹了關(guān)于如何使用IDEA創(chuàng)建多模塊(maven)項目的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

有了前面兩篇手摸手打底,相信大家對IDEA創(chuàng)建項目和配置使用maven已經(jīng)沒有什么問題了。那么這篇文章閱讀起來也會非常流暢。

對于IDEA來說,可以用拼接模塊(Module)并引用的方式來“搭”一個項目(Project)。

1. 創(chuàng)建一個空的項目(empty project)

空項目的項目結(jié)構(gòu):

2. 你會注意到新建空項目只需要起一個名字,設(shè)置連Java SDK都不用選

這顯然是不太可能的。所以啊,新建完空項目后,馬上進(jìn)入project sturcture...進(jìn)行項目的相關(guān)設(shè)置。

可以看到目前SDK根本沒有設(shè)定。

這里請一定進(jìn)行配套的設(shè)置。SDK選擇1.8,Language Level 選擇8。

3. 接下來添加模塊

添加的第一個???,創(chuàng)建的方式用maven。模塊的名字叫dao_mod,選擇的模板是quickstart,不用忘了最下方設(shè)置包名,不然會使用默認(rèn)的org.example

4.接下來繼續(xù)添加service_mod模塊

方式和dao_mod 一模一樣

5.最后添加web_mod模塊

與前兩個不一樣的是,它的模板是webapp

6.添加完畢后看一下項目結(jié)構(gòu)

 一個空項目下面有3個模塊(module)。

7. 在dao_mod中添加MyDao

項目結(jié)構(gòu):

package org.piglite;
public class MyDao {
    public String getUsernameById(int id){return "piglite";}
}

 代碼是玩具代碼。

8.在service_dao中添加MyService

項目結(jié)構(gòu)MyDao類似,代碼也是玩具代碼:

package org.piglite;
public class MyService {
    private MyDao mydao = new MyDao();
    public String getUsernameById(int id){return mydao.getUsernameById(id);}
}

這里需要注意的是MyService內(nèi)部引用了MyDao,但是模塊與模塊之間不像包與包之間導(dǎo)入就可以,而是要建立模塊與模塊之間的依賴(Dependency),也就是service_mod依賴于dao.mod。

9.在web_mod中要添加MyServlet

添加前要做兩件事:1.這是一個webapp模板,所以要添加名為java的源代碼目錄;2.這是maven構(gòu)建的模塊,通過maven引入比用的jar文件,包括servlet,jstl和standard。

編輯pom.xml,添加需要導(dǎo)入jar文件的<dependency>。 

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
<dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
</dependency>
 

10.在web_mod的java源文件目錄下新建MyServlet:

 
import org.piglite.MyService;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
@WebServlet(value = "/test")
public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        MyService service = new MyService();
        String name = service.getUsernameById(1);
        request.setAttribute("name",name);
        request.getRequestDispatcher("hello.jsp").forward(request,response);
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }
}

11.編寫hello.jsp

<%@page contentType="text/html; UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<h2>Hello <c:out value="${name}"/> </h2>
</body>
</html>

JSP避免出現(xiàn)問題的前提條件是web_mod中有jstl.jar和standard.jar。

12.修改web.xml,將默認(rèn)的動態(tài)網(wǎng)絡(luò)模塊從2.3改寫為3.0

<?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>

13.萬事俱備,只欠Tomcat

添加TOMCAT的相關(guān)配置,配置細(xì)節(jié)與前面兩篇一樣,server和deployment都需要配置。

14.啟動項目

默認(rèn)進(jìn)入http://localhost:8080,會顯示index.jsp的相關(guān)內(nèi)容。

修改url,進(jìn)入http://localhost:8080/test,會顯示hello piglite

寫在最后

創(chuàng)建模塊的時候,不使用maven構(gòu)建,而創(chuàng)建普通的Java模塊也是沒有問題。模塊其實就可以視為單獨且功能完整的“小型程序”。普通Java模塊編寫時需要第三方的Jar就需要手動設(shè)置,maven在這方面相對方便一些。

到此這篇關(guān)于手把手教你使用IDEA創(chuàng)建多模塊(maven)項目的文章就介紹到這了,更多相關(guān)IDEA創(chuàng)建多模塊maven項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中堆和棧的區(qū)別詳解

    Java中堆和棧的區(qū)別詳解

    這篇文章主要介紹了Java中堆和棧的區(qū)別詳解,所有的Java程序都運行在JVM虛擬機(jī)內(nèi)部,我們這里介紹的自然是JVM(虛擬)內(nèi)存中的堆和棧,需要的朋友可以參考下
    2015-01-01
  • SpringBoot系列教程之防重放與操作冪等

    SpringBoot系列教程之防重放與操作冪等

    同一條數(shù)據(jù)被用戶點擊了多次,導(dǎo)致數(shù)據(jù)冗余,需要防止弱網(wǎng)絡(luò)等環(huán)境下的重復(fù)點擊,下面這篇文章主要給大家介紹了關(guān)于SpringBoot系列教程之防重放與操作冪等的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Java?Hibernate中一對多和多對多關(guān)系的映射方式

    Java?Hibernate中一對多和多對多關(guān)系的映射方式

    Hibernate是一種Java對象關(guān)系映射框架,支持一對多和多對多關(guān)系的映射。一對多關(guān)系可以使用集合屬性和單向/雙向關(guān)聯(lián)來映射,多對多關(guān)系可以使用集合屬性和中間表來映射。在映射過程中,需要注意級聯(lián)操作、延遲加載、中間表的處理等問題
    2023-04-04
  • Java并發(fā)CopyOnWrite容器原理解析

    Java并發(fā)CopyOnWrite容器原理解析

    這篇文章主要介紹了Java并發(fā)CopyOnWrite容器原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • RestTemplate對HttpClient的適配源碼解讀

    RestTemplate對HttpClient的適配源碼解讀

    這篇文章主要為大家介紹了RestTemplate對HttpClient的適配源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Java Switch對各類型支持實現(xiàn)原理

    Java Switch對各類型支持實現(xiàn)原理

    這篇文章主要介紹了Java Switch對各類型支持實現(xiàn)原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • SpringBoot是如何使用SQL數(shù)據(jù)庫的?

    SpringBoot是如何使用SQL數(shù)據(jù)庫的?

    今天給大家?guī)淼氖顷P(guān)于Springboot的相關(guān)知識,文章圍繞著SpringBoot是如何使用SQL數(shù)據(jù)庫的展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java高級之虛擬機(jī)加載機(jī)制的實例講解

    Java高級之虛擬機(jī)加載機(jī)制的實例講解

    下面小編就為大家分享一篇Java高級之虛擬機(jī)加載機(jī)制的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • SpringBoot使用@EnableAutoConfiguration實現(xiàn)自動配置詳解

    SpringBoot使用@EnableAutoConfiguration實現(xiàn)自動配置詳解

    你有想過SpringBoot為什么能夠自動的幫我們創(chuàng)建一個Bean對象么?或許在我們使用的時候只需要在自己自定義的配置文件中加入@Bean對象就可以,但SpringBoot是如何來創(chuàng)建的呢
    2022-08-08
  • Java并發(fā)(Runnable+Thread)實現(xiàn)硬盤文件搜索功能

    Java并發(fā)(Runnable+Thread)實現(xiàn)硬盤文件搜索功能

    這篇文章主要介紹了Java并發(fā)(Runnable+Thread)實現(xiàn)硬盤文件搜索,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01

最新評論

古浪县| 宿迁市| 科技| 姚安县| 刚察县| 赫章县| 林西县| 保德县| 论坛| 平昌县| 江油市| 金门县| 丹东市| 荔浦县| 伊春市| 塔河县| 本溪市| 南靖县| 当雄县| 乳山市| 沽源县| 汤阴县| 莲花县| 越西县| 和静县| 清水县| 柯坪县| 双辽市| 海南省| 鲜城| 葫芦岛市| 湛江市| 高淳县| 淳安县| 伊宁市| 霞浦县| 政和县| 大港区| 夹江县| 玉屏| 平远县|