手摸手使用IDEA创建多模块(maven)项目
创始人
2024-02-21 03:41:09

有了前面两篇手摸手打底,相信大家对IDEA创建项目和配置使用maven已经没有什么问题了。那么这篇文章阅读起来也会非常流畅。

对于IDEA来说,可以用拼接模块(Module)并引用的方式来“搭”一个项目(Project)。

1. 创建一个空的项目(empty project)。

空项目的项目结构:

 

 

 2. 你会注意到新建空项目只需要起一个名字,设置连Java SDK都不用选。这显然是不太可能的。所以啊,新建完空项目后,马上进入project sturcture...进行项目的相关设置。

可以看到目前SDK根本没有设定。

 

这里请一定进行配套的设置。SDK选择1.8,Language Level 选择8。

 3. 接下来添加模块

添加的第一个模快,创建的方式用maven。模块的名字叫dao_mod,选择的模板是quickstart,不用忘了最下方设置包名,不然会使用默认的org.example

4.接下来继续添加service_mod模块,方式和dao_mod 一模一样。

5.最后添加web_mod模块,与前两个不一样的是,它的模板是webapp。 

6.添加完毕后看一下项目结构。

 

 一个空项目下面有3个模块(module)。

7. 在dao_mod中添加MyDao

项目结构:

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

 代码是玩具代码。

8.在service_dao中添加MyService

项目结构MyDao类似,代码也是玩具代码:

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

这里需要注意的是MyService内部引用了MyDao,但是模块与模块之间不像包与包之间导入就可以,而是要建立模块与模块之间的依赖(Dependency),也就是service_mod依赖于dao.mod。

9.在web_mod中要添加MyServlet。添加前要做两件事:1.这是一个webapp模板,所以要添加名为java的源代码目录;2.这是maven构建的模块,通过maven引入比用的jar文件,包括servlet,jstl和standard。

编辑pom.xml,添加需要导入jar文件的。 

javax.servletjavax.servlet-api4.0.1provided

javax.servletjstl1.2

taglibsstandard1.1.2

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 {@Overrideprotected 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);}@Overrideprotected 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" %>


Hello

JSP避免出现问题的前提条件是web_mod中有jstl.jar和standard.jar。

12.修改web.xml,将默认的动态网络模块从2.3改写为3.0


Archetype Created Web Application

13.万事俱备,只欠Tomcat。添加TOMCAT的相关配置,配置细节与前面两篇一样,server和deployment都需要配置。

14.启动项目

默认进入http://localhost:8080,会显示index.jsp的相关内容。

修改url,进入http://localhost:8080/test,会显示hello piglite

---------------------------------------------------------------------------------------------------------------------------------

写在最后。

创建模块的时候,不使用maven构建,而创建普通的Java模块也是没有问题。模块其实就可以视为单独且功能完整的“小型程序”。普通Java模块编写时需要第三方的Jar就需要手动设置,maven在这方面相对方便一些。

相关内容

热门资讯

2022广东高考作文(精彩6... 2022广东高考作文 篇一:《科技对社会的影响》随着科技的不断发展,它对社会产生了巨大的影响。科技的...
高考话题作文素材:勇敢的马拉... 高考话题作文素材:勇敢的马拉拉 篇一马拉拉(Malala Yousafzai)是一位来自巴基斯坦的女...
高考英语作文加分句型【精选3... 高考英语作文加分句型 篇一:提出观点类题目Should students be allowed to...
高考热点人物素材(精选6篇) 高考热点人物素材 篇一高考热点人物:李华的励志故事李华,一个来自农村的普通高中生,以其坚持不懈的努力...
优秀高考作文(实用6篇) 优秀高考作文 篇一:坚持与改变的艺术在人类历史的长河中,坚持与改变是两个永恒的主题。而在我们的成长过...