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

    你可能感兴趣的文章
    nodejs连接mysql
    查看>>
    NodeJs连接Oracle数据库
    查看>>
    nodejs配置express服务器,运行自动打开浏览器
    查看>>
    NodeMCU教程 http请求获取Json中文乱码解决方案
    查看>>
    Nodemon 深入解析与使用
    查看>>
    NodeSession:高效且灵活的Node.js会话管理工具
    查看>>
    node~ http缓存
    查看>>
    node不是内部命令时配置node环境变量
    查看>>
    node中fs模块之文件操作
    查看>>
    Node中同步与异步的方式读取文件
    查看>>
    Node中的Http模块和Url模块的使用
    查看>>
    Node中自启动工具supervisor的使用
    查看>>
    Node入门之创建第一个HelloNode
    查看>>
    node全局对象 文件系统
    查看>>
    Node出错导致运行崩溃的解决方案
    查看>>
    Node响应中文时解决乱码问题
    查看>>
    node基础(二)_模块以及处理乱码问题
    查看>>
    node安装卸载linux,Linux运维知识之linux 卸载安装node npm
    查看>>
    node安装及配置之windows版
    查看>>
    Node实现小爬虫
    查看>>