利用maven构建一个spring mvc的helloworld实例

刚开始学习maven和spring mvc,学的云里雾里的

这里提供一个hello world实例,记录自己的学习之路

首先看maven官网的介绍

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project‘s build, reporting and documentation from a central piece of information.

Maven 是一个项目管理和构建自动化工具。但是对于我们程序员来说,我们最关心的是它的项目构建功能。所以这里我们介绍的就是怎样用 maven 来满足我们项目的日常需要。
Maven 使用惯例优于配置的原则 。

Maven 的安装

Maven 官网的下载链接是 : http://maven.apache.org/download.html 。
下载后可以解压至C盘,比如我的是C:\apache-maven-3.3.9

截至本篇博文书写之前,maven最新版是3.3.9

然后配置环境变量:M2_HOME   配置的值为C:\apache-maven-3.3.9,也就是你maven的解压目录

然后再path路径配置入%M2_HOME%\bin

至此,maven安装完毕

安装完成后,在命令行运行下面的命令:

$ mvn -v

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: C:\apache-maven-3.3.9
Java version: 1.8.0_91, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_91\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"

到这一步,我们先不急着进入下一步,安装还只进行了一半

maven的默认配置文件在maven安装根目录下的conf目录里面的settings.xml

我们将此文件拷贝到用户目录下面的.m2目录里面,并用文本编辑器打开

修改里面的字段

<localRepository>E:\maven\repository</localRepository>

此字段代表maven的仓库配置,maven会将所有的依赖下载到这里

接下来是镜像,经过测试,位于UK的这个镜像仓库下载速度比较理想,可以参考以下配置

<mirrors>
 <mirror>
      <id>UK</id>
      <name>UK Central</name>
      <url>http://uk.maven.org/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
 </mirrors>

接下来我们用 maven 来建立最著名的“Hello World!”程序 :)

1.创建一个web项目,可以利用以下命令创建一个web项目

mvn archetype:generate -DgroupId=top.scorpion.springmvc -DartifactId=springmvc -DarchetypeArtifactId=maven-archetype-webapp

先不要在意上面的参数是干什么的,我们先在命令行里面运行

这里需要注意,我们可以在命令行里面将目录切换至myeclipse的工程目录下

我们等一下将会利用myeclipse创建一个springmvc项目

首次运行上面的命令可能需要大概5分钟时间,运行完后,会在你当前的目录下创建一个java web项目,并在你的maven仓库下载一些基础的依赖文件

2.将我们创建的项目导入myeclipse

在myeclipse的项目浏览视图点击右键,选择import,导入maven project

将我们刚才创建的额maven项目导入

导入后我们需要配置一下,首先是myeclipse

假如myeclipse没有集成maven插件,我们可以百度一下,将此插件安装

目前,我用的myeclipse2015已经集成了这个插件

这样,我们就可以在myeclipse里面配置我们自己的maven了

点击window--preferences如图

配置好后我们就需要配置maven的核心文件了pom.xml,加入一些依赖,并配置一些启动参数

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>imooc-arthur</groupId>
  <artifactId>spring-mvc-study</artifactId>
  <version>1.0-SNAPSHOT</version>
  <name>spring-mvc-study Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
    </dependency>

    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>${commons-lang.version}</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
        <exclusions>
            <exclusion>
                <artifactId>slf4j-api</artifactId>
                <groupId>org.slf4j</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
  </dependencies>

  <properties>
      <commons-lang.version>2.6</commons-lang.version>
      <slf4j.version>1.7.21</slf4j.version>
      <spring.version>4.3.0.RELEASE</spring.version>
  </properties>

  <dependencyManagement>
      <dependencies>
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-framework-bom</artifactId>
              <version>${spring.version}</version>
              <type>pom</type>
              <scope>import</scope>
          </dependency>
      </dependencies>
  </dependencyManagement>

  <build>
      <plugins>
          <plugin>
              <groupId>org.eclipse.jetty</groupId>
              <artifactId>jetty-maven-plugin</artifactId>
              <version>9.3.10.v20160621</version>
        </plugin>
      </plugins>
      <finalName>spring-mvc-study</finalName>
  </build>

</project>

配置完pom.xml后,我们还需要配置springmvc的配置文件mvc-dispatcher-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context.xsd
         http://www.springframework.org/schema/aop
         http://www.springframework.org/schema/aop/spring-aop.xsd
         http://www.springframework.org/schema/mvc
         http://www.springframework.org/schema/mvc/spring-mvc.xsd
         http://www.springframework.org/schema/tx
         http://www.springframework.org/schema/tx/spring-tx.xsd">
    <context:annotation-config/>
        <context:component-scan base-package="top.scorpion.mvcdemo.controller">
            <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        </context:component-scan>

        <mvc:annotation-driven/>
    <!-- 这里我们指定了view视图层的定义-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/WEB-INF/jsps/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>   

当然我们的核心文件web.xml

<!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>mvc-dispatcher</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

      <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>/WEB-INF/configs/spring/mvc-dispatcher-servlet.xml</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
      <servlet-name>mvc-dispatcher</servlet-name>
      <url-pattern>/</url-pattern>
  </servlet-mapping>

</web-app>

在web.xml中我们指定了springmvc的核心配置文件的目录/WEB-INF/configs/spring/mvc-dispatcher-servlet.xml

以及mvc-dispatcher

最后我们可以编写一个测试用例hellospringmvc

package top.scorpion.mvcdemo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/hello")
public class HelloMvcController
{
    @RequestMapping("/mvc")
    public String HelloMvc()
    {
        return "home";
    }
}

至此,所有配置文件和测试用例准备完毕

接下来我们要运行我们的测试用例

我们在pom.xml中配置了一个web容器,jetty

jetty可以运行我们的web app

打开命令行,进入工程目录,输入mvn jetty:run

当出现如下代码,说明我们的依赖以及jetty已经正确配置

[INFO] jetty-9.3.10.v20160621
[INFO] No Spring WebApplicationInitializer types detected on classpath
log4j:WARN No appenders could be found for logger (org.springframework.web.servlet.DispatcherServlet).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
[INFO] Initializing Spring FrameworkServlet ‘mvc-dispatcher‘
[INFO] Started [email protected]{/,file:///E:/myeclipse/spring-mvc-study/src/main/webapp/,AVAILABLE}
{file:///E:/myeclipse/spring-mvc-study/src/main/webapp/}
[INFO] Started [email protected]{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
[INFO] Started @5910ms
[INFO] Started Jetty Server

这样maven就会自动下载我们配置的依赖已经启动jetty

然后在浏览器输入http://localhost:8080/hello/mvc

至此,hello world用例编写完毕

时间: 2024-08-07 17:02:37

利用maven构建一个spring mvc的helloworld实例的相关文章

使用Maven创建一个Spring MVC Web 项目

使用Maven创建java web 项目(Spring MVC)用到如下工具: 1.Maven 3.2 2.IntelliJ IDEA 13 3.JDK 1.7 4.Spring 4.1.1 released 5.Tomcat7 6.Logback 1.0.13 日志输出组件 接下来开始演示如何用Maven模板创建web项目 1.使用maven-archetype-webapp模板快速创建web项目的骨架结构 打开控制台,进入到你想要创建web项目的目录,然后运行如下命令: 1 $ mvn ar

Maven新建一个Spring MVC项目

新建一个Maven项目,选择archetypes为maven-archetype-webapp,相关的名称按个人习惯取,我这里取Group Id:moonlit-groupArtifact Id:moonlit-artifact然后一个新的maven webapp项目就见成了,你可以在Eclipse左侧的Project Explorer中看到一个项目名为moonlit-artifact,这个即是我们新间的项目的名称.新建完项目之后会发现项目有个红叉,一直追溯过去会发现是webapp目录下的ind

Maven 工程下 Spring MVC 站点配置 (三) C3P0连接池与@Autowired的应用

Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 前两篇文章主要是对站点和数据库操作配置进行了演示,如果单单实现这两个需求的话,那么基本足够,但是很多时候一个网站除了仅仅能够访问数据库是不够的,它还需要对性能以及更简化的步骤有着更多的要求,这一篇重点就是帮助我们如何去实现数据连接池管理与更简化便利的开发步骤. 如果你觉得自己能写出更高效率的连接池,那你可以不需要这篇文章了,我更建议你可以去开源组织毛遂自

第一个Spring MVC程序

最近公司项目要开始使用Spring MVC替代Struts2了,就学习了一下Spring MVC的使用.这是第一个Spring mvc程序,分别使用xml和注解两种方式. 一.使用xml格式进行构建 1.使用SpringMVC,首选需要在web.xml中配置拦截器和过滤器 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XM

Myeclipse/STS 首次在本地部署配置一个Spring MVC 项目 (十二)

1. 在本地新创建一个文件夹 ,做为项目工作空间; 2. 用 Myeclipse 或 STS 进入该文件夹,该文件夹就成为项目的工作空间: 3. 就要进 窗口-首选项,配置: 环境默认编码: 1>. 常规下面 内容类型 .txt 文本 UTF-8 更新 2>. 常规 – 工作空间 , 文本文件编码 3>. 常规 – 编辑器 – 文本编辑器 – 拼写 配置 java JDK 为 项目需要的版本 比如 (1.7) : 配置 Myeclipse 下的 Servers 及 validation 

利用反射模拟一个spring的内部工作原理

这个简单的案例是实行了登录和注册的功能,没有链接数据库. 在bean中id 是唯一的,id和name的区别在于id不能用特殊字符而name可以用特殊字符,比如:/-\.... 1 package com.obtk.reflect; 2 3 public class Logon { 4 /** 5 * 帐号密码长度大于六位字符就成功,否则失败! 6 * */ 7 public String select(String name, String pass) { 8 if (name.length()

快速构建一个Spring Boot+MyBatis的项目IDEA(附源码下载)

如何快速构建一个Spring Boot的项目 工具 idea JDK版本 1.8 Spring Boot 版本 1.5.9 环境搭建实现:最基础前端可以访问到数据库内的内容 开始 IDEA 内部新建一个项目,项目类型选择Spring Initializr,Project SDK选择适合你当前环境的版本,这里我选择的是1.8(Spring Boot 2.0以上的版本,JDK选择请选择1.8即以上版本),构建服务选择默认就好,点击Next 填写Group和Artifact(此处我使用的是默认,请根据

Maven构建的Spring项目需要哪些依赖?

Maven构建的Spring项目需要哪些依赖? <!-- Spring依赖 --> <!-- 1.Spring核心依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.7.RELEASE</version> </dependency

利用Dockerfile构建一个基于CentOS 7镜像

利用Dockerfile构建一个基于CentOS 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像. Dockerfile内容如下: FROM centosMAINTAINER Victor [email protected]WORKDIR /rootRUN rm -f /etc/yum.repos.d/*RUN  echo '[BASE]' > /etc/yum.repos.d/base.repoRUN  echo 'name=base' >> /etc