java webroot maven_Java全栈程序员之07:IDEA中使用MAVEN构架生产级的Web项目

在上一篇我们介绍了如何在IDEA中使用MAVEN,以及如何创建依赖等。那么在这一篇中,我们就试图搭建一个生产级的解决方案,大家可以使用这个解决方案作为骨架代码来搭建自己的开发环境。

在这里,我们要完成:

创建parent,在parent里完成所有的pom依赖和定义;

创建common项目,common作为工具包而存在,被其它module所依赖;

创建dao,依赖common;

创建service,依赖dao和common;

创建web,依赖service和dao;

下面开始具体的创建过程。

1.创建Parent

所谓parent就是父工程,在这个父工程里我们需要管理所有的子Module,所以我们将其当成是一个解决方案(solution)而存在。

首先,新建project,选择maven。注意下图,不要选择archetype,

ac166c5e7209e85c6ad21070abded1ea.png

下一步,分别定义groupid,artifactid和version,

e52a349516598e23dcd8cf34822b5cea.png

默认next,

ceaa51f343dca75c39ba67bb537e6519.png

Finish之后,来到下面的界面,

8a2862d3dd90a781069d55ba59fa5660.png

2.配置Parent依赖

打开pom文件,让我们输入,

4.0.0

com.zuikc

zuikc-sln

pom

1.0.1

zuikc-common

zuikc-dao

zuikc-service

zuikc-web

1.10

3.1.0

2.2.1

1.2

1.1.2

UTF-8

javax.servlet

javax.servlet-api

${javax.servlet-version}

provided

javax.servlet.jsp

javax.servlet.jsp-api

${javax.servlet-jsp-version}

provided

javax.servlet

jstl

${jstl-version}

taglibs

standard

${taglibs-version}

org.apache.maven.plugins

maven-compiler-plugin

${java-version}

${java-version}

UTF-8

org.apache.tomcat.maven

tomcat7-maven-plugin

2.2

注意,这部分内容,

028cff71c1341a421090c2f88150c52e.png

实际是不需要我们输入的,随着我们子module的创建,idea会自动为我们生成。

下面这部分内容是定义了一些属性。由于idea默认的servlet模块是2.3的,所以需要让我们手动定义成3.1,否则我们就使用不了servlet的注解。其次,我索性将jstl也一并引入进来。

f63aab78a5d0f45e94e8321cb0d77156.png

以下这部分内容才是真正的依赖管理,

e19b2093de3cf51e7157d393302c5b6c.png

下面是定义了两个插件。第一个是java的编译版本。第二个是使用tomcat插件来运行我们即将要创建的web项目。

1cebeec4d1430b581d1440683c5267fb.png

经过上面的设置,parent部分就大功告成了。

3.创建common

Common是工具包。

在parent上右键来创建子模块。如下:

9ef0ad70732c25d536d7b4fb3e567a0f.png

注意,由于是普通jar包,所以也不要选archetype,

e37db5071ec04cdfb5922f816c68f42c.png

Next,

8ef8ee9d579ec806109498e13c76a9cb.png

Next,

fe00ab4d3be77df9b21b9730a162fb4c.png

Finish。

创建完成后长下面这样。

27bc786a87338fc20e8668b956ca4853.png

4.创建dao与service

用跟创建common一样的方法来创建dao和service,最终结果如下:

2d6fc3fc2363fa88b68ddf790f7af0a7.png

5.创建web

接着让我们来创建web。

这次我们要选择“create from archetype”,如下图选择webapp,

c99feec8cf60d15ebc9bbb9e1d684b76.png

Next,

7e07c900cb188abe882f292c38e6c633.png

Next,

db056d4a34f4af983679f561c7e277d4.png

Next,

c4281f83efdc91dd95d6e9daf73b4eaf.png

Finish,

d68b8609d04f58ad0f771d735571a973.png

这个时候,我们发现idea的控制台中有下图的generating,这个时候要等几分钟,才能将我们的web项目初始化,

bd8bd8c4c74d886c807e821db96ca451.png

当generating完毕,web项目就会被初始化为一些默认的文件夹和文件在里面。当前的项目我们暂时不需要spring和日志,所以就可以将applicaitonContext.xml和log4j.xm删除。

dcde2721fcdea987c8b808e645b89986.png

6.Web的配置

接着修改web.xml,使其支持servlet3,如下,

version="3.1" metadata-complete="false">

Maven默认的webapp模版没有创建java文件夹,让我们手动创建。手动创建完毕,发现不能在java文件夹上创建servlet,这个时候就要完成两件事情了。

b1bd574acc7b32ea9a7ace497cd25148.png

第一件事情,要将java文件夹标注为:sources root,

93a4f40961b2797832677ea188793bb8.png

第二件事情要配置web的pom文件,加入对servlet3模版的支持,如下:

zuikc-sln

com.zuikc

1.0.1

4.0.0

war

zuikc-web

zuikc-web

com.zuikc

zuikc-dao

1.0.1

compile

javax.servlet

javax.servlet-api

provided

javax.servlet.jsp

javax.servlet.jsp-api

provided

javax.servlet

jstl

taglibs

standard

org.apache.tomcat.maven

tomcat7-maven-plugin

7070

/

在这个pom文件中,一是完成了servlet3的支持,而是让项目引入引入tomcat的插件,并指定项目在7070端口上启动。

这个时候,还是发现不能在java上创建servlet,没事,只要使用maven的reimport刷新一下就行了,如下:

3c296bd86901a34d2f0dc3de6b70a670.png

这个时候,就可以在java上创建servlet了,

fd6da39378dde7f91a2308d88b7c47c9.png

Next,

82bec17bbff35de48799d264a66eb8d2.png

最后ok,可以看到,

a9eab9781fbffff4dd72d13e661d2b9d.png

让我们修改servlet,

package com.zuikc.servlets;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet(name= "Servlet1", urlPatterns = "/servlet1")public classServlet1 extends javax.servlet.http.HttpServlet {protected voiddoPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}protected voiddoGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//通知浏览器浏览器用utf8来解析返回的数据

response.setHeader("Content-type", "text/html;charset=UTF-8");//使用UTF-8转码

response.setCharacterEncoding("UTF-8");

response.getWriter().append("码农星球最课程,IT培训新选择!");

}

}

7.配置启动

我们要配置用maven启动项目。如下:

25e27a2d682cea180a999b5200ac17bc.png

确定。

然后点击run,就可以运行项目了,

620ebe7dd301fc402bd36b21e594e4e7.png

注意,我们初次创建,会从maven仓储中下载不少文件,如下图所示

6318de3af311e4cd0ddea5f8641e7b1f.png

其次,run之前需要我们将项目本身install到maven的本地仓储中。还记得上一篇中我们是怎么install的吗?来来,只要在sln上install就可以了,

95ee53a0be9e1addd6dfc9d8f6b483c0.png

看到这些,就表示成功了,

69229b33c7a7e26ba4610d725a748a62.png

现在,让我们run这个web项目,看到这个熟悉的界面,就说明tomcat启动成功,

d0e28c390c8229555fffca4c8069e355.png

来,让我们localhost:7070/servlet1吧,

1889fdff339f7e194d6ed9152efe7e6d.png

感谢关注“码农星球”。本文版权属于“码农星球”。我们提供咨询和培训服务,关于本文有任何困惑,请关注并联系我们。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值