Java SpringMVC 知识点总结

发布于 2023-12-04 13:28:41 字数 3072 浏览 69 评论 0

SpringMVC 核心组件有哪些

前端控制器、处理器映射器、处理器适配器、视图解析器

搭建 SpringMVC 的步骤有哪些

  1. 创建 springmvc.xml 文件,在文件中添加 <contxt:component> ​标签(开启组件扫描)
  2. 在 web.xml 中配置前端控制器。配置前端控制器有两个要点:
    1. 需要配置,springmvc.xml 配置文件的位置
    2. 需要配置拦截方式:
      • /* jsp js css 全部拦截
      • *.action 只拦截指定后缀名的请求(可以配置多个)
      • / 除 *.jsp 以外,所有东西都拦截。
  1. 编写 Controller 类(类上面需要加上 Controller 注解,方法上加上 RequestMapping 注解)

springmvc.xml 的其他配置

配置视图解析器(配置路径前缀和后缀)

配置资源映射器(如果拦截方式为 /,那么前端控制器也会拦截对 css、js 文件的请求)

请求参数的获取

默认支持的参数类型

  • HttpServletRequest
  • HttpServletResponse
  • HttpSession
  • Model/ModelMap:ModelMap 是 Model 接口的实现类,也可以通过 ModelMap 向页面传递数据。使用 Model 和 ModelMap 的效果一样,如果直接使用 Model,springmvc 会实例化 ModelMap。

接收简单类型

  • Integer int Integer[] int[]
  • Float float Float[] float[]
  • Double double Double[] double[]
  • Boolean Boolean :对于布尔类型的参数,请求的参数值为 true 或 false。或者 1 或 0

接收封装类型

如果封装类型中全部都是基本类型,那么直接使用封装类型接收即可。

如果封装类型中,仍然有封装类型,那么此时就需要用对象导航形式了

注:方式 b 和方式 c 可以混合使用,如果封装类型中的属性和局部变量的名称相同,则两个都会同时接收参数。

List 集合封装多个对象,一次接收多批数据

List<Items>和 Items[] 只能先由一个类封装,然后由封装类接收参数,如果试图将它们直接放在方法上面接收参数则会报错。如果是基本类型的数组,直接放在方法参数上面是可以的。基本类型的 List 不能作为方法参数。基本类型的数组以及基本类型 List 可以放在封装类型中。

从 URL 上获取参数

总结:方法的参数只能接收基本类型及其封装类型,以及基本类型和封装类型的数组(注意:是基本类型的数组)。如果想接收 List(包括泛型为基本类型,和 domain 封装类)或者 domain 封装类的数组,必须由封装类封装,然后由封装类封装。

POST 乱码解决

乱码原因:前端传入的参数采用 iso-8859-1 的编码格式,而后台接收后采用 UTF-8 格式解码,所以显示的文字会乱码。

方式一:手动解决

方式二:配置 Spring-web 提供的过滤器

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

文章
评论
27 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文