SpringMVC学习3

一、RequestMapping说明

@RequestMapping注解用于映射url到控制器类或者一个特定的处理程序方法,可用于类或者方法上。作用于类上,表示类中的所用响应请求的方法都是以该地址作为父路径。

二、RestFul风格

RestFul就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁、更有层次、更易于实现缓存机制。

功能

  • 资源:互联网所有事物都可以被抽象为资源
  • 资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作
  • 分别对应添加、删除、修改、查询。

好处

  • 使路径变得更加简洁
  • 获取参数更加方便,框架会自动进行类型转换
  • 可以约束访问参数,如果类型不一样,则不能访问到相应的请求方法

三、组合注解

  • @GetMapping
  • @PostMapping
  • @PutMapping
  • @DeleteMapping
  • @PatchMapping

四、重定向和请求转发

重定向

重定向是指将一个网址或一个网页的访问请求指向另一个网址或网页,用户在访问原网址时会被自动转向到新的网址。通常,重定向用于解决网站重构、更改网址等情况,使用户在访问时能够顺利进入新的网址或网页。在网站优化和搜索引擎优化中,重定向也常常被用于将失效的网址重定向到新的网址,以保证搜索引擎能够正确地收录和索引网站。

优点

1. 可以更改原网页的URL地址,使其更加直观、简洁、易于记忆;

2. 可以重构网站URL结构,以符合搜索引擎的优化要求;

3. 能够解决旧网址失效、迁移网站等问题,使访问者能够在不中断原有活动的情况下正常访问网站。

缺点

1. 可能影响网站的速度,因为在重定向时需要进行额外的HTTP请求;

2. 如果重定向次数过多,可能会影响用户体验,使页面延迟和加载速度变慢;

3. 重定向可能会导致一些错误,例如,重定向到错误的网页或网址,或者将用户重定向到恶意网站。

请求转发

请求转发是指将一个Web应用的请求发送给另一个Web应用进行处理。当一个Web应用在完成一定的处理后,需要让另一个Web应用继续处理该请求时,就会采用请求转发的方式。请求转发的实现机制是:当一个Web应用在接收到客户端的HTTP请求后,将该请求封装成一个ServletContext对象,再通过该对象转发给另一个Web应用。 

优点

1. 可以将不同的Web应用之间的业务逻辑进行分离,降低应用之间的耦合度;

2. 可以促进代码的重用和可维护性;

3. 可以提高Web应用的性能,因为请求转发可以分摊应用之间的负载和压力;

4. 能够降低Web应用的开发成本和维护成本。

缺点

1. 对请求转发所涉及到的多个Web应用有一定的依赖性,难以在不同的平台上进行部署和运行;

2. 将请求转发到其它Web应用时,可能会增加通信和数据传输的延迟,从而影响应用的响应速度;

3. 对应用的安全性有一定的影响,如果Web应用之间没有实施严格的访问控制策略,就可能会存在数据安全性和应用程序安全性问题。-

五、接收请求参数及数据回显

1.提交的域名名称和处理方法的参数名一致

提交参数:http://localhost:8080/hello?name=来一沓Java

    @RequestMapping("/hello")
    public String test2(String name){
        System.out.println(name);
        return "test";
    }

后台输出:来一沓Java

2.提交的域名名称于处理方法的参数不一致

提交参数:http://localhost:8080/hello?username=来一沓Java

    @RequestMapping("/hello")
    public String test2(@RequestParam("username") String name){
        System.out.println(name);
        return "test";
    }

后台输出:来一沓Java

3.提交的是一个对象

要求提交的表单域和对象的属性名一致,参数使用对象即可

    //前端接收的是一个对象
    @GetMapping("/t2")
    public String test2(User user){
        System.out.println(user);
        return "test";
    }

六、JSON

  • JSON是一种轻量级的数据交换格式
  • 采用完全独立编程语言的文本格式来存储数据和表示数据
  • 简洁和清晰的层次结构
  • 易于人的阅读和编写,同时也易于机器解析和生成,并有效的提升网络传输效率
  • 对象标识键值对,数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来一沓Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值