springMVC入门-03
接着上一讲介绍springMVC针对rest风格的支持。
- 查询数据
- 使用前:/user_show?id=120
- 使用后:/user/120
- 删除数据
- 使用前:/user_delete?id=123
- 使用后:/user/123/delete
- 更新数据
- 使用前:/user_updateInput?id=123
- 使用后:/user/123/update
- 查询所有数据
- 使用前:/user_list
- 使用后:/user/users
使用Rest风格是针对某一数据在具体业务操作之前的url都是一致的,只是针对具体业务方法,修改最后的url,如之上的针对id为120的查询、删除、更新和修改操作的通用url都是/user/120/xxx,最后的“xxx”代表不同的处理逻辑,这样可以增强代码的可读性。
以下是查询所有数据的实现。
步骤一:创建user实体;
- package zttc.itat.entity;
- public class Users {
- private String username;
- private String password;
- private String nickname;
- private String email;
- /**
- * @return the username
- */
- public String getUsername() {
- return username;
- }
- /**
- * @param username the username to set
- */
- public void setUsername(String username) {
- this.username = username;
- }
- /**
- * @return the password
- */
- public String getPassword() {
- return password;
- }
- /**
- * @param password the password to set
- */
- public void setPassword(String password) {
- this.password = password;
- }
- /**
- * @return the nickname
- */
- public String getNickname() {
- return nickname;
- }
- /**
- * @param nickname the nickname to set
- */
- public void setNickname(String nickname) {
- this.nickname = nickname;
- }
- /**
- * @return the email
- */
- public String getEmail() {
- return email;
- }
- /**
- * @param email the email to set
- */
- public void setEmail(String email) {
- this.email = email;
- }
- public Users(String username, String password, String nickname, String email) {
- super();
- this.username = username;
- this.password = password;
- this.nickname = nickname;
- this.email = email;
- }
- }
步骤二:新建controller类,在其中新建用于测试的user对象,并通过Model类返回;
- package zttc.itat.controller;
- //此处存在url映射,对应查询所有成员的url为: /user/users
- @Controller
- @RequestMapping(value="/user")
- public class UserController {
- private Map<String, Users> users = new HashMap<String, Users>();
- public UserController() {
- //新建用于测试的对象
- users.put("sdy", new Users("sdy", "123", "宋冬野", "asss"));
- users.put("ldm", new Users("ldm", "123", "刘东明", "asss"));
- users.put("zyp", new Users("zyp", "123", "周云蓬", "asss"));
- users.put("zww", new Users("zww", "123", "张玮玮", "asss"));
- users.put("wt", new Users("wt", "123", "吴吞", "asss"));
- }
- @RequestMapping(value = "/users", method = RequestMethod.GET)
- public String list(Model model) {
- //此处返回前台页面的对象为“users”,前台通过${users}来获取对象
- model.addAttribute("users", users);
- //跳转的页面为user文件夹下的list.jsp文件,之前在servlet中有指定前缀和后缀
- return "user/list";
- }
- }
步骤三:将放在model中的users在前台进行显示,对应跳转到的url为/user/users。前台使用jstl来循环显示数据,使用前需要导入jstl.jar。在jsp头部导入jstl标签库,对应代码如下所示:
- <%@ page language="java" contentType="text/html; charset=utf-8"
- pageEncoding="utf-8"%>
- <!--头部需要导入jstl标签库,标签以c开头-->
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>用户列表</title>
- </head>
- <body>
- <!--在items中获取从controller中得到的users对象。-->
- <c:forEach items="${users}" var="um" >
- ${um.value.username }
- ----${um.value.nickname }
- ----${um.value.password }
- ----${um.value.email }<br/>
- </c:forEach>
- </body>
- </html>
对应显示效果如下图所示:
对应工程结构如下图所示:
springMVC入门-03的更多相关文章
- springMVC入门(一)
1. SpringMVC入门 1.1SpringMVC是什么 Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出 ...
- SpringMVC札集(01)——SpringMVC入门完整详细示例(上)
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- 【Spring】SpringMVC入门示例讲解
目录结构: // contents structure [-] SpringMVC是什么 Spring MVC的设计原理 SpringMVC入门示例 1,复制Jar包 2,Web.xml文件 3,My ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序(一)
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)——S ...
- SpringMVC入门第二天
SpringMVC第二天 1. 回顾 1.Springmvc介绍? Springmvc是Spring公司 2.Springmvc入门程序 第一步:Web工程 第二步:导Jar包 第三步:web.x ...
- CSS3基础入门03
CSS3 基础入门03 线性渐变 在css3当中,通过渐变属性实现之前只能通过图片实现的渐变效果.渐变分为线性渐变和径向渐变以及重复渐变三种.线性渐变的模式主要是颜色从一个方向过渡到另外一个方向,而径 ...
- 3.2.1 SpringMVC入门
一. SpringMVC入门 1. MVC介绍 MVC全名 是Model View Controller, 是模型(model) - 视图(view) - 控制器(controller) 的缩写, 它 ...
- 【网络爬虫入门03】爬虫解析利器beautifulSoup模块的基本应用
[网络爬虫入门03]爬虫解析利器beautifulSoup模块的基本应用 1.引言 网络爬虫最终的目的就是过滤选取网络信息,因此最重要的就是解析器了,其性能的优劣直接决定这网络爬虫的速度和效率.B ...
- SpringMVC入门学习(二)
SpringMVC入门学习(二) ssm框架 springMVC 在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...
随机推荐
- es6中let,const区别与其用法
ECMAScript 是什么? 首先,我们都知道JavaScript由三部分组成:ECMAScript,DOM,BOM: 其中的ECMAScript是Javascript的语法规范. ECMAScri ...
- Python2.x 中文乱码问题
Python 文件中如果未指定编码,在执行过程会出现报错: #!/usr/bin/pythonprint "你好,世界"; 以上程序执行输出结果为: File "test ...
- 终于完成了-- github.com/salomon1184/METP
- The number of object passed must be even but was [1]
1.失败,使用TransportClient public static void bulkInsert(TransportClient client) throws IOException { Li ...
- [磁盘空间]lsof处理文件恢复、句柄以及空间释放问题
曾经在生产上遇到过一个df 和 du出现的结果不一致的问题,为了排查到底是哪个进程占用了文件句柄,导致空间未释放,首先在linux上面,一切皆文件,这个问题可以使用lsof这个BT的命令来处理(这个哈 ...
- springcloud-feign的hystrix支持
关于hystrix的介绍,可以看我的上篇博客:springcloud-断路器hystrixs 本文主要介绍在feign中,如何使用hystrix 1.pom依赖 <dependency> ...
- cefsharp 在anycpu下运行
从cefsharp57开始就支持anycpu了,不过需要一些设置: 1.首先要打开*.csprj文件,添加节点 <CefSharpAnyCpuSupport>true</CefSha ...
- MyEclipse中更改JRE环境
今天代码中需要用到λ表达式,但λ表达式需要JRE1.8的支持,而MyEclipse设置的默认JRE是1.7.为了是程序能够顺利通过编译,需要将MyEclipse的JRE由1.7转换为1.8.步骤如下:
- SpringBoot(六) Web Applications: Embedded Containers(嵌入式容器)
参考 文档: 28.4 Embedded Servlet Container Support
- 海量数据中找出前k大数(topk问题)
海量数据中找出前k大数(topk问题) 前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小 ...