JAVA-web后端

web后端

web概述

controller 只是简单的java的一个类

java意义规范的技术 servlet

tomcat也称为servlet容器

请求

1.简单参数(了解即可 繁琐和手动类型转换)

2.SpringBoot方式

Interger age springboot会自动类型转换

post请求参数在请求体body from表单 x-www-form-urlencoded 中携带

2.实体参数

将所有的请求参数都封装在实体类当中

3.数组集合参数

默认是封装到数组,封装到集合要加注解@RequestParam

将多个请求参数值封装到list集合

4.日期参数

5.json参数

json post

6.路径参数

java 复制代码
package com.it.controller;

import com.it.pojo.User;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;

//@RestController 请求处理类
@RestController
public class HelloController {
//    指定当前方法处理的是什么请求
    @RequestMapping("/simpleParam")
    public String simpleParam(@RequestParam(name = "name", required = false) String username, Integer age){
        System.out.println(username + " " + age);
        return "OK";
    }

    //2.实体参数
    @RequestMapping("/simplePojo")
    public String sumplePojo(User user){
        System.out.println(user);
        return "OK";
    }

    //2.实体参数
    @RequestMapping("/complexPojo")
    public String complexPojo(User user){
        System.out.println(user);
        return "OK";
    }

    //3.数组参数
    @RequestMapping("/arrayParam")
    public String arrayParam(String[] hobby){
        System.out.println(Arrays.toString(hobby));
        return "OK";
    }

    //4.集合参数
    @RequestMapping("/listParam")
    //将多个请求参数值封装到list集合
    public String listParam(@RequestParam List<String> hobby){
        System.out.println(hobby);
        return "OK";
    }

    //5.日期参数
    @RequestMapping("/dateParam")
    //通过一个注解指定格式
    public String listParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){
        System.out.println(updateTime);
        return "OK";
    }


    //6.json参数
    @RequestMapping("/jsonParam")
    //通过一个注解指定格式
    public String jsonParam(@RequestBody User user){
        System.out.println(user );
        return "OK";
    }

    //7.路径参数
    @RequestMapping("/path/{id}")
    //通过一个注解指定格式 获取路径参数 绑定形参
    public String pathParam(@PathVariable Integer id){
        System.out.println(id);
        return "OK";
    }

    @RequestMapping("/path/{id}/{name}")
    //通过一个注解指定格式 获取路径参数 绑定形参
    public String pathParam(@PathVariable Integer id, @PathVariable String name){
        System.out.println(id + name);
        return "OK";
    }

}

设置响应数据

案例

三层架构

分层解耦

内聚:软件中各个功能模块内部的功能联系

耦合:衡量软件中各个层或模块之间的依赖 关联的程度

MyBatis 持久层框架 数据库 连接池

配置sql报错提示

JDBC

数据库连接池

lombok

相关推荐
是立不是利3 分钟前
第二篇:CSS 与用户体验——看不见的设计
前端·css·ux
用户3126874877205 分钟前
ThreadLocal 到底会不会内存泄漏?源码级拆解 + 线程池陷阱
java
研☆香6 分钟前
js中 onload 事件的用法
开发语言·javascript·ecmascript
打呵欠的猫8 分钟前
我把 20 个页面的权限控制从"硬编码"改成"配置驱动",AI 帮我生成了 80% 的迁移代码
前端·ai编程
珍珠先生9 分钟前
P11 · MySQL 驱动版本过旧:Client does not support authentication protocol
java
~木雨17 分钟前
Java 并发编程架构全景:并发层的五域设计 —— 线程模型、线程池隔离、并发安全到问题治理(全体系汇总)
java·安全·架构·线程池·并发编程·高并发架构
志尊宝21 分钟前
Vue3 零基础每日笔记(005):ref 响应式基础——为什么 script 里要 .value
前端·javascript·vue.js·笔记
海鸥两三26 分钟前
Mac电脑使用 Tabby 部署前端项目到阿里云服务器完整教程
前端·macos·阿里云
xiancai_xianyu31 分钟前
想把数据模型一次建完美再上AI?会一直卡在建模里
开发语言·人工智能·php·数据模型·语义层·本体建模·企业知识网络
console.log('npc')34 分钟前
2026 实测:Grok 4.5 与 Grok 4.6 怎么选?前端开发、教程写作、Figma 还原选型指南
前端·大模型·ai编程·figma·grok