SpringMVC——入门编程

一、了解SpringMVC
1 . 什么是SpringMVC: Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架。它与Struts2框架一样,都属于MVC框架,但其使用和性能等方面比Struts2更加优异。
2 . SpringMVC的优点:
* 是Spring框架的一部分,可以方便的利用Spring所提供的其他功能。
* 灵活性强,易于与其他框架集成。
* 提供了一个前端控制器DispatcherServlet,使开发人员无需额外开发控制器对象。
* 可自动绑定用户输入,并能正确的转换数据类型。
* 内置了常见的校验器,可以校验用户输入。如果校验不能通过,那么就会重定向到输入表单。
* 支持国际化。可以根据用户区域显示多国语言。
* 支持多种视图技术。它支持JSP、Velocity和FreeMarker等视图技术。
* 使用基于XML的配置文件,在编辑后,不需要重新编译应用程序。
二、 SpringMVC编程实例:
1 . 加入MVC的jar包

compile group: 'org.springframework', name: 'spring-webmvc', version: '4.3.14.RELEASE'

2 . 配置前端控制器 web.xml
生成web.xml的时候要注意步骤:Project Structure—>Facets—>web Gradle—>点加号设置web.xml的路径—>
将webapp\WEB-INF\web.xml复制下来,再选择你项目的正确路径,将刚才复制下来的粘贴在路径后面,确定添加后就能正确生成web.xml了。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <!--setvlet配置,web容器-->
    <servlet>
        <servlet-name>springMvcDisptch</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--带动MVC容器工作-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:config/springmvc.xml</param-value>
        </init-param>
        <!--马上启动这个容器-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <!--servlet mapping(映射)配置,拦截器-->
    <servlet-mapping>
        <servlet-name>springMvcDisptch</servlet-name>
        <!--对所有请求进行处理-->
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

3 . 创建控制器配置文件 springmvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop.xsd ">
    <!--mvc的扫描包,识别@Controller,生成bean-->

    <context:component-scan base-package="com.edusoft"></context:component-scan>
    <!--注解驱动配置-->
    <mvc:default-servlet-handler/>
    <mvc:annotation-driven></mvc:annotation-driven>

    <!--视图解析器配置-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          id="internalResourceViewResolver">
        <!--前缀-->
        <property name="prefix" value="/WEB-INF/views/"></property>
        <!--后缀-->
        <property name="suffix" value=".jsp"> </property>
    </bean>
</beans>

4 . 在类中用注解创建控制器类 CategoryController.java

package com.edusoft.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//用@Controller注解将普通类定义为控制器类
@Controller
//定义映射
@RequestMapping("/api/category")
public class CategoryController {
    @RequestMapping("/add")
    public String add(){
        //返回的视图
        return "/api/category/add";
    }
    @RequestMapping("/update")
    public String update(){
        return "/api/category/update";
    }
    @RequestMapping("/findOneById")
    public String findOneById(){
        return "/api/category/findOneById";
    }
    @RequestMapping("/findOneByProp")
    public String findOneByProp(){
        return "/api/category/findOneByProp";
    }
}

5 . 在相应的地方创建视图.jsp文件
6 . 启动TomCat,在网页中输入请求路径

三、 SpringMVC的工作流程
这里写图片描述
1 . 用户通过浏览器向服务器发送请求,请求会被Spring MVC的前端控制器DispatcherServlet所拦截。
2 . DispatcherServlet拦截到请求后,会调用HandlerMapping处理器映射器。
3 . 处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成),并返回给DispatcherServlet。
4 . DispatcherServlet会通过返回信息选择合适的HandlerAdapter(处理器适配器)。
5 . HandlerAdapter会调用并执行Handler(处理器),这里的处理器指的就是程序中编写的Controller类,也被称之为后端控制器。
6 . Controller执行完成后,会返回一个ModelAndView对象,该对象中会包含视图名或包含模型和视图名。
7 . HandlerAdapter将ModelAndView对象返回给DispatcherServlet。
8 . DispatcherServlet会根据ModelAndView对象选择一个合适的ViewReslover(视图解析器)。
9 . ViewReslover解析后,会向DispatcherServlet中返回具体的View(视图)。
10 . DispatcherServlet对View进行渲染(即将模型数据填充至视图中)。
11 . 视图渲染结果会返回给客户端浏览器显示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Spring MVC的学习路径,从入门到精通可以按照以下步骤进行: 1. 理解基本概念和架构:首先,了解Spring MVC的基本概念和架构是很重要的。了解MVC模式、控制器、视图解析器、处理器映射等核心概念。 2. 环境配置和项目搭建:学习如何配置Spring MVC环境,并搭建一个简单的Spring MVC项目。了解如何配置web.xml文件、DispatcherServlet、Spring配置文件等。 3. 控制器和请求映射:学习如何创建和配置控制器,并且了解请求映射的不同方式,如基于注解的@RequestMapping注解和基于XML的配置方式。 4. 视图解析和模板引擎:学习如何配置视图解析器,并使用模板引擎来渲染视图。掌握常用的视图解析器如InternalResourceViewResolver,以及常用的模板引擎如Thymeleaf、Freemarker等。 5. 数据绑定和表单处理:学习如何进行数据绑定,将表单数据绑定到Java对象中,并在控制器中进行表单验证和处理。 6. 拦截器和过滤器:了解拦截器和过滤器的概念,并学习如何使用它们来实现权限验证、请求日志记录等功能。 7. 异常处理和错误页面:学习如何处理控制器中的异常,并配置全局异常处理器和错误页面,提高应用的健壮性和用户体验。 8. RESTful API开发:学习如何使用Spring MVC来开发RESTful风格的API,并了解常用的注解如@RestController、@GetMapping等。 9. 文件上传和下载:了解如何实现文件的上传和下载功能,学习如何配置文件上传解析器和处理文件下载请求。 10. 单元测试和集成测试:学习如何编写单元测试和集成测试来保证代码的质量和功能的正确性。 通过以上步骤的学习,你将逐渐掌握Spring MVC的核心概念和技术,从入门到精通。同时,还可以阅读Spring官方文档、参考书籍以及实践项目来加深理解和提升技能。祝你学习愉快!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值