1.IDE说明和依赖管理工具说明

开发工具:intellij idea

依赖管理使用:maven

2.创建maven工程

创建新的maven工程,并添加相应的文件夹,创建好的项目目录如下所示:

3.添加SpringMVC相关依赖

在pom.xml中添加SpringMVC所需依赖。将以下代码添加到pom.xml中:

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

在springmvc的依赖中内部依赖了Spring-bean,Spring-core等依赖,所以不需要额外添加其他Spring依赖包。具体依赖关系可以使用

mvn dependency:analyze
mvn dependency:tree

命令来分析依赖关系。

4.在web.xml中添加Context加载监听器和访问路由相关配置

在web.xml中添加以下配置代码:

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
//用于加载spring配置文件的监听器
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>applicationContext</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>applicationContext</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>

第一个监听器用于加载spring配置文件,其中context-param中指定了配置文件的路径。

applicationContext中指定了所有.htm结尾的访问都使用springMVC来进行路由分发。

5.添加Spring和SpringMVC配置文件

1.在resource文件夹中添加applicationContext.xml配置文件,并添加以下配置:

<context:annotation-config/>// 开启spring注解配置
<mvc:annotation-driven></mvc:annotation-driven>//开启mvc注解配置,用于识别controller等注解
<context:component-scan base-package="com.springmvc.study.*"></context:component-scan>// 配置扫描的包

2.在WEB_INF文件夹下添加applicationContext-servlet.xml配置文件,此文件名命名规则为:第三步骤中添加的applicationContext名称-servlet。

此文件中可以不添加内容,但文件是必须的,否则启动时会报file not found错误

6.添加Controller文件

在src/main/java文件下新建java类,如:HelloWorldController,并添加以下代码:

@Controller
@RequestMapping(value = "/first")
public class HelloWorldController { @ResponseBody
@RequestMapping(value = "/helloworld")
public String helloWorld(){
return "hello world!";
}
}

所有文件添加完成后项目目录截图如下所示:

7.测试

在tomcat中启动此项目后,在浏览器中输入:

http://localhost:8083/first/helloworld.htm

可看到输出的hello world!;

第一个spring mvc项目完成!

SpringMVC创建HelloWorld程序的更多相关文章

  1. 001 SpringMVC的helloWorld程序

    一:helloworld程序 1.结构目录 2.添加lib包 3.在web.xml中配置DispatchServlet 这个就是主servlet. <?xml version="1.0 ...

  2. (1)PyCharm开发工具安装Flask并创建helloworld程序

    一.环境描述 1.操作系统:windows7 2.编程语言:python3.6 下载地址:https://www.python.org/downloads/windows/ 3.虚拟化环境:virtu ...

  3. Helloworld程序的创建以及配置文件的讲解

    创建项目. create Project 选择创建的Project类别以及使用的SDK,可能SDK需要配置或者修改配置. 这个页面是问你是否使用模板创建. Command Line App 会自动创建 ...

  4. SpringMVC基础入门,创建一个HelloWorld程序

    ref:http://www.admin10000.com/document/6436.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要 ...

  5. 借助 Java 9 Jigsaw,如何在 60 秒内创建 JavaFX HelloWorld 程序?

    [编者按]本文作者为 Carl Dea,主要介绍利用 Jigsaw 项目在大约一分钟内编写标准化的"Hello World"消息代码.本文系国内 ITOM 管理平台 OneAPM ...

  6. SpringMVC(一) HelloWorld

    学习新东西的的第一个程序--HelloWorld,以下是SpringMVC的HelloWorld 第一步: 用MAVEN 创建webapp,并添加依赖.(强烈建议使用MAVEN,MAVEN学习书籍和视 ...

  7. 学习SpringMVC——从HelloWorld开始

    前言: 时隔十二年,中国女排最终过关斩将,用3:1的成绩证明了自己的实力,霸气夺冠,为中国赢得了一枚意义非常的金牌.这是一次全民的狂欢,一场视听盛宴,带给我们不仅是熠熠生辉的金牌,更传递出的是一种女排 ...

  8. OGRE启动过程详解(OGRE HelloWorld程序原理解析)

    本文介绍 OGRE 3D 1.9 程序的启动过程,即从程序启动到3D图形呈现,背后有哪些OGRE相关的代码被执行.会涉及的OGRE类包括: Root RenderSystem RenderWindow ...

  9. QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数

    QT源码解析(一) QT创建窗口程序.消息循环和WinMain函数 分类: QT2009-10-28 13:33 17695人阅读 评论(13) 收藏 举报 qtapplicationwindowse ...

随机推荐

  1. Egret index.html设置

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  2. Data Volume 之 bind mount - 每天5分钟玩转 Docker 容器技术(39)

    storage driver 和 data volume 是容器存放数据的两种方式,上一节我们学习了 storage driver,本节开始讨论 Data Volume. Data Volume 本质 ...

  3. 关于shell脚本函数、数组、字符串截取、svn更新发布实例

    #/bin/bash #功能:QA服根据模板创建区配置文件并提交到svn上. SOURCE_PATH=/data/source_code SVN_PATH=/code/psm   #svn发布目录,要 ...

  4. hashcode-equals方法

    package com.charles.collection; import java.util.HashSet; import java.util.Set; public class Point { ...

  5. css的背景background的相关属性

    今天需要做一个占满设备宽度的轮播图,这里作为demo仅展示一张图,下面分别是要操作的图片(这里做了缩放处理,实际的图比较大),以及要实现的效果图,很明显两者是不成比例的:      (图一)     ...

  6. C++学习(八)入门篇——复合类型

    数组(需要声明以下三点): (1)存储在每个元素中值的类型 (2)数组名 (3)数组中的元素数 声明数组的通用格式如下: typeName arrayName[arraySize];arraySize ...

  7. (转)mysql水平分表和垂直分表和数据库分区

    坚信数据库的物理设计在对高级数据库的性能影响上远比其他因素重要.给大家说一下经过专家对Oracle的研究,他们解释了为什么拙劣的物理设计是数据库停机(无论是有计划的还是没计划的)背后的主要原因.但在这 ...

  8. angularjs 动态显示内容适用于$modal

    1.创建指令 angular.module('app').directive('dynamicElement', ["$compile", function ($compile) ...

  9. HDU1113 Word Amalgamation

    Description In millions of newspapers across the United States there is a word game called Jumble. T ...

  10. Docker学习--->>Docker的认识,安装,及常用命令熟悉

    Docker是什么? 在平常的软件开发中,会面临着开发不同的程序或服务需要不同的环境.而在该环境上开发完成后,想要在其他的环境上部署,则需要自己去重新部署,而Docker的出现使得这样的迁移变得容易. ...