接着上一讲介绍springMVC针对rest风格的支持。

  1. 查询数据
  2. 使用前:/user_show?id=120
  3. 使用后:/user/120
  4.  
  5. 删除数据
  6. 使用前:/user_delete?id=123
  7. 使用后:/user/123/delete
  8.  
  9. 更新数据
  10. 使用前:/user_updateInput?id=123
  11. 使用后:/user/123/update
  12.  
  13. 查询所有数据
  14. 使用前:/user_list
  15. 使用后:/user/users

  使用Rest风格是针对某一数据在具体业务操作之前的url都是一致的,只是针对具体业务方法,修改最后的url,如之上的针对id为120的查询、删除、更新和修改操作的通用url都是/user/120/xxx,最后的“xxx”代表不同的处理逻辑,这样可以增强代码的可读性。

  以下是查询所有数据的实现。

  步骤一:创建user实体;

  1. package zttc.itat.entity;
  2.  
  3. public class Users {
  4. private String username;
  5. private String password;
  6. private String nickname;
  7. private String email;
  8. /**
  9. * @return the username
  10. */
  11. public String getUsername() {
  12. return username;
  13. }
  14. /**
  15. * @param username the username to set
  16. */
  17. public void setUsername(String username) {
  18. this.username = username;
  19. }
  20. /**
  21. * @return the password
  22. */
  23. public String getPassword() {
  24. return password;
  25. }
  26. /**
  27. * @param password the password to set
  28. */
  29. public void setPassword(String password) {
  30. this.password = password;
  31. }
  32. /**
  33. * @return the nickname
  34. */
  35. public String getNickname() {
  36. return nickname;
  37. }
  38. /**
  39. * @param nickname the nickname to set
  40. */
  41. public void setNickname(String nickname) {
  42. this.nickname = nickname;
  43. }
  44. /**
  45. * @return the email
  46. */
  47. public String getEmail() {
  48. return email;
  49. }
  50. /**
  51. * @param email the email to set
  52. */
  53. public void setEmail(String email) {
  54. this.email = email;
  55. }
  56. public Users(String username, String password, String nickname, String email) {
  57. super();
  58. this.username = username;
  59. this.password = password;
  60. this.nickname = nickname;
  61. this.email = email;
  62. }
  63.  
  64. }

步骤二:新建controller类,在其中新建用于测试的user对象,并通过Model类返回;

  1. package zttc.itat.controller;
  2. //此处存在url映射,对应查询所有成员的url为: /user/users
  3.  
  4. @Controller
  5. @RequestMapping(value="/user")
  6. public class UserController {
  7. private Map<String, Users> users = new HashMap<String, Users>();
  8.  
  9. public UserController() {
  10. //新建用于测试的对象
  11. users.put("sdy", new Users("sdy", "123", "宋冬野", "asss"));
  12. users.put("ldm", new Users("ldm", "123", "刘东明", "asss"));
  13. users.put("zyp", new Users("zyp", "123", "周云蓬", "asss"));
  14. users.put("zww", new Users("zww", "123", "张玮玮", "asss"));
  15. users.put("wt", new Users("wt", "123", "吴吞", "asss"));
  16. }
  17.  
  18. @RequestMapping(value = "/users", method = RequestMethod.GET)
  19. public String list(Model model) {
  20. //此处返回前台页面的对象为“users”,前台通过${users}来获取对象
  21. model.addAttribute("users", users);
  22. //跳转的页面为user文件夹下的list.jsp文件,之前在servlet中有指定前缀和后缀
  23. return "user/list";
  24. }
  25. }

步骤三:将放在model中的users在前台进行显示,对应跳转到的url为/user/users。前台使用jstl来循环显示数据,使用前需要导入jstl.jar。在jsp头部导入jstl标签库,对应代码如下所示:

  1. <%@ page language="java" contentType="text/html; charset=utf-8"
  2. pageEncoding="utf-8"%>
  3. <!--头部需要导入jstl标签库,标签以c开头-->
  4. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  6. <html>
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  9. <title>用户列表</title>
  10. </head>
  11. <body>
  12. <!--在items中获取从controller中得到的users对象。-->
  13. <c:forEach items="${users}" var="um" >
  14. ${um.value.username }
  15. ----${um.value.nickname }
  16. ----${um.value.password }
  17. ----${um.value.email }<br/>
  18. </c:forEach>
  19. </body>
  20. </html>

对应显示效果如下图所示:

对应工程结构如下图所示:

springMVC入门-03的更多相关文章

  1. springMVC入门(一)

    1.   SpringMVC入门 1.1SpringMVC是什么 Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出 ...

  2. SpringMVC札集(01)——SpringMVC入门完整详细示例(上)

    自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...

  3. 【Spring】SpringMVC入门示例讲解

    目录结构: // contents structure [-] SpringMVC是什么 Spring MVC的设计原理 SpringMVC入门示例 1,复制Jar包 2,Web.xml文件 3,My ...

  4. Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序(一)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)——S ...

  5. SpringMVC入门第二天

    SpringMVC第二天 1.   回顾 1.Springmvc介绍? Springmvc是Spring公司 2.Springmvc入门程序 第一步:Web工程 第二步:导Jar包 第三步:web.x ...

  6. CSS3基础入门03

    CSS3 基础入门03 线性渐变 在css3当中,通过渐变属性实现之前只能通过图片实现的渐变效果.渐变分为线性渐变和径向渐变以及重复渐变三种.线性渐变的模式主要是颜色从一个方向过渡到另外一个方向,而径 ...

  7. 3.2.1 SpringMVC入门

    一. SpringMVC入门 1. MVC介绍 MVC全名 是Model View Controller, 是模型(model) - 视图(view) - 控制器(controller) 的缩写, 它 ...

  8. 【网络爬虫入门03】爬虫解析利器beautifulSoup模块的基本应用

    [网络爬虫入门03]爬虫解析利器beautifulSoup模块的基本应用   1.引言 网络爬虫最终的目的就是过滤选取网络信息,因此最重要的就是解析器了,其性能的优劣直接决定这网络爬虫的速度和效率.B ...

  9. SpringMVC入门学习(二)

    SpringMVC入门学习(二) ssm框架 springMVC  在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...

随机推荐

  1. es6中let,const区别与其用法

    ECMAScript 是什么? 首先,我们都知道JavaScript由三部分组成:ECMAScript,DOM,BOM: 其中的ECMAScript是Javascript的语法规范. ECMAScri ...

  2. Python2.x 中文乱码问题

    Python 文件中如果未指定编码,在执行过程会出现报错: #!/usr/bin/pythonprint "你好,世界"; 以上程序执行输出结果为: File "test ...

  3. 终于完成了-- github.com/salomon1184/METP

  4. The number of object passed must be even but was [1]

    1.失败,使用TransportClient public static void bulkInsert(TransportClient client) throws IOException { Li ...

  5. [磁盘空间]lsof处理文件恢复、句柄以及空间释放问题

    曾经在生产上遇到过一个df 和 du出现的结果不一致的问题,为了排查到底是哪个进程占用了文件句柄,导致空间未释放,首先在linux上面,一切皆文件,这个问题可以使用lsof这个BT的命令来处理(这个哈 ...

  6. springcloud-feign的hystrix支持

    关于hystrix的介绍,可以看我的上篇博客:springcloud-断路器hystrixs 本文主要介绍在feign中,如何使用hystrix 1.pom依赖 <dependency> ...

  7. cefsharp 在anycpu下运行

    从cefsharp57开始就支持anycpu了,不过需要一些设置: 1.首先要打开*.csprj文件,添加节点 <CefSharpAnyCpuSupport>true</CefSha ...

  8. MyEclipse中更改JRE环境

    今天代码中需要用到λ表达式,但λ表达式需要JRE1.8的支持,而MyEclipse设置的默认JRE是1.7.为了是程序能够顺利通过编译,需要将MyEclipse的JRE由1.7转换为1.8.步骤如下:

  9. SpringBoot(六) Web Applications: Embedded Containers(嵌入式容器)

    参考 文档: 28.4 Embedded Servlet Container Support

  10. 海量数据中找出前k大数(topk问题)

    海量数据中找出前k大数(topk问题) 前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小 ...