当前位置: 首页 > news >正文

Web基础学习笔记01

BS架构 CS架构

简单的springboot入门小程序

package cc.feitwnd;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController//表示当前类是一个请求处理类
public class HelloController {@RequestMapping("/hello")public String hello(String name){System.out.println(name);return "Hello"+ name+"!";}
}

HTTP协议

HTTP协议-请求数据的格式

简单的获取请求数据的样例代码

package cc.feitwnd;import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class RequestController {@RequestMapping("/request")public String request(HttpServletRequest request) {//1.获取请求方式String method = request.getMethod();System.out.println("请求方式:"+method);//2.获取请求url地址String url = request.getRequestURL().toString();System.out.println("请求url地址:"+url);//资源返回路径String uri = request.getRequestURI();System.out.println("请求资源返回路径"+uri);//3.获取请求协议String protocol = request.getProtocol();System.out.println("请求协议:"+protocol);//4.获取请求参数 -nameString name = request.getParameter("name");System.out.println("请求参数:" +name);String age = request.getParameter("age");System.out.println("请求参数:" +age);//5.获取请求头String accept = request.getHeader("Accept");System.out.println("请求头:"+accept);return "OK";}
}

HTTP协议-响应数据格式

响应数据设置

样例代码

package cc.feitwnd;import jakarta.servlet.http.HttpServletResponse;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.io.IOException;@RestController
public class ResponseController {@RequestMapping("/response")public  void response(HttpServletResponse response) throws IOException {//1.设置响应状态码response.setStatus(401);//2.设置响应头response.setHeader("name","feitwnd");//3.设置响应体response.getWriter().write("<h1>Hello response!</h1>");}@RequestMapping("/response2")public ResponseEntity<String> response2(){return ResponseEntity.status(200).header("name","feitwnd").body("<h1>Hello response2!</h1>");}
}

http://www.xdnf.cn/news/1427473.html

相关文章:

  • 计算机视觉与深度学习 | 视觉里程计技术全解析:定义、原理、与SLAM的关系及应用场景
  • Spring Boot 日志框架选择指南:Logback vs Log4j2
  • 破解能源密码——人造太阳:可控核聚变技术进展
  • 光储充一体化智慧能源平台助力某能投公司绿色能源转型
  • 【面试场景题】如何理解设计模式
  • 为什么研发文档的变更缺乏审批和追溯
  • 多通道电生理信号同步记录采集系统测试总结
  • 用好AI,从提示词工程到上下文工程
  • Linux系统强大的命令行工具之fuser
  • Vue + fetchEventSource 使用 AbortController 遇到的“只能中止一次”问题解析与解决方案
  • 详解 C++ 中的虚析构函数
  • 【系统架构设计(12)】系统运行与软件维护
  • 优选算法的映射之妙:哈希表专题
  • 【数据结构】八大排序之快速排序:分而治之的艺术
  • 从技术架构到经济价值:低代码在企业开发中的成本节约潜力
  • 面试新纪元:无声胜有声,让AI成为你颈上的智慧伙伴
  • Windows远程连接:SSH+RDP+Server
  • 警惕!虚拟货币“赠予”可能被认定为洗钱犯罪
  • NLP模型简介
  • 解决Mac电脑连接蓝牙鼠标的延迟问题
  • 【Python练习题】Python小白必练100题答案-第21-40题
  • 基础思想:动态规划与贪心算法
  • [Dify 专栏] 如何通过 Prompt 在 Dify 中模拟 Persona:即便没有专属配置,也能让 AI 扮演角色
  • 文章阅读与实践 - 延迟双删/分库分表/Spring IOC生命周期/Mysql主从一致优化
  • 一文读懂 LoRaWAN A、B、C类的区别及应用
  • 用 PyTorch 实现食品图像分类:从数据预处理到模型训练与预测
  • Linux电脑怎样投屏到客厅的大电视?支持远程投屏吗?
  • 从Java全栈到前端框架:一场真实的技术面试实录
  • 《Vue进阶教程》(7)响应式系统介绍
  • iOS15如何绕过MDM锁?详细图文教程教你搞定