springMVC框架-认识springMVC《一》

约定不等于承诺〃 2022-03-14 19:40 410阅读 0赞

springMVC是什么

SpringMVC 是类似于 Struts2 的一个 MVC 框架,它是属于Spring基本架构里面的一个组成部分,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面,所以我们在后期和 Spring 进行整合的时候,几乎不需要别的什么配置。
spring web MVC 等价于springMVC

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NoaV9ob25nX2ZlaV9oZWk_size_16_color_FFFFFF_t_70

spring源码-包含springmvc

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NoaV9ob25nX2ZlaV9oZWk_size_16_color_FFFFFF_t_70 1


springMVC有什么用

1、清晰的角色划分:控制器(controller)、验证器(validator)、命令对象(command obect)、表单对象(form object)、模型对象(model object)、Servlet分发器(DispatcherServlet)、处理器映射(handler mapping)、试图解析器(view resoler)等等。每一个角色都可以由一个专门的对象来实现。
2、强大而直接的配置方式:将框架类和应用程序类都能作为JavaBean配置,支持跨多个context的引用,例如,在web控制器中对业务对象和验证器validator)的引用。
3、可适配、非侵入:可以根据不同的应用场景,选择何事的控制器子类(simple型、command型、from型、wizard型、multi-action型或者自定义),而不是一个单一控制器(比如Action/ActionForm)继承。
4、可重用的业务代码:可以使用现有的业务对象作为命令或表单对象,而不需要去扩展某个特定框架的基类。
5、可定制的绑定(binding)和验证(validation):比如将类型不匹配作为应用级的验证错误,这可以保证错误的值。再比如本地化的日期和数字绑定等等。在其他某些框架中,你只能使用字符串表单对象,需要手动解析它并转换到业务对象。
6、可定制的handler mapping和view resolution:Spring提供从最简单的URL映射,到复杂的、专用的定制策略。与某些web MVC框架强制开发人员使用单一特定技术相比,Spring显得更加灵活。
7、灵活的model转换:在Springweb框架中,使用基于Map的键/值对来达到轻易的与各种视图技术集成。
8、Spring Bean的生命周期可以被限制在当前的HTTp Request或者HTTp Session。准确的说,这并非Spring MVC框架本身特性,而应归属于Spring MVC使用的WebApplicationContext容器。

以上参考于博主的分享:https://www.cnblogs.com/Renyi-Fan/p/7847738.html


springMVC怎么用

思维导图地址:https://www.processon.com/view/link/5c822847e4b0ed6b42f9a783
watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NoaV9ob25nX2ZlaV9oZWk_size_16_color_FFFFFF_t_70 2


Controller-编码过滤器

如果没有设置编码处理,那Controller获取的中文入参,就会出现乱码!出现乱码!出现乱码!

20190321172326522.png

解决方案:

第1步、在web.xml设置过滤编码器。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NoaV9ob25nX2ZlaV9oZWk_size_16_color_FFFFFF_t_70 3

  1. <filter>
  2. <filter-name>characterEncodingFilter</filter-name>
  3. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  4. <init-param>
  5. <param-name>encoding</param-name>
  6. <param-value>UTF-8</param-value>
  7. </init-param>
  8. <!--强制覆盖之前的编码格式-->
  9. <init-param>
  10. <param-name>forceEncoding</param-name>
  11. <param-value>true</param-value>
  12. </init-param>
  13. </filter>
  14. <filter-mapping>
  15. <filter-name>characterEncodingFilter</filter-name>
  16. <url-pattern>/*</url-pattern>
  17. </filter-mapping>

第2步:

用idea tomcat插件时:设置编码

  1. <uriEncoding>UTF-8</uriEncoding>

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NoaV9ob25nX2ZlaV9oZWk_size_16_color_FFFFFF_t_70 4

如果是tomcat 服务器,请到tomcat服务下 \conf\server.xml设置编码

  1. <Connector
  2. port="9002" protocol="org.apache.coyote.http11.Http11Protocol"
  3. connectionTimeout="20000"
  4. redirectPort="8443" URIEncoding="UTF-8"/>

设置后的效果:

20190321173449171.png


今天的springMVC就介绍到这里,再见。

发表评论

表情:
评论列表 (有 0 条评论,410人围观)

还没有评论,来说两句吧...

相关阅读