博客
关于我
SpringMVC
阅读量:597 次
发布时间:2019-03-11

本文共 1997 字,大约阅读时间需要 6 分钟。

SpringMVC开发指南

一、SpringMVC概述

SpringMVC 是一个基于MVC模式的、高效的JavaWeb开发框架。它不仅支持MVC(Model-View-Controller)模式,还能无缝集成Spring框架,提升开发效率。MVC模式的核心在于解耦业务逻辑、前端展示和数据处理,使系统结构更清晰。

MVC框架组成

  • Model(实体类):承接数据,作为数据层模块。
  • View(视图):定义展示页面,使用HTML或JSP。
  • Controller(控制器):根据请求处理业务逻辑,返回数据或 ModelAndView。

Controller在SpringMVC中的实现方案有三种:

  • 传统实现:基于Spring的UserController继承UserServlet。
  • Struts compatibiitity:支持Struts的UserAction。
  • Spring MVC:直接实现Controller接口或使用注解。

二、SpringMVC入门

SpringMVC基于Spring框架运行,核心是IOC/DI容器。启动项目前需要配置Spring环境。但是,SpringMVC是一个Spring模块,无需单独下载安装。

环境搭建

  • jar包导入:将以下Spring相关jar包引入项目依赖:

    • com.springsource.org.apache.commons.logging-1.1.1.jar
    • spring-beans-4.1.2.RELEASE.jar
    • spring-context-4.1.2.RELEASE.jar
    • spring-core-4.1.2.RELEASE.jar
    • spring-expression-4.1.2.RELEASE.jar
    • spring-aop-4.1.2.RELEASE.jar
    • spring-web-4.1.2.RELEASE.jar
    • spring-webmvc-4.1.2.RELEASE.jar
  • 配置文件

    • applicationContext.xml:文件路径类似classpath:applicationContext.xml
    • web.xml:配置SpringMVC的核心控制器。

三、开发实践

Controller实现

  • 接口实现:实现Controller接口,使用DispatcherServlet处理请求。
  • 注解支持:通过@Controller注解直接管理Bean,路径配置使用@RequestMapping
  • 注解全支持:启用<mvc:annotation-driven />,扫描包内所有Controller。

视图解析

  • 默认视图解析器配置路径为/WEB-INF/jsps/

  • 静态资源映射:所有资源文件自动映射到/static目录。

JSON数据返回

  • JSON格式:返回标准JSON数据,比如{"name":"张三", "age":30}
  • 乱码处理:确保返回JSON数据使用UTF-8编码。
  • 日期格式化:使用@JsonFormat@DateTimeFormat注解处理日期格式。

参数接收

  • 模型参数:使用@RequestParam接收前台参数,支持默认值。
  • 对象绑定:将前台参数绑定到Java对象,实现动态数据处理。
  • 路径参数:使用@PathVariable接收URL参数。

四、数据处理

数据传递

  • ModelAndView模型:通过ModelAndView返回数据和视图路径。
  • request方法:通过HttpServletRequestHttpServletResponse传递数据。
  • 返回类型:返回POJO对象,确保序列化过程正确。

请求转换

  • 转发:使用forward方法转入新URL。
  • 重定向:通过redirect方法实现永久跳转。

文件处理

  • 文件上传:使用MultipartFile接收文件附件,注意文件大小限制。
  • 文件下载:通过Response Salvage实现文件下载,设置文件名和 MIME 类型。

五、拦截器机制

  • 拦截器创建:实现HandlerInterceptor接口,覆盖生命周期方法。
  • 拦截器配置

拦截器适用于日志记录、权限验证、数据过滤等场景。

六、工作流程说明

  • 请求处理:客户端请求提交至DispatcherServlet
  • 控制器查询DispatcherServlet定位处理请求的Controller
  • 业务处理:Controller执行业务逻辑,返回ModelAndView
  • 视图渲染DispatcherServlet解析ModelAndView,返回最终响应。
  • 转载地址:http://mystz.baihongyu.com/

    你可能感兴趣的文章
    python 控制 cmd 命令行颜色
    查看>>
    Python 操作 Azure Blob Storage
    查看>>
    Python 操作 Excel 全攻略 | 包括读取、写入、表格操作、图像输出和字体设置
    查看>>
    Python 操作 JMeter 探索:pymeter 实操指南
    查看>>
    Python 操作 Redis
    查看>>
    Python 操作Mysql(PyMysql)
    查看>>
    Python 操作Redis
    查看>>
    Python 操作sqlite数据库及保存查询numpy类型数据(一)
    查看>>
    Python 操作sqlite数据库及保存查询numpy类型数据(二)
    查看>>
    Python 操作数据库
    查看>>
    Python 数据分析与可视化实战
    查看>>
    python 数据可视化 -- matplotlib02
    查看>>
    python 数据可视化利器
    查看>>
    Python 数据可视化详解
    查看>>
    python 数据库查询返回list或tuple
    查看>>
    Python 数据库连接池管理的基本知识 (附Demo)
    查看>>
    Python学习记录-2016-12-17
    查看>>
    Python 数据库骚操作 -- MySQL
    查看>>
    Python 数据操作详解
    查看>>
    Python 数据文件与网络数据序列化存储详解
    查看>>