手把手教你搭建SpringMVC——最小化配置

为什么需要Spring MVC

最开始接触网页的时候,是纯的html/css页面,那个时候还是用Dreamweaver来绘制页面。

随着网站开发的深入,开始学习servlet开发,记得最痛苦的就是servlet返回网页的内容是字符串拼接的html页面,整不好就无法显示....

再到后来开学学习SSH,庞大的架构眼花缭乱。Struts繁杂的标签、hibernate搞不清楚的数据表,Spring不知道哪里搞错的bean。

最后随着发展,前端开始占有一席之地,nodejs风生水起,很多业务逻辑开始前置。再也看不到当初的bo、dao了,取而代之的是各种框架的mvvm,后台减轻压力只负责一些必要的逻辑。

到现在,好像web开发又发展到了一个阶段——前端由于Nodejs的作用,可以支撑一部分业务逻辑,通过转发代理,统一发往后台。后台通过url实现mvc,对性持久化、更深入的逻辑操作等等。Spring MVC在这里就起了很关键的作用....它通过Url拦截请求,自定义业务逻辑,可以返回自定义的view或者模型数据。

当然,上面的鬼扯都是片面的,不代表行业的发展,只是博主管中窥豹而已。

下面步入正题,说说Spring MVC的最小化配置,给入门的朋友引个路。

Spring MVC的最小化配置

需要的jar包

  • Spring framework spring-context
  • Spring framework spring-mvc

具体可以参考maven中的引用:

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

web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app  version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                                            http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">

     <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
        <!-- 默认是/WEB-INF/applicationContext.xml -->
     </context-param>

     <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
     </listener>

    <servlet>
        <servlet-name>SpringMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/SpringMVC-servlet.xml</param-value>
            <!-- 默认是/WEB-INF/[servlet名字]-servlet.xml -->
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

其中,必要的配置就是指定servlet和listener.

  • ContextLoaderListener指定了IOC容器初始化的方法
  • DispatcherServlet则定义了mvc的相关内容,并配置拦截的url,如上面所示,所有/开头的请求,都会通过SpringMVC这个servlet进行处理。

他们都需要一个xml文件,默认位置上面已经说过了。

applicationContext.xml

空的,反正咱也没用什么bean。

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context" 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.0.xsd
                           http://www.springframework.org/schema/tx
                           http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
                           http://www.springframework.org/schema/aop
                           http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
                           http://www.springframework.org/schema/context
                           http://www.springframework.org/schema/context/spring-context-4.0.xsd">

</beans>

SpringMVC-servlet.xml

里面放一个扫描controller的配置即可。

<?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:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop"
    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.0.xsd
                        http://www.springframework.org/schema/mvc
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
                        http://www.springframework.org/schema/context
                        http://www.springframework.org/schema/context/spring-context-4.0.xsd
                        http://www.springframework.org/schema/aop
                        http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
                        http://www.springframework.org/schema/tx
                        http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
    <!-- 设置使用注解的类所在的jar包 -->
    <context:component-scan base-package="hello" />
</beans>

controller文件

package hello;

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

@Controller
public class HelloController {

    @RequestMapping("/hello")
    public @ResponseBody String test() {
        return "hello, world! This com from spring!";
    }

}

总结一下:

1 两个maven依赖,spring-context;spring-mvc。maven就会自动下载所有关联的jar包,包括

  • spring-webmvc
  • spring-beans
  • spring-core
  • spring-expression
  • spring-web
  • spring-context
  • spring-aop
  • aopalliance
  • commons-logging

2 一个web.xml文件,配置了listener和servlet
3 两个spring相关的文件,applicationContext.xml和servletName-servlet.xml
4 一个controller文件,配置了拦截的url处理代码

有了这些准备工作,运行后输入

http://localhost:8080/SpringTest/hello

就能得到

hello, world! This com from spring!

这样的信息,恭喜你的SpringMVC搭起来了!

最后附送源码的度盘连接

本文转自博客园xingoo的博客,原文链接:手把手教你搭建SpringMVC——最小化配置,如需转载请自行联系原博主。

时间: 2024-11-23 19:53:59

手把手教你搭建SpringMVC——最小化配置的相关文章

手把手教你搭建自己的 VPS 服务器

手把手教你搭建自己的 VPS 服务器 总有一些时候,你想要一台自己的 VPS .本文分享了作者在实践过程中的一些经验,可以给那些自己搭建 VPS 的朋友一点帮助. 前期准备 需要购买一台拥有 root 权限的 VPS ,我选择的是 搬瓦工 ,当时购买的是 512 M 内存 5 G SSD,500 G 流量/月, 9.99 刀每年,但是好像现在这种低价套餐已经结束了.有意的朋友可以看一下其他的套餐或者别的公司的 VPS.有的朋友说  DigitalOcean 的速度非常快,看YouTube直接 1

手把手教你搭建和配置Jenkins环境

   搭建Jenkins,首先得安装Jenkins,安装的问题就不说了,一般第一次安装完成后,服务会直接在浏览器中运行,网址:http://localhost:8080.然后新建一个用户,登录    接下来就是如何配置Jenkins,我们现在做的系统是.Net平台的,所以配置的Jenkins适用于.Net,至于说Java的配置,暂时还不涉及,就不在这儿讲了.  配置SVN并新建一个简单的网站    由于是在自己的电脑上做的实验,所以还需要安装SVN的服务端和客户端,在SVN服务器上新建一个Rep

智能投顾中的基础核心,华尔街老司机手把手教你搭建智能资产配置模型

随着人工智能以不可阻挡的态势渐渐渗透到我们日常生活的方方面面,在高度量化的金融投资领域,变革求新.提速高效的追求也催生了智能投顾作为AI全新产品的蓬勃发展.大量的金融科技.人工智能相关岗位的招聘和交易员.量化研究员岗位的消失正见证着这一AI新业态随着时代发展的崭新面貌,那么在着手构建智能投顾产品具体操作的过程中,该如何去建立核心模型这一"心脏部位"去投入运行?雷锋网AI金融评论与AI慕课学院主办的智能投顾配置特训班讲师王蓁特别指出,智能投顾整体模型的关键在于运算公式的建立和参数的估计.

手把手教你搭建智能合约测试环境、开发、编译、部署以及如何通过JS调用合约方法

如何编写智能合约(Smart Contract)?(I) 完整视频教程 https://v.qq.com/x/page/h0552ba9k8h.html 学习目标 了解智能合约 简单环境搭建 能够利用solidity编写Hello World合约 合约部署 和合约互动 使用solidity语言撰写智能合约 Ethereum上的智能合约需要使用solidity语言来撰写.虽然还有其他能用来撰写智能合约的语言如Serpent(类Python).lll(类Fortran),但目前看到所有公开的智能合约

手机端创新体验——手把手教你搭建VR&amp;AR架构

电商和创新 今年的双11,在手机上有很多新的互动的玩法和新的业务的尝试,希望能够把最新的技术和现有的业务结合起来.比如,通过BUY+在未来购物体验的探索做一款能够用于购物的VR应用,通过"寻找狂欢猫"的活动完成线上线下的双重链接. BUY+ 技术架构 上图是BUY+的技术架构.最底层是System,用到了两项核心的技术,即OpenGL.MediaPlayer.全景视频是目前最优的一个解决方案,所以需要用到MediaPlayer.由于需要在全景视频上绘制一些3D的UI,所以需要用到Ope

手把手教你搭建自己的深度学习机器

深度学习是一门用来解决复杂问题的技术,例如自然语言处理和图像处理.目前,我们已经可以很快的处理超大计算量的问题--这多亏了GPU,GPU最初就是用于快速生成高分辨率计算机图像,由于它的计算效率使得其非常适合用于深度学习算法.原先需要用好几周才能分析出来的结果,现在几天时间就能完成. 虽然现在的计算机都有GPU,但是并不是所有的GPU都适合用来进行深度学习.对于那些不能深度学习功能的GPU,本文将会一步一步的教大家如何构建一个自己的深度学习机器. 深度学习系统本质上是在另一台电脑上安装一个具有深度

手把手教你搭建AI开发环境 !(附代码、下载地址)

人最大的长处就是有厉害的大脑.电脑.手机等都是对人大脑的拓展.现今,我们每个人都有这个机会,让自己头脑在智能的帮助下,达到极高的高度.所以,拥抱科技,让智能产品成为我们个人智力的拓展,更好的去生活.去战斗. 用项目引导学习: 我们的目标是用现有最流行的谷歌开源框架TensorFlow,搭建一款儿童助学帮手.类似于现在已有的在售商品小米智能语音盒子之类的东西,. 一.Windows下安装虚拟机VMware Workstation,在虚拟机中安装Ubuntu 温馨提示:要善用搜索引擎,解决各类简单问

一步一步手把手教你搭建网站(实例教程系列)

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;  制作一个网站总得来说分四步:申请域名.申请虚拟主机.制作网页,网站宣传推广! 教程域名,空间业务购买以www.abc.com为例,其他类似 1.申请域名:最好用COM,没有的话就CN和NET吧,域名简短为宜,查询地址:http://www.b86.net/domain/ 2.申请虚拟主机:一般的现在的网站100M-1000M就差不多了,现在选择虚拟主机双线主机,比

手把手教你搭建自己的网站(图文并茂)

网站越来越多,无论是企业还是个人都梦想着想拥有一个属于自己的网站.然而,这一切都不在是梦想,已经变得十分的简单.做一个网站的花费也并不高.网站早已不再神秘,再也不是什么高技术活.普通用户也可以轻松的建立出相对专业的网站.下面向大家简单介绍一下个人建站的一些流程和注意事项. 一.域名要想让人家访问自己的网站,域名是必不可少的.域名要尽可能的短.尽可能的方便记忆,当然现在好记的.有特征的域名已经不多了,这需要你自己进行考虑,只要觉得有一定的规律或便于用户记忆即可.可以去http://www.iisp