需求:第三方提供了http api接口,我们需要将其数据全部取回来,存放到本地Mysql数据库。

开发工具是intelj idea,准备基于maven创建聚合项目,util作为工具包,单独作为一个工程,打包时打成jar包;

dao层依赖util,打包时也打成jar包;

service依赖dao层,打包时也是打成jar包;

controller层依赖service层,打包时打成war包。

1.新建root工程

File--New Project--

2.新建子module

在下图中,对着步骤一新建的root工程右击,新建module

3.分别查看root工程和子工程的pom文件

4、新建dao 子工程,依赖common-utils

在pom文件中,手动添加依赖:

5、新建service 子工程,依赖dao子工程

操作同第四步。

同样,我们要修改service的pom文件,手动加dao子工程的依赖进来。

6、新建controller工程,该工程应该为web工程,依赖service层

完成后在pom文件中增加对service的依赖。

7、测试工程是否正常

设想:因为clicent是web工程,pom文件中依赖service组件;于是---将service.jar拷贝到web/lib目录下

在本地maven找到service组件后,根据service的pom文件,发现其依赖dao组件;于是将dao.jar拷贝到web/lib目录下

在本地找到dao组件后,在其pom中,发现dao组件依赖common-utils组件;于是找到common-utils组件后,将common-utils.jar拷贝到lib目录下

在common-utils中新增一个工具方法,通过dao/service/controller层层调用,所以可以直接请求controller层,调用到utils的方法。

在client的web中新增一个servlet:

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>Simple</servlet-name>
<servlet-class>com.newthreeboard.SimpleServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Simple</servlet-name>
<url-pattern>/simple-servlet</url-pattern>
</servlet-mapping>
</web-app>

依次点击clean、compile、package后,会得到一个war包

查看打成的解压的war包目录,其lib目录下:

这边先直接拷贝到tomcat的web-apps下执行,看看效果:

启动tomcat后,

在浏览器中进行调用:

http://localhost:8080/newthreeboard-client/simple-servlet

此时页面请求后一片空白,没有任何反应,因为我们没有输出东西,但是在tomcat的界面可以看到:

至此,简单的聚合项目构建ok。

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)的更多相关文章

  1. IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目

    转自:http://www.php-note.com/article/detail/854 IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目 作者:php- ...

  2. eclipse中创建多模块maven web项目

    本文讲述在eclipse中创建分模块maven web项目. 暂时将一个项目分为controller:service:dao以及父类模块四部分. 1.创建父类模块. 创建一个简单的maven proj ...

  3. maven(二)创建一个maven的web项目中解决Cannot change version of project facet Dynamic web module to 2.5

    我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一 ...

  4. idea 创建 SSM + maven Java Web 项目流程

    idea 创建 SSM + maven Java Web 项目流程 一.idea 中选择File,New Project 新建项目 二.选择Maven,勾选上面的Create from archety ...

  5. Eclipse 构建Maven项目--普通web项目

    一.Maven项目的新建 1.鼠标右键---->New----->Maven Project 2.直接点下一步 3.选中 maven-archetype-webapp 后点击下一步 4. ...

  6. maven构建java项目、web项目

    maven构建java项目.web项目 一.mvn构建web项目 1安装mvn(包括path) 2命令:mvn archetype:create -DgroupId=cn.edu.sdau.neat ...

  7. eclipse中 将java项目转换为web项目

    来自:http://jadethao.iteye.com/blog/1331308 eclipse中 将java项目转换为web项目 1.找到项目工作空间目录,打开.project文件,并修改文件,  ...

  8. eclipse中 将java项目转换为web项目 博客分类: Tomcat

      1.找到项目工作空间目录,打开.project文件,并修改文件, 修改如下:      找到:<natures> </natures>代码段,在代码段中加入如下内容并保存: ...

  9. 【转贴】 Flex 预编译处理 与 手机项目、Web项目、Air项目自由转换

    原文连接: http://bbs.9ria.com/forum.php?mod=viewthread&tid=263350#lastpost 由于这个论坛不稳定,所以转到这里来,这个帖子蛮有用 ...

  10. 2、MyEclipse和Eclipse调优,MyEclipse配置(tomcat和jdk的内存设置),jar引入相关知识点,将Java项目编程web项目的办法

    1.WindowàPreferenceàGeneralàWorkspaceàText file encoding都改成UTF-8 2.WindowàPreferenceàGeneralàEdito ...

随机推荐

  1. windows下大文件SQL导入问题

    今天遇到了一个比较棘手的问题,SQL文件太大,导入数据库时太过于麻烦,超过1G以后nodpad.sublime等编辑器都打不开,这就有了一个比较尴尬的问题. 因为是本地测试所以环境是windows,最 ...

  2. 100个命令Linux常用命令大全

    Linux常用命令大全100条: 1,echo "aa" > test.txt 和 echo "bb" >> test.txt//>将原 ...

  3. angularjs上传图片和文件

    很简单: $scope.upload = function() { var f = $scope.myFile; var fd = new FormData(); var img = document ...

  4. FxCop卸载后依然生成文件夹的问题

    在 http://www.cnblogs.com/heroius/p/8270004.html 中,通过编辑csproj文件可以移除对旧版nuget独立程序的依赖. 实际上,通过编辑项目文件的方式可以 ...

  5. 【Linux】 linux的进程系统一点补充

    linux进程系统 ■ 程序 vs. 进程 程序静态地存放在磁盘中.用户可以触发执行程序,被触发后的程序就存进内存中成为一个个体,即为进程. 有些进程(比如crond需要每分钟都扫描.守护进程等等)是 ...

  6. STL --> list用法

    List介绍 Lists将元素按顺序储存在链表中.与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢. assign() // 给list赋值 back() // 返回最后 ...

  7. 解决图片裁剪com.android.camera.action.CROP和intent.putExtra("return-data", true);

    最近在做一个图片上传,在上传之前需要对照片进行裁剪,遇到一个坑,在别的手机上运行都正常,在小米手机上却遇见一个问题,选中图片无法裁剪,直接闪退,目前已解决!之前出过问题的地方会标红 //选择图片 pr ...

  8. python全栈开发-Day9 函数对象、函数嵌套、名称空间与作用域

    一 .函数对象 一 .函数是第一类对象,即函数可以当作数据传递 可以被引用 可以当作参数传递 返回值可以是函数 可以当作容器类型的元素 二. 利用该特性,优雅的取代多分支的if def foo(): ...

  9. c#多线程,进度条,实时给前台发送数据

    ///做了一个wpf多线程,在实际场景中利用多线程保证程序不会卡死,性能上有所提高 //启动线程处理                Thread thread1 = new Thread(Update ...

  10. web服务器学习2---httpd-2.4.29虚拟目录及访问控制

    一 创建虚拟目录 环境准备: 系统:CentOS 7.4 软件:httpd-2.4.29 1.编辑主配置文件,添加命令运行子配置文件 vi /usr/local/httpd/conf/httpd.co ...