`

springmvc的rest风格之四实现用户修改删除(基于资源导向)

 
阅读更多

Action控制器UserController.java中添加方法:

/**
 * 修改用户前
 * 
 * @param username
 * @param model
 * @return
 */
@RequestMapping(value = "/{username}/updateUserPro", method = RequestMethod.GET)
public String updateUserPro(@PathVariable String username, Model model) {
	model.addAttribute(users.get(username));
	return "user/updateUser";
}

/**
 * 修改用户
 * 
 * @param username
 * @param user
 * @return
 */
@RequestMapping(value = "/{username}/updateUser", method = RequestMethod.POST)
public String updateUser(@PathVariable String username, @Valid User user, BindingResult br) {
	if (br.hasErrors()) {
		return "user/updateUser";
	}
	users.put(username, user);
	return InternalResourceViewResolver.REDIRECT_URL_PREFIX + "/user/userList";
}

/**
 * 删除用户
 * 
 * @param username
 * @return
 */
@RequestMapping(value = "/{username}/deleteUser", method = RequestMethod.GET)
public String deleteUser(@PathVariable String username) {
	users.remove(username);
	return InternalResourceViewResolver.REDIRECT_URL_PREFIX + "/user/userList";
}

/**
 * 展示用户详细信息
 * 
 * @param username
 * @param model
 * @return
 */
@RequestMapping(value = "/{username}", method = RequestMethod.GET)
public String showUser(@PathVariable String username, Model model) {
	model.addAttribute(users.get(username));
	return "user/showUser";
}

 

这里,每个用户的信息包含在请求的url(也就是所谓的rest风格)

修改用户列表页面/jsp/user/userList.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%@ 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=GBK">
<title>用户列表</title>
</head>
<body>
	登录用户名:${loginUser.username }<br>
	<a href="addUserPro">添加用户</a>
	<table border="1">
		<tr>
			<th>用户名</th>
			<th>别名</th>
			<th>密码</th>
			<th>邮箱</th>
			<th>操作</th>
		</tr>
		<c:forEach items="${users}" var="user">
			<tr>
				<td><a href="${user.key }">${user.value.username }</a></td>
				<td>${user.value.nickname }</td>
				<td>${user.value.password }</td>
				<td>${user.value.email }</td>
				<td><a href="${user.key }/updateUserPro">更新</a>&nbsp;<a href="${user.key }/deleteUser">删除</a></td>
			</tr>
		</c:forEach>
	</table>
</body>
</html>

 

添加用户新增页面/jsp/user/updateUser.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form"%>
<!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=GBK">
<title>修改用户</title>
</head>
<body>
	<sf:form method="post" modelAttribute="user" action="updateUser">
		用户名*:<sf:input path="username"/><sf:errors path="username" cssStyle="color:red"/><br>
		别名:<sf:input path="nickname"/><br>
		密码*:<sf:password path="password"/><sf:errors path="password" cssStyle="color:red"/><br>
		邮箱*:<sf:input path="email"/><sf:errors path="email" cssStyle="color:red"/><br>
		<input type="submit" value="修改"/>
	</sf:form>
</body>
</html>

 

添加展示用户信息页面/jsp/user/showUser.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<!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=GBK">
<title>展示用户信息</title>
</head>
<body>
	<form>
		用户名:${user.username },别名:${user.nickname },密码:${user.password },邮箱:${user.email }
	</form>
</body>
</html>

 

在浏览器中输入:

http://127.0.0.1:9900/springmvc_005_rest_04/user/

 

  • 大小: 5.8 KB
分享到:
评论

相关推荐

    SSM笔记-SpringMVC REST风格、基本标签初识

    在SpringMVC框架中,实现REST风格的接口可以让我们的API更加简洁,易于理解和使用。本笔记将深入探讨如何在SpringMVC中创建RESTful的API。 1. **REST原则** - 统一接口:REST接口应具有统一的格式,通常使用HTTP...

    springMVC rest风格视图解析

    REST(Representational State Transfer)风格的架构设计是Web服务的一种理想模式,它强调资源的表述和状态转移,使得API更易于理解和使用。本篇文章将深入探讨Spring MVC如何实现REST风格的视图解析,以及如何根据...

    SpringMVC构建REST接口的源代码

    SpringMVC 是一个基于 Spring 框架的轻量级 Web 开发模块,它使得开发者可以轻松地构建可复用、可维护的 MVC(Model-View-Controller)应用程序。REST(Representational State Transfer)是一种软件架构风格,常...

    SpringMVC构建REST接口:第四篇 第一个REST风格的接口的源代码

    在本篇中,我们将深入探讨如何使用Spring MVC构建RESTful接口,主要关注的是...在"SpringMVC构建REST接口:第四篇 第一个REST风格的接口的源代码"这个主题中,你将找到一个完整的示例,帮助你更好地理解和实践这些知识。

    基于springMVC3.2的REST源码,结合了jquery和json

    1. **资源(Resources)**:在REST中,每个资源都有一个唯一的URI(Uniform Resource Identifier),例如 `/users/123` 表示用户ID为123的用户资源。 2. **HTTP方法(CRUD操作)**: - **GET**:用于获取资源信息...

    基于springmvc实现文件上传下载 基于AOP的日志功能

    基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于...

    spring+springmvc+mybatis项目案例实现用户角色权限管理

    使用spring+springmvc框架 整合了Mybatis持久层框架 整合Druid用于数据库连接,并使用Druid对业务层监控spring jdbc 整合EhCache,对Mybatis的二级缓存进行管理和对spring进行缓存管理 整合FastJson对指定http类型的...

    Maven整合rest+SpringMvc实例

    本人在前辈《从MVC到前后端分离(REST-个人也认为是目前比较流行和比较好的方式)》一文的基础上,实现了一个基于Spring的符合REST风格的完整Demo,具有MVC分层结构并实现前后端分离,该项目体现了一个具有REST风格...

    SpringMVC4.2 开发Rest接口

    SpringMVC作为Spring框架的一部分,提供了一种强大的方式来实现REST接口。 在SpringMVC 4.2中,开发者可以利用一系列的特性来简化REST服务的开发: 1. **HTTP方法支持**:RESTful接口通常基于HTTP的CRUD操作,如...

    SpringMVC实现用户角色管理

    同时,我们还需要实现授权功能,如基于角色的访问控制(RBAC),通过检查用户角色来决定他们能访问哪些资源。 此外,为了提高用户体验,可以引入Spring Security来增强安全功能,它提供了登录、授权、会话管理等...

    activiti+springMVC+mybatis rest风格整合demo

    在本项目"activiti+springMVC+mybatis rest风格整合demo"中,开发者通过集成Activiti、Spring MVC和MyBatis三个核心组件,构建了一个基于RESTful API的工作流管理系统。这个项目对于初学者来说是一个很好的学习资源...

    springmvc实现的简单用户管理系统

    本项目是使用SpringMVC实现的一个简单的用户管理系统,非常适合初学者学习和理解SpringMVC的工作原理。 1. **SpringMVC基本架构** SpringMVC的核心组件包括DispatcherServlet(前端控制器)、HandlerMapping...

    SpringMVC RESTFUL风格

    #### 四、SpringMVC中实现RESTFUL风格的方法 在SpringMVC框架中实现RESTFUL风格主要依靠`@RequestMapping`注解和`@PathVariable`注解。 ##### `@RequestMapping`注解 `@RequestMapping`用于映射请求到控制器类或...

    SpringMVC精品资源--RestSpringMVCDemo项目是一个基于Spring的符合REST风格的项目,.zip

    **SpringMVC与REST风格详解** SpringMVC是Spring框架的一部分,它是一个用于构建Web应用程序的模型-视图-控制器(MVC)架构。在Java世界中,SpringMVC因其强大的功能、高度的可配置性和良好的社区支持而备受青睐。...

    Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码.zip

    Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+...

    SpringMVC+REST+AngularJS框架

    REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,强调资源的概念,通过HTTP方法(GET、POST、PUT、DELETE等)来操作资源。RESTful API设计的核心原则包括: 1. **...

    SpringMVC-REST风格和SSM整合(注解版)彩色PPT版本.pptx

    REST风格简介 2、RESTful入门案例 入门案例 请求方法设定 请求路径参数 3、REST快速开发 RESTful快速开发(标准开发) @RestController 标准请求动作映射(4种) 4、案例:基于RESTful页面数据交互 5、SSM整合 ...

    基于SpringMVC+Hibernate实现的在线购物商城.zip

    基于springmvc+Hibernate实现的在线购物商城.zip基于springmvc+Hibernate实现的在线购物商城.zip基于springmvc+Hibernate实现的在线购物商城.zip基于springmvc+Hibernate实现的在线购物商城.zip基于springmvc+...

    SpringMVC的Restful风格Demo

    在IT行业中,SpringMVC是Java企业级应用开发中广泛使用的Web框架,它极大地简化了构建基于MVC(Model-View-Controller)架构的应用程序。而RESTful风格是一种设计网络应用程序的方法,它强调资源的概念,并通过HTTP...

    SpringMVC实现用户角色管理(springmvc角色权限管理)

    SpringMVC实现用户角色管理(springmvc角色权限管理) SpringMVC用户管理实现 通过SpringMVC与JSP实现用户角色管理 SpringMVC实现用户角色管理(springmvc角色权限管理

Global site tag (gtag.js) - Google Analytics