Controller(控制器)、@RequestMapping、@ResponseBody、@GetMapping、的使用


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如果没有指定请求方式,将接收GetPostHeadOptions等所有的请求方式.同理还有@PostMapping@PutMapping@DeleteMapping@PatchMapping
//PrintWriter(字符打印流):具有自动行刷新的缓冲字符输出流,特点是可以按行写出字符串,并且可以自动行刷新。
//BufferedWriter是缓冲字符输出流,内部有缓冲区可以进行块写操作提供效率,而PrintWriter就是通过连接它实现的缓冲功能

Controller(控制器)、@RequestMapping、@ResponseBody、@GetMapping、的使用

上一篇:Android Studio 问题汇总


下一篇:iOS底层原理(三)Category