【SpringMVC 框架(自学)】Day01(框架搭建)--2022/4/09

HelloWorld入门程序

配置pom文件:

<!--打包方式添加为war包-->
<packaging>war</packaging>

<dependencies>
    <!--SpringMVC-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.2.9.RELEASE</version>
    </dependency>

    <!--日志-->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
    </dependency>

    <!--ServletAPI-->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>

    <!--Spring5和Thymeleaf整合包-->
    <dependency>
        <groupId>org.thymeleaf</groupId>
        <artifactId>thymeleaf-spring5</artifactId>
        <version>3.0.15.RELEASE</version>
    </dependency>
</dependencies>

mian目录下创建webapp文件

webapp文件夹是存放前端页面文件的,配置它的项目结构,创建WEB-INF文件夹


配置Servlet

当webapp项目结构配置好之后,配置它的Servlet,之所以手动配置是因为在JavaWeb时,Servlet是由Tomcat自动代理的

<!--配置SpringMVC的前端控制器,对浏览器发送的请求进行统一处理-->
    <servlet>
        <!--Servlet-name要与servlet-mapping下的Servlet-name齐名-->
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--配置SpringMVC配置文件的位置和名称-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:SpringMVC.xml</param-value>
        </init-param>
        <!--将DispatcherServlet的初始化时间提前到服务器启动时,这样第一次加载就不会浪费时间-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

配置SpringMVC

<!--配置thymeleaf视图解析器-->
<bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
    <property name="order" value="1"/>
    <property name="characterEncoding" value="UTF-8"/>
    <property name="templateEngine">
        <bean class="org.thymeleaf.spring5.SpringTemplateEngine">
            <property name="templateResolver">
                <bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
                    <!--视图前缀-->
                    <property name="prefix" value="/WEB-INF/templates/"/>
                    <!--视图后缀-->
                    <property name="suffix" value=".html"/>
                    <property name="templateMode" value="HTML5"/>
                    <property name="characterEncoding" value="UTF-8"/>
                </bean>
            </property>
        </bean>
    </property>
</bean>

<!--配置组件扫描器-->
<context:component-scan base-package="com.springmvc.Controller"></context:component-scan>

web与控制层(Controller)实现

<!--index.xml-->
<!DOCTYPE html>
<!--加入thymeleaf-->
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
<h1>首页</h1>
<!--加入thymeleaf之后,可以直接帮你配置上下文路径-->
<a th:href="@{/target}">访问目标页Target</a>
</body>
</html>



<!--target.xml-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>HelloWorld</p>
</body>
</html>
//控制层(Controller)实现

@Controller//声明此java类是控制层
public class HelloController{
    
    @RequestMapping("/")
    public String index(){
        return "index";
    }
    
    @RequestMapping("/target")
    public String index(){
        return "target";
    }
}
posted @   VVS,冷漠的心  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· 面试官:你是如何进行SQL调优的?

囚鸟该如何超越今生?

点击右上角即可分享
微信分享提示