当前位置: 首页 > news >正文

Simple SpringMVC Demo

曾几何时,认为手动搭建一个SpringMVC工程很困难,其实去除那些繁枝末节,仅保留最核心的东西,看看还剩下什么?

  1. maven依赖
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>morning.cat</groupId>
    <artifactId>servlet-simple-sample</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

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

</project>

没错,只有一个依赖;

  1. web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">

    <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

没错,只有一个springmvc核心的servlet,即DispatcherServlet

  1. spring配置
    spring.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:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="morning.cat.controller"/>
</beans>

开启包扫描即可;

  1. controller
package morning.cat.controller;

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

@Controller
public class RequestController {

    /**
     * http://localhost:8080/request
     */
    @RequestMapping("/request")
    @ResponseBody
    public String test() {
        return "HelloGG";
    }
}

一个最简单的controller。


有时,事情并不复杂,而是我们要求的太多,而让它变得复杂,与君共勉。

相关文章:

  • 什么时候需要重建索引
  • Spring IOC 官网文档阅读笔记(四)
  • Next
  • mapstruct 简单实践笔记
  • Spring Data JPA 中 @Query 默认不能使用 limit函数
  • 基于Spring 2.0的Web应用设计
  • Spring MVC 官网文档阅读笔记(一)
  • oracle 连接 sqlserver
  • 关于jdk和java规范
  • 工作流入门(基础概念篇)
  • AspectJ 简介
  • 三亚之行
  • redis 学习笔记梳理
  • JavaScripte最经典和权威的教程(对象介绍)
  • 自定义注解的简单用法
  • 【译】理解JavaScript:new 关键字
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Git的一些常用操作
  • ucore操作系统实验笔记 - 重新理解中断
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • Zepto.js源码学习之二
  • 飞驰在Mesos的涡轮引擎上
  • 聊聊flink的TableFactory
  • 浏览器缓存机制分析
  • 如何优雅地使用 Sublime Text
  • 微信小程序--------语音识别(前端自己也能玩)
  • 学习笔记:对象,原型和继承(1)
  • 鱼骨图 - 如何绘制?
  • ​configparser --- 配置文件解析器​
  • ​iOS安全加固方法及实现
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • (¥1011)-(一千零一拾一元整)输出
  • (AngularJS)Angular 控制器之间通信初探
  • (C语言)共用体union的用法举例
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (翻译)terry crowley: 写给程序员
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转) ns2/nam与nam实现相关的文件
  • (转)大型网站的系统架构
  • ..回顾17,展望18
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .net对接阿里云CSB服务
  • .NET关于 跳过SSL中遇到的问题
  • .NET轻量级ORM组件Dapper葵花宝典
  • @AutoConfigurationPackage的使用
  • @Not - Empty-Null-Blank
  • @RequestMapping 的作用是什么?
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • [AutoSar NVM] 存储架构
  • [C# WPF] 如何给控件添加边框(Border)?