springmvc restful风格操作

ssm框架

controller:

package com.sgcc.controller;

import java.util.ArrayList;
import java.util.List;

import org.omg.CORBA.PUBLIC_MEMBER;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import com.sgcc.entity.User;

@Controller
@RequestMapping("/user")//窄化--分模块开发,团队协作-- 注意页面跳转 加/ 或视图解析器
public class UserController {
    private List<User> list = new ArrayList<User>();

    public UserController() {
        list.add(new User(1,"张三","1111"));
        list.add(new User(2,"李四","1111"));
        list.add(new User(3,"王五","3333"));

    }
    //查询所有用户
    @RequestMapping("/list")
    public String list(ModelMap map){
        map.addAttribute("list", list);
        //System.out.println(list.toString());
        return "/list.jsp";
    }
    //添加用户
    @RequestMapping("/add")
    public String add(User user){
        user.setId(list.get(list.size()-1).getId()+1);
        list.add(user);
        //return "/user/list.do"
        return "redirect:list.do";
    }
    //删除用户
    @RequestMapping("/delete")
    public String delte(int id){
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).getId()==id) {
                list.remove(i);
                break;
            }
        }
        return "redirect:list.do";
    }
    //传统url delete?id=123;
    //restful风格的开发 delete/123
    //url /user/123/delete1
    @RequestMapping("/{id}/delete1")
    public String delete1(@PathVariable int id){
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).getId()==id) {
                list.remove(i);
                break;
            }
        }
        return "redirect:/user/list.do";
    }
}

前端:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP ‘index.jsp‘ starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>

  <body>
       <table width="80%" align="center">
           <tr>
               <td colspan="4" align="right"><a href="add.jsp">添加</a></td>
           </tr>
           <tr>
               <td>编号</td>
               <td>姓名</td>
               <td>密码</td>
               <td>操作</td>
           </tr>
           <c:forEach items = "${list }" var="bean">
               <tr>
               <td>${bean.id }</td>
               <td>${bean.name }</td>
               <td>${bean.pwd }</td>
               <td><a href="user/delete.do?id=${bean.id }">删除</a>
               <td><a href="user/${bean.id }/delete1.do">删除2</a>
               </td>
           </tr>
           </c:forEach>
       </table>
  </body>
</html>
时间: 2024-12-24 09:42:50

springmvc restful风格操作的相关文章

POSTMAN测试SpringMVC RESTFul风格的服务端接口始终得不到值

后台接口中接收参数使用DataObject(包含一个String类型的属性data)     ServletRequestDataBinder binder = new ServletRequestDataBinder(new DataObject());     binder.bind(request); 然后再POSTMAN中使用如图的方式传参: 可以发现得到的返回值是null,而且根据后台调试,确实没有得到传入的参数.切回x-www-form-urlencoded模式下然后将此对象用如下方

Restful风格API接口开发springMVC篇

Restful风格的API是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. 在Restful风格中,用户请求的url使用同一个url而用请求方式:get,post,delete,put...等方式对请求的处理方法进行区分,这样可以在前后台分离式的开发中使得前端开发人员不会对请求的资源地址产生混淆和大量的检查方法名的麻烦,形成一个统一的接口. 在Restful风格中,现

springMVC+json构建restful风格的服务

首先.要知道什么是rest服务,什么是rest服务呢? REST(英文:Representational State Transfer,简称REST)描写叙述了一个架构样式的网络系统.比方 web 应用程序. 它首次出如今 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之中的一个. 在眼下主流的三种Web服务交互方案中.REST相比于SOAP(Simple Object Access protocol,简单对象訪问协议)以及XML-RPC更加简单明了,不管

restful风格。Springmvc

1. restful风格.Springmvc  Localhost:8080/springmvc-01/user Method=”post” Uri:资源的形式传递到后台. Delete 删除. Localhost:8080/springmvc-01/user/3 Get:查询操作 Localhost:8080/springmvc-01/user/1 Post:添加Localhost:8080/springmvc-01/user Put:修改 Localhost:8080/springmvc-0

SpringMVC:Controller 及 RestFul风格

SpringMVC:Controller 及 RestFul风格 控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现. 控制器负责解析用户的请求并将其转换为一个模型. 在Spring MVC中一个控制器类可以包含多个方法 在Spring MVC中,对于Controller的配置方式有很多种 我们来看看有哪些方式可以实现: Controller是一个接口,在org.springframework.web.servlet.mvc包下,接口中只有一个方

MockMVC - 基于RESTful风格的SpringMVC的测试

MockMVC - 基于RESTful风格的SpringMVC的测试 对于前后端分离的项目而言,无法直接从前端静态代码中测试接口的正确性,因此可以通过MockMVC来模拟HTTP请求.基于RESTful风格的SpringMVC的测试,我们可以测试完整的Spring MVC流程,即从URL请求到控制器处理,再到视图渲染都可以测试. package test.example.controller; import com.DemoApplication; import com.example.enti

构造Restful风格的SpringMVC

pringmvc 3.0 中增加 RESTful URL功能,构造出类似javaeye现在的URL. rest介绍 , 这里还有struts2 rest构造的一篇文章: 使用 Struts 2 开发 RESTful 服务 简单例子如下,比如如下URL Java代码  /blog/1  HTTP GET =>    得到id = 1的blog /blog/1  HTTP DELETE => 删除 id = 1的blog /blog/1  HTTP PUT  =>   更新id = 1的bl

SpringMVC实现Restful风格的WebService

1.环境 JDK7 MyEclipse2014 tomcat8 maven 3.3.3 spring4.1.4 2.创建maven工程 使用MyEclipse创建maven工程的方式可以参考这篇博文(链接1), 该博文中的第四小结是关于如何创建SpringMVC+maven教程.下面只给出创建好的目录结构,其中的部分文件如java程序是后面要完成的. 3.指定依赖文件 maven具有特定的文件结构,并通过pom.xml来管理工程.下面是在实现Restful时需要的依赖. 1 <project x

springMvc框架之Restful风格

method: @Controller @RequestMapping("/test") public String MyController{ @RequestMapping("/begin") public String hi(HttpServletRequest request){ String name=request.getParameter("name"); System.out.println(name); return "