欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

4.Spring MVC入门

最编程 2024-02-23 09:12:13
...
package com.test.community.controller; import com.test.community.service.AlphaService; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import java.io.IOException; import java.io.PrintWriter; import java.util.*; /** * @ClassName AlphaController * @Description TODO * @Author lcx * @Date 2024/2/21 15:22 * @Version 1.0 */ @Controller @RequestMapping("/alpha") public class AlphaController { @Autowired private AlphaService alphaService; @RequestMapping("/hello") @ResponseBody public String sayHello() { return "Hello Spring Boot!"; } @RequestMapping("/data") @ResponseBody public String getData() { return alphaService.find(); } // SpringMVC获得请求对象和响应对象 @RequestMapping("/http") public void http(HttpServletRequest request, HttpServletResponse response) { // 获取请求数据 System.out.println(request.getMethod()); System.out.println(request.getServletPath()); Enumeration<String> enumeration = request.getHeaderNames(); while (enumeration.hasMoreElements()) { String name = enumeration.nextElement(); String value = request.getHeader(name); System.out.println(name + ":" + value); } // 请求体 System.out.println(request.getParameter("code")); // 返回响应数据 response.setContentType("text/html; charset=utf-8"); try( PrintWriter writer = response.getWriter(); ) { writer.write("<h1>牛客网</h1>"); } catch (IOException e) { e.printStackTrace(); } } // GET请求 // 查询所有学生 /students?current=1&limit=20 @RequestMapping(path = "/students", method = RequestMethod.GET) @ResponseBody public String getStudents( @RequestParam(name = "current", required = false, defaultValue = "1") int current, @RequestParam(name = "limit", required = false, defaultValue = "10") int limit) { System.out.println(current); System.out.println(limit); return "some students"; } // /student/123 @RequestMapping(path = "/student/{id}", method = RequestMethod.GET) @ResponseBody public String getStudent(@PathVariable("id") int id) { System.out.println(id); return "a student"; } // 浏览器向服务器提交数据 // POST请求 @RequestMapping(path = "/student", method = RequestMethod.POST) @ResponseBody public String saveStudent(String name, int age) { System.out.println(name); System.out.println(age); return "success"; } // 响应HTML数据 @RequestMapping(path = "/teacher", method = RequestMethod.GET) @ResponseBody public ModelAndView getTeacher() { ModelAndView mav = new ModelAndView(); mav.addObject("name", "张三"); mav.addObject("age", 12); mav.setViewName("/demo/view"); return mav; } @RequestMapping(path = "/school", method = RequestMethod.GET) public String getSchool(Model model) { model.addAttribute("name", "北京大学"); model.addAttribute("age", 123); return "/demo/view"; } // 异步请求中响应JSON数据 // java对象 -> JSON字符串 -> JS对象 @RequestMapping(path = "/emp", method = RequestMethod.GET) @ResponseBody public Map<String, Object> getEmp() { Map<String, Object> emp = new HashMap<>(); emp.put("name", "张三"); emp.put("age", 12); emp.put("salary", 8000.00); return emp; } @RequestMapping(path = "/emps", method = RequestMethod.GET) @ResponseBody public List<Map<String, Object>> getEmps() { List<Map<String, Object>> list = new ArrayList<>(); Map<String, Object> emp = new HashMap<>(); emp.put("name", "张三"); emp.put("age", 12); emp.put("salary", 8000.00); list.add(emp); emp = new HashMap<>(); emp.put("name", "李四"); emp.put("age", 22); emp.put("salary", 9000.00); list.add(emp); emp = new HashMap<>(); emp.put("name", "王五"); emp.put("age", 32); emp.put("salary", 10000.00); list.add(emp); return list; } }