package gu.bao.ls.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; //@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。 //@RequestMapping如果没有指定请求方式,将接收Get、Post、Head、Options等所有的请求方式.同理还有@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping等 //PrintWriter(字符打印流):具有自动行刷新的缓冲字符输出流,特点是可以按行写出字符串,并且可以自动行刷新。 //BufferedWriter是缓冲字符输出流,内部有缓冲区可以进行块写操作提供效率,而PrintWriter就是通过连接它实现的缓冲功能 @Controller public class Show { @GetMapping("/m1") @ResponseBody //GetMapping(用于简化开发) get请求获取映射,ResponseBody 直接在页面中显示显示 public String m1() { return "hello 中国"; } @RequestMapping("/m2") public void m2(PrintWriter out) { out.println("hello 钟鬼"); } @GetMapping("/m3") public void m3(HttpServletRequest request, HttpServletResponse resp) { System.out.println("中文 Hello word"); resp.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=utf-8"); PrintWriter out = null; try { out = resp.getWriter(); } catch (IOException e) { e.printStackTrace(); } out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<meta charset=\"utf-8\">"); out.println("<title>玉灵 QQ:7031633 Email:webrx@126.com</title>"); out.println("<meta name=\"keywords\" content=\"关键字\">"); out.println("<meta name=\"description\" content=\"简介\">"); out.println("</head>"); out.println("<body>"); out.println("<h3>Hello World 中文效果</h3>"); out.println("</body>"); out.println("</html>"); out.flush(); out.close(); } }
indexController.java
package gu.bao.ls.controller; import gu.bao.ls.mapper.BookMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class IndexController { @Autowired private BookMapper bookdao; @RequestMapping("/") @ResponseBody public String index(){ return "SSM Like Shop(商城系统)" + bookdao.queryAll(); } @GetMapping("/show") public String show(Model m){ m.addAttribute("name","李四"); return "show"; } }
Myshow
package gu.bao.ls.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; //自己的控制器直接显示,不再需要@ResponseBody,里面有 @RestController @RequestMapping("/user") public class Myshow { //?name=李四.user add增加李四 @GetMapping("add") public String uadd(String name){ return "user add增加"+name; } @GetMapping("save/{id}") public String usave(@PathVariable("id")int id){ return "user usave: "+id; //user usave: 7998 } }
//@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。
//@RequestMapping如果没有指定请求方式,将接收Get、Post、Head、Options等所有的请求方式.同理还有@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping等
//PrintWriter(字符打印流):具有自动行刷新的缓冲字符输出流,特点是可以按行写出字符串,并且可以自动行刷新。
//BufferedWriter是缓冲字符输出流,内部有缓冲区可以进行块写操作提供效率,而PrintWriter就是通过连接它实现的缓冲功能
Controller(控制器)、@RequestMapping、@ResponseBody、@GetMapping、的使用