SpringMVC:HelloWorld

SpringMVC:HelloWorld

一、概述

Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于 Servlet。
Spring MVC 是结构最清晰的 Servlet+JSP+JavaBean 的实现,是一个典型的教科书式的 MVC 构架,不像 Struts 等其它框架都是变种或者不是完全基于 MVC 系统的框架。
Spring MVC 角色划分清晰,分工明细,并且和 Spring 框架无缝结合。Spring MVC 是当今业界最主流的 Web 开发框架,以及最热门的开发技能。
在 Spring MVC 框架中,Controller 替换 Servlet 来担负控制器的职责,用于接收请求,调用相应的 Model 进行处理,处理器完成业务处理后返回处理结果。Controller 调用相应的 View 并对处理结果进行视图渲染,最终客户端得到响应信息。
Spring MVC 框架采用松耦合可插拔的组件结构,具有高度可配置性,比起其它 MVC 框架更具有扩展性和灵活性。
此外,Spring MVC 的注解驱动和对 REST 风格的支持,也是它最具特色的功能。无论是在框架设计,还是扩展性、灵活性等方面都全面超越了 Struts2 等 MVC 框架。并且由于 Spring MVC 本身就是 Spring 框架的一部分,所以可以说与 Spring 框架是无缝集成,性能方面具有先天的优越性,对于开发者来说,开发效率也高于其它的 Web 框架,在企业中的应用越来越广泛,成为主流的 MVC 框架。

二、初体验

1、创建一个maven项目,添加web依赖。

SpringMVC:HelloWorld

2、在pom.xml文件中引入依赖

        <!-- SpringMVC -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.1</version>
        </dependency>

3、在web.xml文件中配置springmvc的Dispatcher前端过滤器,设置springmvc配置文件的名称和位置

    <servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <!--/ 过滤所有请求,不包括jsp文件
            /*过滤所有请求,包括jsp文件
        -->
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

4、配置springmvc.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--springmvc的三大核心是处理器映射器,处理器适配器,视图解析器-->
    <!--开启注解扫描-->
    <context:component-scan base-package="com.kw.mvc"></context:component-scan>
    <!--配置视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"></property>
        <property name="suffix" value=".html"></property>
    </bean>

    <!--让springmvc不去处理静态资源,如.css .js .html等-->
    <mvc:default-servlet-handler/>

    <!--开启mvc注解驱动,
    在springmvc中一般采用@RequestMapping注解来完成映射关系,
    要想使@RequestMapping注解生效,需要向上下文注册处理器映射器(DefaultAnnoationHandlerMapping),
    处理器适配器(AnnotationMethodHandlerAdapter),
    annotation-driven这个配置就相当于自动配置了springmvc的处理器适配器和处理器映射器-->
    <mvc:annotation-driven/>
</beans>

5、创建一个Controller类,编写跳转逻辑。

@Controller
public class HelloController {
    @RequestMapping("/hello")
    private String hello(){
        return "success";
    }
}

6、测试

上一篇:【9004期】SpringMVC常见面试题总结


下一篇:正则表达式[^]、([^]*)表示什么意思