发表于: 2018-02-27 23:19:08
1 588
今天完成的事
1.学习result风格
REST简单来说是一种软件架构风格,从任务二开始就要开始进行WEB的学习了,那么WEB是什么呢,WEB是分布式信息系统为超文本文件和其他对象(资源)提供访问入口,资源是Web架构的关键点,需要 3个操作:识别(identify) 表示(represent) 交互(interact with),通过这三个操作,又引出三个概念uri(统一资源标识符包括url和urn)识别资源;representation (例如html,xml,图片,视频等等)表示资源;通过协议(包括http,ftp等等)与资源进行交互。
接下来是API的概念,API是一种接口,他可以为各种软件提供交互功能,举个例子,比如你可以用手机的其他软件分享内容到微信朋友圈或者新浪微博,这些软件就是与微信和微博的api进行了交互。那么什么是REST呢,REST就是API的一种规则和风格,大家都遵守这种规则的话,就可以方便各种软件的交互,比如我在微博上看到了好玩的东西,就可以分享给我的微信好友。
所以REST就是选择通过使用http协议和uri,利用client/server model对资源进行(Create/Read/Update/Delete)增删改查操作。
个人理解就是REST把各种资源用URL进行定位,用HTTP对其进行操作。
2.在昨天的基础上进行rest风格接口的更改
更改控制器
@Controller
public class StudentSController {
@Autowired
StudentSService studentSService;
@RequestMapping(value="/studentS",method= RequestMethod.GET)
public ModelAndView listStudentS(){
System.out.println("1111111111111111");
ModelAndView mav = new ModelAndView();
List<StudentS> cs=studentSService.list();
// 放入转发参数
mav.addObject("cs", cs);
// 放入jsp路径
mav.setViewName("listStudentS");
return mav;
}
@RequestMapping(value="/studentS",method=RequestMethod.PUT)
public ModelAndView addStudentS(StudentS studentS){
studentSService.add(studentS);
ModelAndView mav=new ModelAndView("redirect:/studentS");
return mav;
}
@RequestMapping(value="/studentS/{id}",method=RequestMethod.DELETE)
public ModelAndView deleteStudentS(StudentS studentS){
studentSService.delete(studentS);
ModelAndView mav = new ModelAndView("redirect:/studentS");
return mav;
}
@RequestMapping(value="/studentS/{id}",method=RequestMethod.POST)
public ModelAndView updateStudentS(StudentS studentS){
studentSService.update(studentS);
ModelAndView mav = new ModelAndView("redirect:/studentS");
return mav;
}
@RequestMapping(value="/studentS/",method = RequestMethod.GET)
public ModelAndView editStudentS(StudentS studentS) {
StudentS c = studentSService.get(studentS.getId());
if (null == c) {
ModelAndView mav = new ModelAndView("good");
mav.addObject("message", "用户不存在");
return mav;
}
ModelAndView mav = new ModelAndView("editStudentS");
mav.addObject("c",c);
return mav;
}
在web.xml中添加
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
jsp的更改
<%@ page language="Java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
/*将post method 改变为delete*/
$(function(){
$(".delete").click(function(){
var href=$(this).attr("href");
$("#formdelete").attr("action",href).submit();
return false;
})
})
</script>
<div style="width:500px;margin:0px auto;text-align:center">
<table align='center' border='1' cellspacing='0'>
<tr>
<td>id</td>
<td>name</td>
<td>age</td>
<td>编辑</td>
<td>删除</td>
</tr>
<c:forEach items="${cs}" var="c" varStatus="st">
<tr>
<td>${c.id}</td>
<td>${c.name}</td>
<td>${c.age}</td>
<td><a href="studentS/${c.id}">编辑</a></td>
<td><a class="delete" href="studentS/${c.id}">删除</a></td>
</tr>
</c:forEach>
</table>
<div style="text-align:center;margin-top:40px">
<form method="post" action="studentS">
<input type="hidden" name="_method" value="PUT">
ID:<input name="id" value="" type="text"> <br><br>
age:<input name="age" value="" type="text"><br><br>
姓名:<input name="name" value="" type="text" ><br><br>
<input type="submit" value="点击注册">
</form>
<form method="GET" action="${pageContext.request.contextPath }/
studentS/">
ID:<input name="id" value="${c.id}" type="text"> <br><br>
<%--age:<input name="age" value="${c.age}" type="text"><br><br>--%>
<%--姓名:<input name="name" value="${c.name}" type="text" ><br><br>--%>
<input type="submit" value="点击查询">
</form>
</div>
</div>
<form id="formdelete" action="" method="POST">
<input type="hidden" name="_method" value="DELETE">
</form>
明天计划的事情
完成删除功能和josn
遇到的问题
今天又遇到了一个问题,花费了很长时期,最终在各位师兄的努力下得到了解决,
收获
完成了rest中的更改,添加和查询
评论