springmvc的简介

发布于:2024-12-08 ⋅ 阅读:(123) ⋅ 点赞:(0)

SpringMVC的介绍与第一个程序的开发步骤

1. 介绍

SpringMVC是一个实现了MVC架构模式的Web框架,底层基于Servlet实现。
SpringMVC已经将MVC架构模式实现了,因此只要我们是基于SpringMVC框架写代码,编写的程序就是符合MVC架构模式的。(MVC的架子搭好了,我们只需要添添补补

SpringMVC帮我们做了什么

SpringMVC框架帮我们做了什么,与纯粹的Servlet开发有什么区别?

  1. 入口控制:SpringMVC框架通过DispatcherServlet作为入口控制器,负责接收请求和分发请求。而在Servlet开发中,需要自己编写Servlet程序,并在web.xml中进行配置,才能接受和处理请求。
  2. 在SpringMVC中,表单提交时可以自动将表单数据绑定到相应的JavaBean对象中,只需要在控制器方法的参数列表中声明该JavaBean对象即可,无需手动获取和赋值表单数据。而在纯粹的Servlet开发中,这些都是需要自己手动完成的。
  3. IoC容器:SpringMVC框架通过IoC容器管理对象,只需要在配置文件中进行相应的配置即可获取实例对象,而在Servlet开发中需要手动创建对象实例。
  4. 统一处理请求:SpringMVC框架提供了拦截器、异常处理器等统一处理请求的机制,并且可以灵活地配置这些处理器。而在Servlet开发中,需要自行编写过滤器、异常处理器等,增加了代码的复杂度和开发难度。
  5. 视图解析:SpringMVC框架提供了多种视图模板,如JSP、Freemarker、Velocity等,并且支持国际化、主题等特性。而在Servlet开发中需要手动处理视图层,增加了代码的复杂度。

总之,与Servlet开发相比,SpringMVC框架可以帮我们节省很多时间和精力,减少代码的复杂度,更加专注于业务开发。同时,也提供了更多的功能和扩展性,可以更好地满足企业级应用的开发需求。

2. 创建第一个SpringMVC程序

下面仅以最基础的程序创建步骤作为示例,并且使用清晰的语言说明过程:

步骤 1: 创建项目
  1. 打开 IDEA 或 Eclipse,新建一个 Maven Web 项目。
  2. 引入 SpringMVC 的依赖,在 pom.xml 中添加:
     <!--    打包方式-->
     <packaging>war</packaging>
     <!--    依赖-->
     <!-- 依赖 -->
     <dependencies>
         <!-- Spring MVC 依赖 -->
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-webmvc</artifactId>
             <version>6.1.4</version>
         </dependency>
         <!-- Logback 依赖 -->
         <dependency>
             <groupId>ch.qos.logback</groupId>
             <artifactId>logback-classic</artifactId>
             <version>1.5.3</version>
         </dependency>
         <!-- Servlet API 依赖 -->
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
             <version>6.0.0</version>
     <!--            指定该依赖的范围,provided表示这三个依赖由第三方容器来提供-->
     <!--           打包war包的时候,这个依赖不会打入war包类。因为这个依赖由其他容器来提供-->
             <scope>provided</scope>
         </dependency>
         <!-- Thymeleaf 和 Spring6 整合的依赖 -->
         <dependency>
             <groupId>org.thymeleaf</groupId>
             <artifactId>thymeleaf-spring6</artifactId>
             <version>3.1.2.RELEASE</version>
         </dependency>
     </dependencies>
    
步骤 2: 配置 SpringMVC
  1. webapp/WEB-INF 目录下创建 springmvc.xml,设置配置文件,配置控制器和路由配置:
    在这里插入图片描述
   <!-- 组件扫描 -->
    <context:component-scan base-package="Springmvc.Controller"/>
    <!-- 静态资源的映射 -->
    <!--    <mvc:resources mapping="/static/**" location="/static/"/>-->

    <!-- 视图解析器 -->
    <bean id="thymeleafViewResolver" class="org.thymeleaf.spring6.view.ThymeleafViewResolver">
        <!-- 作用于视图渲染的过程中,可以设置视图渲染后输出时采用的编码字符集 -->
        <property name="characterEncoding" value="UTF-8"/>
        <!-- 如果配置多个视图解析器,它来决定优先使用哪个视图解析器,它的值越小优先级越高 -->
        <property name="order" value="1"/>
        <!-- 当 ThymeleafViewResolver 渲染模板时,会使用该模板引擎来解析、编译和渲染模板 -->
        <property name="templateEngine">
            <bean class="org.thymeleaf.spring6.SpringTemplateEngine">
                <!-- 用于指定 Thymeleaf 模板引擎使用的模板解析器。模板解析器负责根据模板位置、模板资源名称、文件编码等信息,加载模板并对其进行解析 -->
                <property name="templateResolver">![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/4be0fbe97bb340ac8fe8be205e154a78.png)


                    <bean class="org.thymeleaf.spring6.templateresolver.SpringResourceTemplateResolver">
                        <!-- 设置模板文件的位置(前缀) -->
                        <property name="prefix" value="/WEB-INF/templates/"/>
                        <!-- 设置模板文件后缀(后缀),Thymeleaf文件扩展名不一定是html,也可以是其他,例如txt,大部分都是html -->
                        <property name="suffix" value=".html"/>
                        <!-- 设置模板类型,例如:HTML,TEXT,JAVASCRIPT,CSS等 -->
                        <property name="templateMode" value="HTML"/>
                        <!-- 用于模板文件在读取和解析过程中采用的编码字符集 -->
                        <property name="characterEncoding" value="UTF-8"/>
                    </bean>
                </property>
            </bean>
        </property>
    </bean>
步骤 3: 配置网页渲染器和控制器
  1. web.xml 中配置 SpringMVC 的 DispatcherServlet:
     <!--前端控制器-->
     <servlet>
         <servlet-name>springmvc</servlet-name>
         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
         <!--通过初始化参数来指定springmvc配置文件的路径和名字。-->
         <init-param>
             <param-name>contextConfigLocation</param-name>
             <param-value>/WEB-INF/springmvc.xml</param-value>
         </init-param>
         <!--在服务器启动的时候初始化DispatcherServlet,提高第一次访问的效率-->
         <load-on-startup>1</load-on-startup>
     </servlet>
     <servlet-mapping>
         <servlet-name>springmvc</servlet-name>
         <url-pattern>/</url-pattern> <!--/表示除了.jsp的请求路径之外,其他请求都能匹配 -->
     </servlet-mapping>
    
    
步骤 4: 创建控制器
  1. Springmvc.Controller 包中新建一个 Java 类,例如 FirstController,并使用 @Controller@RequestMapping 注解:
     package Springmvc.Controller;
     
     import org.springframework.stereotype.Controller;
     import org.springframework.web.bind.annotation.RequestMapping;
     
     @Controller
     public class FirstController {
         @RequestMapping("/test")
         public String toRegisterPage(){
             // 处理业务逻辑
             return "first";
         }
         @RequestMapping("/love")
         public String lovePage(){
             // 处理业务逻辑
             return "love";
         }
         @RequestMapping("/")
         public String indexPage(){
             // 处理业务逻辑
             return "index";
         }
     }
    
步骤 5: 运行项目
  1. 启动 Tomcat 服务器,进入网页地址:http://localhost:8080/your_project_name/test

网站公告

今日签到

点亮在社区的每一天
去签到