你的第一个SpringMVC程序

1.创建Maven模块

1.1 新建一个父模块

1.2修改一下JDK版本这里选择JDK21

1.3 父模块中建立一个子模块,接下来的操作将在子模块中进行

2.添加web支持

2.1设置本地Maven仓库(非必须)

2.2 在springmvc-001的pom.xml文件中修改打包方式为war同时添加web所需要的依赖,由于Servlet依赖Tomcat会提供所以scope为provided

 <!--修改打包方式-->
    <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依赖-->
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>6.0.0</version>
            <scope>provided</scope>
        </dependency>
        <!--Spring6和Thymeleaf整合依赖-->
        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf-spring6</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
    </dependencies>

2.3 在src\main 文件夹下创建一个webapp文件夹,作为Web资源目录(Web Resource Directory)。可以看到webapp文件夹,中间小点亮起,即为创建成功。

2.4 假设webapp中间小点没有亮起,那么需要在Project Structure Module中设置,配置web.xml文件也在该位置。

3.配置web.xml文件

3.1 创建web.xml文件。文件位置应该是在webapp\WEB-INF下。



3.2 配置web.xml文件。由于SpringMVC架构中是靠DispatcherServlet对请求进行统一处理,所以需要配置DispatcherServlet<url-pattern>中的 /表示当请求不是xx.jsp的时候,DispatcherServlet来负责处理本次请求。

 <servlet>
            <servlet-name>springmvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    

4.编写控制器

4.1 DispatcherServlet接收到请求之后,会根据请求路径分发到对应的Controller,Controller来负责处理请求的核心业务。Controller类只是一个普通的java类但是需要由IOC接管,所以需要添加注解。

5.配置springmvc-servlet.xml文件

5.1 创建SpringMVC的配置文件,SpringMVC框架有它自己的配置文件,该配置文件的名字默认为:<servlet-name>-servlet.xml,默认存放的位置是WEB-INF 目录下

5.2在springmvc-servlet.xml文件中配置组件扫描。spring扫描这个包中的类,将这个包中的类实例化并纳入IoC容器的管理。

5.3 配置thymeleaf视图解析器

 <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">
                    <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>

6.提供视图

6.1 根据视图解析器中的前缀路径在WEB-INF目录下创建 templates 文件夹,以后的视图都放在这个文件下。

6.2 在templates创建index.html,用于测试

7.编写处理请求,返回逻辑名称

7.1控制器FirstController处理请求返回逻辑视图名称。实际上 前缀+逻辑名称+后缀为最终地址

8.测试

8.1配置tomcat



posted @ 2024-06-30 00:36  BLBALDMAN  阅读(1)  评论(0编辑  收藏  举报