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

网站开发antnw深圳问答营销

网站开发antnw,深圳问答营销,wordpress-5.6.20下载,网站版式布局常见的Request Controller 和 Response Controller 的区别 用餐厅点餐来理解 想象你去一家餐厅吃饭: Request Controller(接单员):负责处理你的点餐请求,记录你的口味、桌号等信息。Response Controller&#xff08…

常见的Request Controller 和 Response Controller 的区别

用餐厅点餐来理解

想象你去一家餐厅吃饭:

  • Request Controller(接单员):负责处理你的点餐请求,记录你的口味、桌号等信息。
  • Response Controller(厨师+服务员):根据你的需求制作菜品,并把热乎乎的菜端到你桌上。

它们的核心区别

  • Request Controller:专注 接收并解析用户请求(比如拿参数、查Cookie、读Session)。
  • Response Controller:专注 构造并返回响应数据(比如返回网页、JSON数据、设置状态码)

第一部分:RespController - 响应处理中心

(相当于快递包装流水线)

1. 地址导航员(返回页面)

@RequestMapping("/r1")
public String returnPage(){return "/index.html"; 
}

作用:引导用户访问指定网页
示例:类似点击网页导航链接
访问地址:http://localhost/resp/r1
响应结果:显示服务器上的index.html网页文件

2. 文字快递员(返回纯文本)

@ResponseBody
@RequestMapping("/r2")
public String returnData(){return "我是前端需要的数据"; 
}

作用:向浏览器直接发送文字内容
示例:手机收到验证码短信
响应头:Content-Type: text/plain
响应内容:直接显示返回的字符串原文

3. HTML零件供应商

@ResponseBody
@RequestMapping("/r3")
public String returnHTML(){return "<h1>我是一级标题</h1>";
}

作用:发送HTML片段让浏览器渲染
示例:网购时的商品描述模块
响应头:Content-Type: text/html
前端显示:显示为带样式的标题文字

4. 强制纯文本模式

@ResponseBody
@RequestMapping(value = "/r4", produces = "text/plain")
public String returnTEXT(){return "<h1>我是一级标题</h1>";
}

作用:强制浏览器以纯文本处理内容
示例:收到代码截图文档
响应头:Content-Type: text/plain
前端显示:显示原始代码文本 <h1>...

5. JSON数据专员

(需要UserInfo类支持)

@ResponseBody
@RequestMapping("/r5")
public UserInfo returnJSON(){return new UserInfo(1, "zhangsan");
}

作用:发送结构化数据
示例:接收用户信息表单
响应头:Content-Type: application/json

响应内容

{"id":1, "name":"zhangsan"}


6. 异常状态标注员

@ResponseBody
@RequestMapping("/r6")
public UserInfo setStatus(HttpServletResponse response){response.setStatus(400);return new UserInfo(1, "zhangsan");
}

第二部分:RequestController  - 需求处理中心

1. 问询接待员(基础参数接收)

示例请求
访问:http://localhost/request/r1?keyword=手机
响应结果:接收参数手机

2. 多重接待窗口

@RequestMapping("/r2")
public String r2(String name, String password) {return "usrname" + name + "password" + password;
}

示例请求
访问:http://localhost/request/r2?name=张三&password=123456
响应结果:username张三 password123456

3. 数字检查员(包装类)

@RequestMapping("/r3")
public String r3(Integer age) {return "age" + age;
}

特点

  • 允许空值(如访问时不带age参数)
  • 示例空请求响应:age null

4. 强制数字模式

@RequestMapping("/r4")
public String r4(int age) {return "age" + age;
}

特点

  • 基本类型必须有值
  • 空请求时默认返回 age 0

5. 对象收集员

@RequestMapping("/r5")
public String r5(UserInfo userInfo) {return "userInfo" + userInfo.toString();
}

使用方式
访问:http://localhost/request/r5?id=2&name=李四
参数自动装配:转换为UserInfo对象

6. 参数改装员

@RequestMapping("/r6")
public String r6(@RequestParam("q") String keyword) {return "keyword" + keyword;
}

示例请求
访问:http://localhost/request/r6?q=笔记本电脑
功能:把参数q映射到keyword变量

7. 批量收货员

@RequestMapping("/r7")
public String r7(String[] arr) {return "arr" + Arrays.toString(arr);
}


示例请求
访问:http://localhost/request/r7?arr=苹果&arr=香蕉
响应结果:arr [苹果, 香蕉]

8. 路径解析员

@RequestMapping("/article/{type}/{articleId}")
public String article(@PathVariable String type, @PathVariable Integer articleId) {return "articleId" + articleId+"type"+type;
}

示例请求
访问:http://localhost/request/article/tech/1001
响应结果:articleId1001 typetech

9. 包裹接收员(文件上传)

@RequestMapping("r12")
public String r12(@RequestPart("file11") MultipartFile file) {file.transferTo(new File("C:\\temp\\"+file.getOriginalFilename()));return "文件上传成功";
}

使用方式:使用Postman等工具上传文件
表单字段名:file11
保存路径:C盘temp目录

10. 会员卡收集员

@RequestMapping("/r13")
public String r13(HttpServletRequest request) {Cookie[] cookies = request.getCookies();return "返回cookie成功";
}

功能:查看浏览器携带的所有Cookie

11. 精准会员卡读取器

@RequestMapping("/r14")
public String r14(@CookieValue("java")String java) {return "Cookie中java的值:"+java;
}

要求:浏览器必须携带名为java的Cookie

12. 储物柜管理员(Session操作)

@RequestMapping("/setSession")
public String setSession(HttpServletRequest request) {HttpSession session = request.getSession();session.setAttribute("userName", "zhangsan");return "设置session成功";
}

效果
创建类似保险箱的会话存储空间,通过Cookie自动关联用户

13. 储物柜检查员(会话验证)

@RequestMapping("/getSession3")
public String getSession3(@SessionAttribute("userName") String userName){return "登录用户为" + userName;
}

使用场景对比表

功能需求对应控制器典型方法示例
需要给浏览器返回网页RespControllerreturnPage() (/r1)
开发RESTful API接口RequestControllerreturnJSON()(/r5)
用户登录状态保持RequestControllersetSession()相关方法
处理复杂的表单参数RequestControllerr5(UserInfo对象接收)
需要控制响应头信息RespControllersetHeader() (/r7)
上传用户头像文件RequestControllerr12()文件上传方法
移动端接口开发RequestController所有带@RestController的方法
http://www.yayakq.cn/news/542194/

相关文章:

  • 协和医院网站建设目标wap网站代码
  • 自建免费网站哪个好自助建站 平台
  • 可信的品牌网站建设紫色 网站
  • 商城类网站功能列表网站需要怎么做
  • 馆陶网站建设电话沈阳全网推广公司哪家好
  • 广东省建设工程总监扣分查询网站网络运维是做什么的
  • 山东手机响应式网站建设设计网站首页ui
  • 网站怎么自己优化创新的邯郸网站建设
  • 南昌网站建设哪家比较好网站更改备案信息
  • 怎么给我 的网站做关键词wordpress的博客主题
  • 公司建网站价格10分钟免费建网站
  • 网站开发公司云鲸互创怎么联系文成网站制作
  • 广告网站建设保定行业网站
  • 做视频网站要什么软件下载杭州建设网造价平台
  • 建设一个旅游网站必备的网站建设二公司
  • 网站商城建设套餐网上自学平台
  • 免费建造网站太原广告公司网站建设
  • 长春制作网站软件像淘宝购物网站建设需要哪些专业人员
  • 做静态网站选用什么服务器厦门公司注册名称查询系统
  • 网站开发邮件购物网站的前台功能
  • 重庆找工作的网站济南营销型网站建设哪家好
  • 深圳市门户网站建设品牌dw一级网页制作教程
  • 自己怎么做视频收费网站做神马网站优化快速
  • 安远县建设局网站做标记网站
  • 招聘网站怎么做wordpress的主题是什么
  • 校园文化建设网站wordpress视频无法播放视频
  • 淮安做网站找哪家公司本地推广最有效的方法
  • 坑梓网站建设咨询wordpress 写模版
  • dede5.7网站搬家网上公司注册
  • 网站策划工资一般多少做网站的花费