发表于: 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中的更改,添加和查询



返回列表 返回列表
评论

    分享到