Spring mvc Hello World

添加依赖

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

配置DispatcherServlet

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

如果不配置init-param,那么配置文件的名字是什么,位置放在哪里?

位置放在WEB-INF下面,文件的名字为你servlet的名字-servlet.xml

编写控制器类


@Controller
public class HelloWorldController {
}

上面的配置,只是表明了此类是一个控制器类,还需要让框架可以扫描到这些有@Controller修饰的类型,需要在mvc的配置文件中,配置下面的内容

   <context:component-scan base-package="controller"/>
<!-- 会提供一些额外的增强功能,见参考资料-->
<mvc:annotation-driven />

mvc:annotation-driven

配置注解驱动,会多了如下一些功能

  • 类型转换

  • json数据

  • 格式化数据

  • 等等

这个配置,随着mvc版本越来越新,其功能是越来越少。

url到控制器方法的映射(也就是处理请求)

@Controller
public class HelloWorldController {
@RequestMapping("/hello")
public String hello(){
System.out.println("hello in hello World ---");

return "/WEB-INF/views/index.jsp";
}
}
 

上面配置好后,当请求地址为/hello的时候就会访问到hello方法,注意:RequestMapping中配置的url名字不需要与方法名字是一样的

然后此方法中返回的是视图的物理视图名 ,如果只返回逻辑视图名,需要在mvc配置文件中配置下面的代码

@RequestMapping

有以下几个特点

  • 可以放在类上

  • 可以放在方法上

  • RequestMapping可以不指定url,那么这个就是默认的

  • 可以给它添加各种限制

    • 通过HTTP请求方法限制

    • 请求Header中的内容进行限制等

组合注解

提示:@GetMapping

组合注解,至少要知道4个,这4个是针对http协议的方法来对应起来的

  • get: @GetMapping :用来做查询操作

  • post:@PostMapping :用来做 增加操作

  • delete:@DeleteMapping :用来做删除操作

  • put: @PutMapping :用来做修改操作

/calc/add/1 (get)

/calc/add(post)

/calc/add/1(delete)

/calc/add (put)

作业四:进行求和运算

要求如下:

  1. get访问/home/add会打开一个页面,此页面里面有2个文本框一个提交按钮

  2. 点击提交按钮后,提交的地址仍然是/home/add,并且是post提交

  3. 相关的控制器方法收到提交的数据后,进行运算(交个模型类去运算),把结果传递给视图

  4. 在视图中显示结果即可

参考资料

mvc:annotation-driven

MVC官方文档

 

Spring mvc Hello World的更多相关文章

  1. 如何用Java类配置Spring MVC(不通过web.xml和XML方式)

    DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置方式, XML看起来太累, 冗长繁琐. 还好借助于Servl ...

  2. Spring MVC重定向和转发以及异常处理

    SpringMVC核心技术---转发和重定向 当处理器对请求处理完毕后,向其他资源进行跳转时,有两种跳转方式:请求转发与重定向.而根据要跳转的资源类型,又可分为两类:跳转到页面与跳转到其他处理器.对于 ...

  3. Spring MVC入门

    1.什么是SpringMvc Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 M ...

  4. Spring7:基于注解的Spring MVC(下篇)

    Model 上一篇文章<Spring6:基于注解的Spring MVC(上篇)>,讲了Spring MVC环境搭建.@RequestMapping以及参数绑定,这是Spring MVC中最 ...

  5. Spring6:基于注解的Spring MVC(上篇)

    什么是Spring MVC Spring MVC框架是一个MVC框架,通过实现Model-View-Controller模式来很好地将数据.业务与展现进行分离.从这样一个角度来说,Spring MVC ...

  6. 高性能的关键:Spring MVC的异步模式

    我承认有些标题党了,不过话说这样其实也没错,关于“异步”处理的文章已经不少,代码例子也能找到很多,但我还是打算发表这篇我写了好长一段时间,却一直没发表的文章,以一个更简单的视角,把异步模式讲清楚. 什 ...

  7. Java Spring mvc 操作 Redis 及 Redis 集群

    本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 R ...

  8. 深入分析Spring 与 Spring MVC容器

    1 Spring MVC WEB配置 Spring Framework本身没有Web功能,Spring MVC使用WebApplicationContext类扩展ApplicationContext, ...

  9. spring mvc DispatcherServlet详解之前传---FrameworkServlet

    做项目时碰到Controller不能使用aop进行拦截,从网上搜索得知:使用spring mvc 启动了两个context:applicationContext 和WebapplicationCont ...

  10. 我是如何进行Spring MVC文档翻译项目的环境搭建、项目管理及自动化构建工作的

    感兴趣的同学可以关注这个翻译项目 . 我的博客原文 和 我的Github 前段时间翻译的Spring MVC官方文档完成了第一稿,相关的文章和仓库可以点击以下链接.这篇文章,主要是总结一下这个翻译项目 ...

随机推荐

  1. Input标签文件上传,使用详解

    1.html添加标签按钮 <button ion-button (click)="selectVideo()">添加</button> <input ...

  2. Codeforces 351C Jeff and Brackets 矩阵优化DP

    题意:你要在纸上画一个长度为n * m的括号序列,第i个位置画左括号的花费是a[i % n], 画右括号的花费是b[i % n],问画完这个括号序列的最小花费.n <= 20, m <= ...

  3. 【记坑】Oracle数据库Date类型查询结果多出".0"的解决方法

    oracle设置数据库某张表的字段类型为date,数据库存值为 2019-11-25 18:51:47 格式,但是从数据库查询出来之后格式为 String stopTime = map.get(&qu ...

  4. Cesium指南针

    cesium里面没有指南针 需要安装其他的插件: cesium-navigation-es6 npm i cesium-navigation-es6 -S 安装好之后在mainjs里引入 import ...

  5. 删除Excel空列

    /// <summary> /// 删除Excel空列 /// </summary> /// <param name="excelPath">E ...

  6. springboot集成使用rabbitmq笔记(1.rabbitmq安装)

    使用rabbitmq笔记一 使用rabbitmq笔记二 使用rabbitmq笔记三 1.选择适配的版本,参考---https://www.rabbitmq.com/which-erlang.html ...

  7. PHP FILTER_SANITIZE_MAGIC_QUOTES 过滤器

    定义和用法 FILTER_SANITIZE_MAGIC_QUOTES 过滤器对字符串执行 addslashes() 函数. 该过滤器在预定义的字符串前面设置反斜杠. 预定义字符是: 单引号(') 双引 ...

  8. Android中的隐藏API和Internal包的使用之获取应用电量排行

    今天老大安排一个任务叫我获取手机中应用耗电排行(时间是前天晚上7点到第二天早上10点),所以在网上各种搜索,没想到这种资料还是很多的,发现了一个主要的类:PowerProfile,但是可以的是,这个类 ...

  9. Shell4

    ssh 192.168.4.5>提示continue,连接过的主机不会提示>连接过的主机 文件存放位置:/root/.ssh/known_hosts ################### ...

  10. AcWing 204. 表达整数的奇怪方式 (线性同余方程组)打卡

    给定2n个整数a1,a2,…,ana1,a2,…,an和m1,m2,…,mnm1,m2,…,mn,求一个最小的整数x,满足∀i∈[1,n],x≡mi(mod ai)∀i∈[1,n],x≡mi(mod  ...