参考链接:狂神说SpringMVC笔记 - 时移之人 - 博客园 (cnblogs.com)


第一节:

MVC:前端+路由+后端实现

prefix:前缀

suffix:后缀

  • @Controller是为了让Spring IOC容器初始化时自动扫描到;

  • @RequestMapping是为了映射请求路径,这里因为类与方法上都有映射所以访问时应该是/HelloController/hello;

实现步骤其实非常的简单:

  1. 新建一个web项目

  2. 导入相关jar包

  3. 编写web.xml , 注册DispatcherServlet

  4. 编写springmvc配置文件

  5. 接下来就是去创建对应的控制类 , controller

  6. 最后完善前端视图和controller之间的对应(方法中声明Model类型的参数是为了把Action中的数据带到视图中)

  7. 测试运行调试.

注:DispatcherServlet 是 SpringMVC统一的入口,所有的请求都通过它。DispatcherServlet 是前端控制器,配置在web.xml文件中,Servlet依自已定义的具体规则拦截匹配的请求,分发到目标Controller来处理。

使用springMVC必须配置的三大件(注解或者xml):

处理器映射器、处理器适配器、视图解析器

ModelAndView:模型视图类(方法返回的结果是视图的名称hello,加上配置文件(视图解析器)中的前后缀变成WEB-INF/jsp/hello.jsp。)

       //ModelAndView 模型和视图ModelAndView mv = new ModelAndView();//封装对象,放在ModelAndView中。Modelmv.addObject("msg","HelloSpringMVC!");//封装要跳转的视图,放在ModelAndView中mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jspreturn mv;

第三节:

  • POST、DELETE、PUT、GET:添加、 删除、修改、查询

RESTful风格:

  • 在Spring MVC中可以使用  @PathVariable 注解,让方法参数的值对应绑定到一个URI模板变量上。
@Controller
public class RestFulController {//映射访问路径@RequestMapping("/commit/{p1}/{p2}")public String index(@PathVariable int p1, @PathVariable int p2, Model model){int result = p1+p2;//Spring MVC会自动实例化一个Model对象用于向视图中传值model.addAttribute("msg", "结果:"+result);//返回视图位置(视图解析器进行解析,找到对应的文件)return "test";}
}

使用method属性指定请求类型

用于约束请求的类型,可以收窄请求范围。指定请求谓词的类型如GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE等

//映射访问路径,必须是POST请求
@RequestMapping(value = "/hello",method = {RequestMethod.POST})
public String index2(Model model){model.addAttribute("msg", "hello!");return "test";
}

所有的地址栏请求默认都会是 HTTP GET 类型的。


第四节:

结果跳转方式

  • ModelAndView:页面 : {视图解析器前缀} + viewName +{视图解析器后缀}
  • ServletAPI:通过HttpServletResponse进行输出、重定向、转发
@RequestMapping("/result/t1")public void test1(HttpServletRequest req, HttpServletResponse rsp) throws IOException {rsp.getWriter().println("Hello,Spring BY servlet API");}@RequestMapping("/result/t2")public void test2(HttpServletRequest req, HttpServletResponse rsp) throws IOException {rsp.sendRedirect("/index.jsp");}@RequestMapping("/result/t3")public void test3(HttpServletRequest req, HttpServletResponse rsp) throws Exception {//转发req.setAttribute("msg","/result/t3");req.getRequestDispatcher("/WEB-INF/jsp/test.jsp").forward(req,rsp);}

  • 通过SpringMVC来实现转发和重定向 - 无需视图解析器;
@RequestMapping("/rsm/t1")public String test1(){//转发return "/index.jsp";}

数据提交:

@RequestMapping("/hello")
public String hello(@RequestParam("username") String name){//提交数据 : http://localhost:8080/hello?username=kuangshen
public String hello(String name){//提交数据 : http://localhost:8080/hello?name=kuangshen//参数是实体类
public class User {private int id;private String name;private int age;//构造//get/set//tostring()
}@RequestMapping("/user")//提交数据 : http://localhost:8080/mvc04/user?name=kuangshen&id=1&age=15
public String user(User user){System.out.println(user);return "hello";
}
//说明:如果使用对象的话,前端传递的参数名和对象名必须一致,否则就是null。

数据回显:

ModelAndView、ModelMap、Model都可以

SpringMVC-狂神笔记相关推荐

  1. springmvc 狂神说的详细笔记

    最近在学习java框架,发现狂神说的视频挺好的,通俗易懂,还有笔记,整理过来,以便随时复习回顾. 狂神说springmvc 视频链接: B站视频 springmvc 系列笔记 狂神说SpringMVC ...

  2. 狂神笔记-SpringMVC

    狂神笔记-SpringMVC 1.回顾MVC 1.1.什么是MVC MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范. 是将业务逻辑.数据.显示分 ...

  3. SpringMVC:学习笔记(11)——依赖注入与@Autowired

    SpringMVC:学习笔记(11)--依赖注入与@Autowired 使用@Autowired 从Spring2.5开始,它引入了一种全新的依赖注入方式,即通过@Autowired注解.这个注解允许 ...

  4. SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传

    SpringMVC:学习笔记(10)--整合Ckeditor且实现图片上传 配置CKEDITOR 精简文件 解压之后可以看到ckeditor/lang下面有很多语言的js,如果不需要那么多种语言的,可 ...

  5. springmvc学习笔记(10)-springmvc注解开发之商品改动功能

    springmvc学习笔记(10)-springmvc注解开发之商品改动功能 springmvc学习笔记(10)-springmvc注解开发之商品改动功能 标签: springmvc springmv ...

  6. springmvc学习笔记(19)-RESTful支持

    springmvc学习笔记(19)-RESTful支持 标签: springmvc springmvc学习笔记19-RESTful支持 概念 REST的样例 controller REST方法的前端控 ...

  7. SpringMVC:学习笔记(5)——数据绑定及表单标签

    SpringMVC--数据绑定及表单标签 理解数据绑定 为什么要使用数据绑定 基于HTTP特性,所有的用户输入的请求参数类型都是String,比如下面表单: 按照我们以往所学,如果要获取请求的所有参数 ...

  8. springmvc学习笔记(17)-上传图片

    2019独角兽企业重金招聘Python工程师标准>>> springmvc学习笔记(17)-上传图片 标签: springmvc [TOC] 本文展示如何在springmvc中上传图 ...

  9. SpringMVC学习笔记(二)常用注解

    SpringMVC学习笔记(二)常用注解 1.RequestParam 作用: 把请求中指定名称的参数给控制器中的形参赋值. 属性: value:请求参数中的名称. required:请求参数中是否必 ...

  10. springmvc学习笔记--ueditor和springmvc的集成

    springmvc学习笔记--ueditor和springmvc的集成 前言: 在web开发中, 富文本的编辑器真心很重要. 有电商店铺的打理, 新闻稿/博客文章/论坛帖子的编辑等等, 这种所见即所的 ...

最新文章

  1. linux转换二进制命令,Linux--二进制,十进制,十六进制如何转换,单位换算
  2. oracle 11g中的自动维护任务管理
  3. 奇怪,不能上GOOGLE了...你们也是这样吗?
  4. LeetCode-二分查找-35. 搜索插入位置
  5. MySQL语法解析和预处理(Parser Preprocessor)
  6. Shallow and retained sizes
  7. plone进行 用户和权限管理
  8. 视觉SLAM十四讲学习笔记-第六讲-非线性优化的状态估计问题
  9. BZOJ 3261: 最大异或和位置-贪心+可持久化01Trie树
  10. QT pro文件 Win/Linux跨平台写法
  11. 读《Ideal MHD》(1)-磁流体力学方程组推导
  12. Nginx反向代理、配置ssl证书
  13. Mac Webpack Vue项目的搭建
  14. 使用Nexus搭建Maven私服教程(附:nexus上传、下载教程)
  15. catia 斑马线分析_在CATIA中使用斑马线检查曲面光顺性的方法 | 坐倚北风
  16. 数字图像处理实验之图像压缩
  17. Python之线程的同步互斥与死锁
  18. Ajax你需要系统的掌握 系统教程
  19. 戴尔r510服务器加硬盘没反应,戴尔R510_R410_R610_R710等所有服务器安装win2003解决办法...
  20. ASP.NET MVC 开源建站系统 ZKEACMS 推荐,从此网站“拼”起来

热门文章

  1. 博客小编风明姗姗来迟
  2. python案例实操_Python 操作 Word 案例
  3. QGIS插件开发-执法业务计算
  4. 2段代码实现在所有浏览器下显示特殊字体(附字体转换工具)
  5. b365老掉线 h3c路由器_H3C路由器PPP连接的常见故障及解决方法
  6. mac 全局安装 Cz 工具【踩坑】
  7. SAP 财务月结之 外币评估(TCODE:FAGL_FC_VAL,S4版本用 FAGL_FCV)<转载>
  8. Unity-Photon Pun2个人总结
  9. java猜拳_java实现猜拳小游戏
  10. 多年测试经验分享:上市公司怎么进行安全测试