深圳网站建设推广论坛,广州做网页,自己优化网站,招聘预算网站怎么做文章目录 1. HTTP协议2. Spring MVC2.1. 三层架构2.2. MVC#xff08;解决表现层的问题#xff09;2.3. 核心组件 3. Thymeleaf3.1. 模板引擎3.2. Thymeleaf3.3. 常用语法 代码 1. HTTP协议
网址#xff1a;https://www.ietf.org/ #xff08;官网网址#xff09; https:… 文章目录 1. HTTP协议2. Spring MVC2.1. 三层架构2.2. MVC解决表现层的问题2.3. 核心组件 3. Thymeleaf3.1. 模板引擎3.2. Thymeleaf3.3. 常用语法 代码 1. HTTP协议
网址https://www.ietf.org/ 官网网址 https://developer.mozilla.org/zh-CN/ 易于理解 HyperText Transfer Potocal 用于传输HTML等内容的应用层协议 规定了浏览器和服务器之间如何通信以及通信时的数据格式 2. Spring MVC
2.1. 三层架构
表现层、业务层、数据访问层
2.2. MVC解决表现层的问题
Model 模型层 View 视图层 Controller控制层 2.3. 核心组件
前端控制器DispatcherServlet
3. Thymeleaf
网址http://thymeleaf.org/
3.1. 模板引擎
生成动态的HTML
3.2. Thymeleaf
倡导自然模板即以HTML文件为模板
3.3. 常用语法
标准表达式、判断与循环、模板的布局
代码
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 {Autowiredprivate AlphaService alphaService;RequestMapping(/hello)ResponseBodypublic String sayHello() {return Hello Spring Boot!;}RequestMapping(/data)ResponseBodypublic 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());EnumerationString 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; charsetutf-8);try(PrintWriter writer response.getWriter();) {writer.write(h1牛客网/h1);} catch (IOException e) {e.printStackTrace();}}// GET请求// 查询所有学生 /students?current1limit20RequestMapping(path /students, method RequestMethod.GET)ResponseBodypublic 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/123RequestMapping(path /student/{id}, method RequestMethod.GET)ResponseBodypublic String getStudent(PathVariable(id) int id) {System.out.println(id);return a student;}// 浏览器向服务器提交数据// POST请求RequestMapping(path /student, method RequestMethod.POST)ResponseBodypublic String saveStudent(String name, int age) {System.out.println(name);System.out.println(age);return success;}// 响应HTML数据RequestMapping(path /teacher, method RequestMethod.GET)ResponseBodypublic 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)ResponseBodypublic MapString, Object getEmp() {MapString, Object emp new HashMap();emp.put(name, 张三);emp.put(age, 12);emp.put(salary, 8000.00);return emp;}RequestMapping(path /emps, method RequestMethod.GET)ResponseBodypublic ListMapString, Object getEmps() {ListMapString, Object list new ArrayList();MapString, 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;}}