初衷:本人初学SpringMVC的时候遇到各种稀奇古怪的问题,网上各种技术论坛上的帖子又参差不齐,难以一步到位达到配置好的效果,这里我将我配置的总结写到这里供大家初学SpringMVC的同僚们共同学习使用!

关于SpringMVC的介绍我就不在此赘述了,想必每一个配置Spring的人都已经或多或少了解过一些SpringMVC的基础知识,可能有的人用的myeclipse或者eclipse进行项目的搭建,我会告诉你这里步骤是很相似的,在myeclipse里面需要建立web项目,然后加入Spring支持,后续的jar包自己下载导入,其他配置和本文别无二致。但是本人推荐大家使用idea,这个编译器公认的java最好用的编译器,想必编写代码会更加的舒适快捷!

在众多朋友的帮助指点下,本文不断完善,这里将修改完的完善版重新发表一遍,望广大网友雅正!!!

这里只讲解如何在IntelliJ IDEA下搭建maven SpringMVC项目:


一、首先需要有一个IntelliJ IDEA 可以去官网下载,虽然是收费的,然而并不算贵。

二、运行编译器新建项目

 

在弹出的窗体中选择maven,然后勾选要建的maven模板--这里选webApp

 

然后填入相应的maven项目组信息(这个是比较随意的)

 

这里填写自己的maven本地仓库路径(这个不用过多解释吧,用maven的基础);

 

 这里填写项目名称以及项目生成路径,然后在下方检查填写是否正确:  

 

如果正确就点击Finish->

maven会自动创建需要的一些配置信息以及目录结构,在这段时间里我们可以查找需要的jar包并在maven配置文件pom.xml里面进行配置,见下面步骤:

这里如果不知道要用到什么jar包就去百度SpringMVC需要的jar包,然后在maven的官方链接单独查找jar包来配置pom.xml,实例如下(这里我示范去maven官网查找xml配置的部分,具体需要的jar包去我后面展示的pom.xml里面查找):

登录http://mvnrepository.com/ 示例查找spring-beans

点击查找结果

这里可以看到最新版以及使用人数最多的版本,自己选择--配置文件里面的jar包版本最好选择同一个版本避免版本冲突;

我们选择第一个进入网页,里面可以看到maven的配置pom.xml文件写法,点击代码直接复制(自动复制);

然后将复制的代码拷贝到pom.xml文件中去即可,maven会自动下载所需要的jar包,我们不需要理会(如果有网络不顺畅情况,请自行想办法下载jar包或联系本人,然后将下载好的jar包拷贝到对应的maven本地仓库文件夹中也可以的);

这里我展示我配置的maven pom.xml,maven会自动到库里面下载需要的jar包到maven仓库。

 pom.xml

等系统构建完成以后,我们就可以看到目录结构

不全的可以按照需求来补全文件结构,maven项目中的文件结构分为Sources,Tests,Resources,Test Resources,Excluded几种,我们需要详细区分各个文件夹的类型:

配置文件夹类型方法如下:

可以选中文件夹点击上面的按钮来标注文件夹类型!


三、配置SpringMVC

一切就绪后接下来我们继续配置SpringMVC的具体信息:

首先需要配置Web.xml这个不必多说,网站项目运行第一个加载的就是web.xml,进入

src->main->webapp->WEB-INF->web.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns="http://java.sun.com/xml/ns/javaee"
4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
5 version="3.0">
6 <welcome-file-list>
7 <welcome-file>/index.jsp</welcome-file>
8 </welcome-file-list>
9 <!-- Spring MVC配置 -->
10 <servlet>
11 <servlet-name>spring</servlet-name>
12 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
13
14 <!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml,如spring-servlet.xml
15 <init-param>
16 <param-name>contextConfigLocation</param-name>
17 <param-value>/WEB-INF/spring-servlet.xml</param-value>
18 </init-param>-->
19
20 <!-- load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法) -->
21 <load-on-startup>1</load-on-startup>
22 </servlet>
23
24 <servlet-mapping>
25 <servlet-name>spring</servlet-name>
26 <url-pattern>/</url-pattern>
27 <!--<url-pattern>*.do</url-pattern>-->
28 </servlet-mapping>
29
30 <!-- Spring配置 -->
31 <listener>
32 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
33 </listener>
34
35 <!-- 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 -->
36 <context-param>
37 <param-name>contextConfigLocation</param-name>
38 <param-value>classpath:applicationContext.xml</param-value>
39 </context-param>
40
41 </web-app>

然后在WEB-INF文件夹下新建 spring-servlet.xml

配置spring-servlet.xml这里采用注解的方式:

 1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:context="http://www.springframework.org/schema/context"
5 xmlns:mvc="http://www.springframework.org/schema/mvc"
6 xsi:schemaLocation="http://www.springframework.org/schema/beans
7 http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
8 http://www.springframework.org/schema/context
9 http://www.springframework.org/schema/context/spring-context-3.1.xsd
10 http://www.springframework.org/schema/mvc
11 http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">
12
13 <!-- 启动注解驱动的Spring MVC功能,注册请求url和注解POJO类方法的映射-->
14 <mvc:annotation-driven >
15
16 </mvc:annotation-driven>
17
18 <!-- 启动包扫描功能,以便注册带有@Controller、@service、@repository、@Component等注解的类成为spring的bean -->
19 <context:component-scan base-package="HelloSpringMvc.controller" />
20 <!-- 对模型视图名称的解析,在请求时模型视图名称添加前后缀 -->
21 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
22 <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
23 <property name="prefix" value="/"/> <!-- 前缀 -->
24 <property name="suffix" value=".jsp"/> <!-- 后缀 -->
25 </bean>
26 <!-- 访问静态文件(jpg,js,css)的方法 -->
27 <mvc:resources location="/files/" mapping="/files/**" />
28 <mvc:resources location="/scripts/" mapping="/scripts/**" />
29 <mvc:resources location="/styles/" mapping="/styles/**" />
30 <mvc:resources location="/Views/" mapping="/Views/**" />
31 </beans>

 这里我们配置了静态文件路径,因此在目录结构新建几个文件夹用以放静态文件例如脚本,图片文件,视图之类的。

 然后在Resources资源文件夹下新建applicationContext.xml

配置applicationContext.xml这里并没有进行配置什么信息,因为本人用的是mysql jdbc连接数据库,没有用到Hibernate之类的orm,这里可以将hibernate相关配置项放在里面。

1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans
3 xmlns="http://www.springframework.org/schema/beans"
4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
6 <!-- 我们可以在其中添加我们所需要配置的bean,也可以添加相应的数据库连接和事务处理等等,方便后续拓展
7 -->
8 </beans>

这里我们就将SpringMVC的基本XML配置文件设置完毕,接下来我们进行一个小实例进行测试配置好的SpringMVC。


四:测试SpringMVC配置:

1、在controller文件夹下新建一个类 名字叫TestController,代码如下:

package HelloSpringMvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; /**
* Created by Administrator on 2016/8/29.
*/ @Controller
@RequestMapping(value = "/Test/*") //访问的url地址前缀,可以不写,写了就必须在方法url前面先加上class url 进行区分控制器
public class TestController
{
//访问地址:http://localhost:8080/Test/returnSuccess
@RequestMapping(value = "returnSuccess") //实际访问的url地址
public String returnSuccess() {
return "/Views/success"; //返回Views文件夹下的success.jsp页面
} //访问地址:http://localhost:8080/Test/returnString
@RequestMapping(value = "returnString", produces = {"text/plain;charset=UTF-8"})
//produces用于解决返回中文乱码问题,application/json;为json解决中文乱码
@ResponseBody //用于返回字符串,不写即返回视图
public String returnString() {
return "hello return string 这是中文,并没有乱码";
}
}

然后我们在Views文件夹下建一个success.jsp 随便写点什么:

然后试运行,IDEA需要先进行配置运行环境,配置如下->

在弹出的选项卡里面选择“+”号进行添加运行环境!

本人这里选用TomCat启动项目:

然后在弹出的选项卡选择Fix

然后应用即可,当然还有一些可选配置如下(这是我的配置):

接下来就可以运行了吧!!!

好,点击运行,google自动弹出了网页!

 运行后,在浏览器地址栏输入:http://localhost:8080/Test/returnString

可以看到我们运行第二个url地址可以成功返回字符串,而且并没有中文乱码!

下面测试第一个url地址:http://localhost:8080/Test/returnSuccess

可以看到,成功返回到success.jsp ! 说明我们的SpringMVC并没有配置错误。

 再次将项目目录结构附上->


还有人习惯于使用Json,这里可以将json直接当string输出,前台就可以获取到,json的jar包配置也可以自行查询,这里不再赘述。

2016-08-29 19:27:41

本文为七小站主原创作品,转载请注明出处:http://www.cnblogs.com/qixiaoyizhan/

项目源代码下载:

http://files.cnblogs.com/files/qixiaoyizhan/AHelloSpringMvcDemo.zip

另外安利博主个人博客,欢迎参观,另本站蓬荜生辉!!!

http://qixiao.me

Thx and best regards~

----------以上是转载内容--------

下面是个人实践之后的备注:

  由于maven会自动下载依赖包的子依赖包,所以pom.xml中spring的依赖包只需要依赖spring-webmvc就可以了。我的整个pom.xml一共就依赖了两个包,一个是spirng-webmvc,一个是jstl(这个包用于解析jsp页面)。至于怎么查看各个依赖包之间的关系图,请参考http://www.cnblogs.com/luohengstudy/articles/7904874.html

[转]SpringMVC框架入门配置 IDEA下搭建Maven项目的更多相关文章

  1. SpringMVC框架入门配置 IDEA下搭建Maven项目(zz)

    SpringMVC框架入门配置 IDEA下搭建Maven项目 这个不错哦 http://www.cnblogs.com/qixiaoyizhan/p/5819392.html

  2. SpringMVC框架入门配置 IDEA下搭建Maven项目

    初衷:本人初学SpringMVC的时候遇到各种稀奇古怪的问题,网上各种技术论坛上的帖子又参差不齐,难以一步到位达到配置好的效果,这里我将我配置的总结写到这里供大家初学SpringMVC的同僚们共同学习 ...

  3. [Eclipse的Maven项目搭建,仅为测试Maven功能]如何在Eclipse下搭建Maven项目

    [Eclipse的Maven项目搭建,仅为测试Maven功能]如何在Eclipse下搭建Maven项目   你可能需要了解以下才能更好的阅读以下: 在 Windows 中配置Maven: http:/ ...

  4. maven仓库失效的情况下搭建maven项目

    maven仓库失效的情况下搭建maven项目 1,在有maven仓库的情况下mvn clean package 2,整个项目拷贝到没有的环境下 3,ls |xargs -t -I a cp a/pom ...

  5. Spring+SpringMVC+Mybatis+Shiro环境搭建之IDEA下搭建Maven项目

    运行IntelliJ IDEA 2016.3.2(64)编译器新建项目   在弹出的窗体中选择maven,然后勾选要建的maven模板--这里选webApp 然后填入相应的maven项目组信息(Gro ...

  6. MyEclipse下搭建maven项目

    由于maven在构建项目方面确实比较出色,现今绝大多数人构建项目都采用maven,而且绝大多数人都采用eclipse作为开发环境,今天我用myeclipse搭建了一个demo,虽然基本上不会采用mye ...

  7. Ubuntu server下搭建Maven私服Nexus

    Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu ...

  8. Eclipse搭建Maven项目并上传SVN备份

    本文出自:http://www.cnblogs.com/2186009311CFF/p/7226127.html 背景:近段时间在学着Java,想着用Java做BS的项目.但是项目一遇到问题又要重做, ...

  9. ssm+maven+pageHelper搭建maven项目实现快速分页

    ssm+maven+pageHelper搭建maven项目实现快速分页 PageHelper分页使用: 插件的环境引入: 1.pom文件中引入分页插件的资源位置: <dependency> ...

随机推荐

  1. Array.prototype.slice.call()等几种将arguments对象转换成数组对象的方法

    网站搬迁,给你带来的不便敬请谅解! http://www.suanliutudousi.com/2017/10/10/array-prototype-slice-call%E7%AD%89%E5%87 ...

  2. [已解决]报错run `npm audit fix` to fix them, or `npm audit` for details

    问题: added 246 packages from 681 contributors and audited 382 packages in 17.509s found 13 vulnerabil ...

  3. 天道神诀--IPSAN(iscsi配置)

    数据存储技术 DSA(Direct Attacted Storage 直接附加存储)本地硬盘 NAS(Network Attacted Storage 网络附加存储)网络服务共享:文件夹 SAN(St ...

  4. 项目中UX设计1到2的设计提升总结

  5. Vue引入日期格式插件moment.js

    因为需求需要,接口传递过来的日期格式是一个时间戳,因此需要进行格式转换,老大给了插件地址,让我自己研究 插件地址:http://momentjs.cn/ 因为没有使用过,所有就开始各种百度,参考各位大 ...

  6. Arrays 001

    1.1 Array Initalization First of all, we need know Java arrays is static. When the array is initiali ...

  7. PD ZD

    PD TO ZD simple one without . SORT FIELDS,,PD,A,,,PD,A) OUTREC FIELDS,,PD,ZD,LENGTH, ,,PD,ZD,LENGTH, ...

  8. python pathlib模块详解

    python pathlib模块详解    

  9. 泛型(Generic)接口

    泛型接口例子:一个学生有一个独一无二的ID,但是每个学生的姓名不一定是唯一的. class Program { static void Main(string[] args) { Student< ...

  10. JavaScript做个时间表 Date()

    <span id="shiji"></span><script> window.setInterval("time()",5 ...