1.2 在IDEA中使用Maven编写一个Servlet项目(IDEA+Maven)

1.2 在IDEA中使用Maven编写一个Servlet项目


1.2.1 Maven的下载和安装

1. 下载Maven

Mavne我这里用的是 Mavne 3.6.1,下载直接在官网下载就好了,这里就不多提了。
在这里插入图片描述
需要说的一点是,咱们电脑上,一定要有下载配置好的jdk。
.
2. Maven环境配置
打开电脑的环境变量,新建:

变量名: M2_HOME
变量值: E:\Computer_App\Java\apache-maven-3.6.1 //就是你解压的Maven的路径

在这里插入图片描述
在Path变量中添加:

%M2_HOME%\bin

在这里插入图片描述
3. 测试是否成功
到这里,maven就算是安装完成了,可以通过DOS命令验证一下是否安装成功
(如果安装成功是会出现版本号的,如果没有出现就应该是前面的步骤出错了):
在这里插入图片描述
.
.

1.2.2 Maven配置

1. 本地仓库
电脑上是有的仓库的,但是是在C盘里,容易丢失,所以我们自己新建一个仓库。
在存放Maven文件的母文件下,新建mavenRepository文件夹,作为Maven的本地仓库
在这里插入图片描述
2. 配置Maven的 settings.xml配置文件

settings.xml文件在Maven文件下的conf文件里。这里,我们需要配置两个点:

  1). 添加本地仓库配置
  <localRepository>仓库地址</localRepository>

  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  -->
  <!--这里添加本地仓库配置的路径-->
  <localRepository>E:\Computer_App\Java\mavenRepository</localRepository>
	2). 配置阿里云的中央仓库
	因为使用它自带访问国外的网站,下载会很慢,我已我们配置一下,让他访问国内阿里云的中央仓库。

  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
     <!--阿里云的中央仓库-->
    <mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
  </mirrors>

.
.

注:没有网的话是没办法访问阿里云的中央仓库网站的,也就没有办法继续下面的步骤了

.
.
.
3. 我们在用DOS命令来测试一下

mvn help:system

在这里插入图片描述
到这里,咱们的Mavne配置也就算完成了
.
.
.

1.2.3 在IDEA中使用Maven编写一个Servlet项目

1. 更改IDEA的默认maven配置和仓库

在这里插入图片描述
在这里插入图片描述
.
.
2. 新建一个Maven项目

在这里插入图片描述
在这里插入图片描述
已经设置好IDEA的默认了,所以下一步基本不用改动
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
OK!创建成功
.
.

3. 新建一个Maven项目

创建成功的项目目录结构所有缺失,我们需要手动创建完成。
   在main目录下分别创建java和resources文件夹。
   同样在main下新建test测试文件夹,再在此文件夹下新建Java测试源码文件夹和resource测试资源文件夹。
 如图:
在这里插入图片描述
 建里好缺失的文件夹以后,我们还需要更改新建的文件夹的 作用:
在这里插入图片描述
  更改完成以后的样式:
在这里插入图片描述
.
.
4. 配置相关的依赖包

首先咱们需要配置一下Tomcat的依赖包:
在这里插入图片描述

<!--配置Tomcat插件-->
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <port>8888</port> <!-- 访问端口-->
                <path>/MavenDemo</path>    <!-- 访问路径-->
            </configuration>
        </plugin>

然后,我们还需要用到Servlet的依赖包:
在这里插入图片描述

<!--servlet依赖包-->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>

.
.
5. 接下来,就可以编写我们的Servlet测试类了
首先,在 src ->main ->java路径下创建一个包 cn.corey 用于创建测试类
这里,咱们还是创建一个ServletDemo,输出“HelloMaven”:

package cn.corey;

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 ServletDemo extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().println("HelloMaven");
    }
}

.
6. 进行测试
测试之前呢,我们还要配置一下Maven的服务器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置完成。
启动服务器:
在这里插入图片描述

在浏览器上访问ServletDemo:
在这里插入图片描述
访问成功

到这里,我们的在IDEA中使用Maven编写的一个Servlet项目也就算是完成了

发布了5 篇原创文章 · 获赞 7 · 访问量 249

猜你喜欢

转载自blog.csdn.net/Corey__Zhang/article/details/104706282
1.2