• 利用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%in

    至此,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 FilesJavajdk1.8.0_91jre
    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 epository</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 o.e.j.m.p.JettyWebAppContext@12db3386{/,file:///E:/myeclipse/spring-mvc-study/src/main/webapp/,AVAILABLE}
    {file:///E:/myeclipse/spring-mvc-study/src/main/webapp/}
    [INFO] Started ServerConnector@6296474f{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用例编写完毕

  • 相关阅读:
    java集合总结
    css基础:块级元素与行内元素
    第九周web作业:history of grammar
    正则表达式(regular expression rules)
    用indexOf查找字符出现次数
    DOM与BOM的概念
    css的单位以及调色法
    获取登录cookieColletion在cef里面打开网页
    引用CefSharp编译支持AnyCpu的办法
    解决H5移动端history.back无效
  • 原文地址:https://www.cnblogs.com/withscorpion/p/5621838.html
Copyright © 2020-2023  润新知