java ssm框架做增删改查_ssm框架restful风格实现增删改查

1、什么是restful风格

大家在做Web开发的过程中,method常用的值是get和post. 可事实上,method值还可以是put和delete等等其他值。 既然method值如此丰富,那么就可以考虑使用同一个url,但是约定不同的method来实施不同的业务,这就是Restful的基本考虑。

2、restful风格独特之处

2.1 url的不同

2.2 请求方法的不同

学习javaweb的时候,我们只知道了get和post两种请求方法,当restful却不止这两种

获取数据:GET请求

增加数据:POST请求

修改数据:PUT请求

删除数据:DELETE请求

3、ssm实现restful风格增删改查

3.1 配置HiddenHttpMethodFilter过滤器

浏览器form表单只支持get和post请求,而delete和put请求并不支持。HiddenHttpMethodFilter是spring中自带的一个过滤器,可以将浏览器表单请求转换为标准的http请求,使它们支持get、post、delete、put请求。

HiddenHttpMethodFilter

org.springframework.web.filter.HiddenHttpMethodFilter

HiddenHttpMethodFilter

/*

3.2 在jsp中如何指定form表单的请求方式

在表单中加入隐藏域,name属性一定要为 ”_method“,这样刚才配的HiddenHttpMethodFilter拦截器才能够识别,value属性就是我们需要的请求方式。这样springmvc就会帮我们做

3.3 restful参数传递

在获取一条数据时或删除一条数据时,一般情况下前端要向后端传入一个id值,restful风格的参数传递与之前讲的注解@RequestMapping()注解映射请求中的URI模板一样,将参数作为变量放在URL中。

示例:

前端传入id值为10000,id为以参数变量

前端浏览器URL:http://www.example.com/users/10000

@RequestMapping()注解:@RequestMapping("/users/{id}")

方法中接收id:public String getOneUser(@PathVariable("id") int id){}

3.4增删改查实例

controller:

@Controller

public class UserController {

@Resource(name="userService")

UserService userService;

/*

* 查询所有用户

*/

@RequestMapping(value="/users",method=RequestMethod.GET)

public String index(Model model) {

List users = userService.getAllUser();

model.addAttribute("users", users);

return "users";

}

/*

* 转发到添加用户的视图

*/

@RequestMapping("/addUserView")

public String addUserView() {

return "add";

}

/*

* 添加用户

*/

@RequestMapping(value="/addUser",method=RequestMethod.POST)

public String addUser(User user) {

userService.addUser(user);

return "redirect:/users";

}

/*

* 获取所要修改用户的信息

*/

@RequestMapping(value="/user/{id}",method=RequestMethod.GET)

public String updateUserView(@PathVariable("id") Integer id,Model model) {

User user = userService.getOneUserById(id);

model.addAttribute("user",user);

return "updateUserView";

}

/*

* 修改用户信息

*/

@RequestMapping(value="/user",method=RequestMethod.PUT)

public String updateUser(User user) {

userService.updateUser(user);

return "redirect:/users";

}

/*

* 删除用户

*/

@RequestMapping(value="/user/{id}",method=RequestMethod.DELETE)

public String deleteUser(@PathVariable("id") Integer id) {

userService.deleteUser(id);

return "redirect:/users";

}

}

jsp:

users.jsp:

pageEncoding="UTF-8"%>

获取全部用户信息
编号用户名密码操作
${user.id }${user.username }${user.password }修改

添加员工

add.jsp:

pageEncoding="UTF-8"%>

Insert title here

用户名:

密 码:

updateUserView.jsp:

pageEncoding="UTF-8"%>

Insert title here
编号

value="${requestScope.user.id }">

用户名

value="${requestScope.user.username }">

密码

value="${requestScope.user.password }">

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值