五.页面跳转
1.场景一:转发到后台的方法中(当前类)
@RequestMapping("/hello6") public String hello6(){ return "forward:hello2"; }
2.场景二:转发到后台的方法中(其他类)
// 场景二:转发到后台的方法中(其他类) @RequestMapping("/hello7") public String hello7(){ return "forward:/param/hello1"; }
3.场景三:重定向到后台的方法中(当前类)
@RequestMapping("/hello8") public String hello8(){ return "redirect:hello2"; }
4.场景四:重定向到后台的方法中(其他类)
@RequestMapping("/hello9") public String hello9(){ return "redirect:/param/hello1"; }
结论
返回值中有forward、redirect,会绕过视图解析器
当我们使用方法体中forward转发时,不管哪种场景,地址栏都不会发生变化
反之,重定向时,地址栏都会变成当前方法体指向的方法名
六.SpringMVC总结优点与缺点
优点
1.简化配置:注解可以替代繁琐的XML配置,使配置更加简洁和直观。注解使用注解处理器进行解析,可以自动完成配置和初始化的工作,减少了手动配置的工作量。
2.提高可读性:通过使用注解,开发人员可以更清晰地了解代码的作用和意图。注解的语义明确,可以提高代码的可读性和可维护性。
3.提高开发效率:注解简化了很多重复性的工作,如依赖注入、请求映射等。开发人员可以专注于核心业务逻辑而不必关注繁琐的配置细节,从而提高开发效率。
4.提供丰富的功能扩展:Spring框架提供了多种注解,可以应用于不同的场景和功能需求,如控制器的请求映射、数据验证、事务管理等。这些注解提供了灵活的扩展机制,使得开发人员可以根据具体需求进行定制化的开发。
5.支持AOP:Spring框架通过注解提供了对面向切面编程(AOP)的支持。使用注解修饰目标方法或类,可以方便地定义切点、切面和通知,提供横切关注点的解耦和重用能力。
缺点:
1.隐式依赖:注解的使用可能导致隐式依赖,不像显式配置那样清晰可见。有时候可能会造成代码的可读性和维护性下降,特别是在大型项目中。
2.学习成本:使用注解需要对注解的语法和规范有一定的了解和掌握。不熟悉注解的开发人员可能需要花费一些时间学习和适应。
3.自定义性受限:某些注解的功能和行为是固定的,如果需要自定义一些特定的逻辑,可能需要编写额外的代码或使用其他方式实现。
4.过度使用:过度使用注解可能导致代码变得难以理解和维护。在使用注解时,应该遵循适度使用的原则,确保注解的使用符合代码的整体设计思路和架构。