博客
关于我
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/

    你可能感兴趣的文章
    POJ 2262 Goldbach's Conjecture
    查看>>
    POJ 2362 Square DFS
    查看>>
    Qt笔记——解决添加Qt Designer Form Class时“allocation of incomplete type Ui::”
    查看>>
    poj 2386 Lake Counting(BFS解法)
    查看>>
    poj 2387 最短路模板题
    查看>>
    POJ 2391 多源多汇拆点最大流 +flody+二分答案
    查看>>
    POJ 2403
    查看>>
    poj 2406 还是KMP的简单应用
    查看>>
    POJ 2431 Expedition 优先队列
    查看>>
    Qt笔记——获取位置信息的相关函数
    查看>>
    POJ 2484 A Funny Game(神题!)
    查看>>
    POJ 2486 树形dp
    查看>>
    POJ 2488:A Knight&#39;s Journey
    查看>>
    SpringBoot为什么易学难精?
    查看>>
    poj 2545 Hamming Problem
    查看>>
    poj 2723
    查看>>
    poj 2763 Housewife Wind
    查看>>
    Qt笔记——模型/视图MVD 文件目录浏览器软件
    查看>>
    POJ 2892 Tunnel Warfare(树状数组+二分)
    查看>>
    poj 2965 The Pilots Brothers' refrigerator-1
    查看>>