Spring mvc Hello World
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)
作业四:进行求和运算
要求如下:
get访问/home/add会打开一个页面,此页面里面有2个文本框一个提交按钮
点击提交按钮后,提交的地址仍然是/home/add,并且是post提交
相关的控制器方法收到提交的数据后,进行运算(交个模型类去运算),把结果传递给视图
在视图中显示结果即可
参考资料
mvc:annotation-driven
Spring mvc Hello World的更多相关文章
- 如何用Java类配置Spring MVC(不通过web.xml和XML方式)
DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置方式, XML看起来太累, 冗长繁琐. 还好借助于Servl ...
- Spring MVC重定向和转发以及异常处理
SpringMVC核心技术---转发和重定向 当处理器对请求处理完毕后,向其他资源进行跳转时,有两种跳转方式:请求转发与重定向.而根据要跳转的资源类型,又可分为两类:跳转到页面与跳转到其他处理器.对于 ...
- Spring MVC入门
1.什么是SpringMvc Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 M ...
- Spring7:基于注解的Spring MVC(下篇)
Model 上一篇文章<Spring6:基于注解的Spring MVC(上篇)>,讲了Spring MVC环境搭建.@RequestMapping以及参数绑定,这是Spring MVC中最 ...
- Spring6:基于注解的Spring MVC(上篇)
什么是Spring MVC Spring MVC框架是一个MVC框架,通过实现Model-View-Controller模式来很好地将数据.业务与展现进行分离.从这样一个角度来说,Spring MVC ...
- 高性能的关键:Spring MVC的异步模式
我承认有些标题党了,不过话说这样其实也没错,关于“异步”处理的文章已经不少,代码例子也能找到很多,但我还是打算发表这篇我写了好长一段时间,却一直没发表的文章,以一个更简单的视角,把异步模式讲清楚. 什 ...
- Java Spring mvc 操作 Redis 及 Redis 集群
本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 R ...
- 深入分析Spring 与 Spring MVC容器
1 Spring MVC WEB配置 Spring Framework本身没有Web功能,Spring MVC使用WebApplicationContext类扩展ApplicationContext, ...
- spring mvc DispatcherServlet详解之前传---FrameworkServlet
做项目时碰到Controller不能使用aop进行拦截,从网上搜索得知:使用spring mvc 启动了两个context:applicationContext 和WebapplicationCont ...
- 我是如何进行Spring MVC文档翻译项目的环境搭建、项目管理及自动化构建工作的
感兴趣的同学可以关注这个翻译项目 . 我的博客原文 和 我的Github 前段时间翻译的Spring MVC官方文档完成了第一稿,相关的文章和仓库可以点击以下链接.这篇文章,主要是总结一下这个翻译项目 ...
随机推荐
- SmartSql简介
0. Why 拥抱 跨平台 DotNet Core,是时候了. 高性能.高生产力,史上最轻量级的ORM.107kb 1. So SmartSql TargetFrameworks: .NETFrame ...
- 【JS学习】慕课网4-1编程挑战 函数
要求:小伙伴们,请编写"改变颜色"."改变宽高"."隐藏内容"."显示内容"."取消设置"的函数,点 ...
- Ubuntu图形界面和终端界面切换快捷键
Ctrl+Alt+F1可以从图形界面切换到终端界面. Ctrl+Alt+F7可以从终端界面退出来,重新回到图形界面
- php封装支付
<?php namespace Pay; use think\Config; vendor ('Pay.alipay.pagepay.service.AlipayTradeService'); ...
- vmware下搭建openwrt
最近闲来无事,想研究下openwrt, 所以尝试着自己搭建一个来玩玩, 当然这里不是以源码编译的形式,那样太耗时. 首先官网下载已有的系统image, 路径如下 : https://archive. ...
- mongodb数据库管道操作
1.$project(修改文档的结构,可以用来重命名.增加或删除文档中的字段) db.order.aggregate([ { $project:{ rade_no:1, all_price:1} } ...
- Linux特殊权限设置以及使用
Linux文件权限特殊权限(s-s-t) 什么是suid权限 SUID是可执行文件的特殊文件权限,使其他用户能够以文件所有者的有效权限运行文件. 代替执行权限的正常x代替用户的s(指示SUID )特权 ...
- contest-20191021
文化课读的真不开心 回来竞赛 假人 sol 根据不等式有 abs(a-b)+abs(b-c)>=abs(a-c) 那么每一个都会选. 可以发现每一段只会选在端点上(否则移到端点更优). 那么dp ...
- eclipse git项目的冲突文件处理
https://jingyan.baidu.com/article/3c48dd34895a07e10ae35871.html
- 使用java.util.Properties工具制作自定义访问配置文件信息
import ch.qos.logback.classic.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; im ...