发表于: 2020-06-01 22:05:31

1 1262


今天完成的事情:

学习了一下注解。

关于昨天碰到的那个问题:根据ID查询学员和查询所有学员使用的都是@GetMapping,同时存在会报错。

其实可以使用@PathVariable注解来解决:

@GetMapping("/Rest/{ID}")
@ResponseBody
public JSONObject SelectById(@PathVariable(name = "ID")Long ID,Model model){
JSONObject jsonObject = new JSONObject();
   jsonObject =jsonObject.fromObject(model.addAttribute("student",studentService.SelectById(ID)));
   return jsonObject;
}

这样在发送请求的时候,如果/Rest则是查询所有学员;如果/Rest/1,则是根据ID查询。


@RequestParam:把请求中指定的参数传给控制器(Controller)中的形参。

语法:@RequestParam(value=”参数名”,required=”true/false”,defaultValue=””)required表示是否必传,defaultValue表示默认值。


@RequestBody:主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。


@ModelAttribute:出现在方法上,表示当前方法会在控制器的方法执行前先执行。出现在参数上,可以获取指定的数据给参数赋值。


@SessionAttribute:用于方法之间参数的共享。


页面跳转有两种方式:

1,转发:

request.getRequestDispatcher().forward()方法,只能将请求转发给同一个WEB应用中的组件。

2,重定向:

response.sendRedirect() 方法不仅可以重定向到当前应用程序中的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源。

例如

//删除学员
@RequestMapping("/Delete")
public void Delete(Long ID, HttpServletRequest request, HttpServletResponse response)throws Exception{
studentService.Delete(ID);
   response.sendRedirect(request.getContextPath()+"/Student/GetAllStudent");
   return;
}

执行删除操作之后返回所有学员页面。


响应:

1,返回值是String类型:之前用的都是这种,例如:

@RequestMapping("/Update")
public String Update(Student student){
studentService.Update(student);
   return "Update";
}

会跳转到Update.jsp页面。


2,返回值是void类型:

@RequestMapping("/Delete")
public void Delete(Long IDHttpServletRequest requestHttpServletResponse response)throws Exception{
studentService.Delete(ID);
   response.sendRedirect(request.getContextPath()+"/Student/GetAllStudent");
   return;
}

默认会跳转到对应的jsp页面,一般会用转发或重定向解决。


3,返回值是ModelAndView:

和第一种类似,但是写法不一样。


学习jetty:run。
首先在pom中:


添加jetty


启动jetty

这里我启动失败了,一直报错插件未加载。没办法只能从官网手动下载了。

解压之后


跟Tomcat有点相似。

运行报错:

明天再解决了。

今天的收获:学习了几个常用注解,初步了解jetty。

明天计划完成的事情:解决jetty的问题。

碰到的问题:jetty使用问题。


返回列表 返回列表
评论

    分享到