关于spring-mvc:Spring-MVC的配置和原理

29次阅读

共计 2812 个字符,预计需要花费 8 分钟才能阅读完成。

SpringMVC 的配置和原理:

1.Spring MVC 的配置:
1. 在 pom.xml 中引入 springmvc 所须要的 jar 包:

<dependencies>
    <!-- Spring MVC 的 jar 包 -->
    <dependency>
        <groupId>org.springframework</groupId>
       <artifactId>spring-webmvc</artifactId>
       <version>4.1.3.RELEASE</version>
    </dependency>
    
    <!-- servlet 和 jsp 的 jar 包 -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.0</version>
        <scope>provided</scope>
    </dependency>
    
    <!-- 单元测试 -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
        <scope>test</scope>
    </dependency>
    
</dependencies>

2. 在 web.xml 中 配置前端控制器

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">

<!-- 配置 springmvc 前端控制器(DispatcherServlet),将所有申请交给 springmvc 来解决 -->
<servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 配置 springmvc 外围配置文件的地位,默认 springmvc 的配置文件在 WEB-INF 录下,默认的名字为 springmvc-servlet.xml, 如果要放在其余目录,则须要指定如下配置:-->
    <init-param>
    <!-- 这里配置的是固定值 -->
        <param-name>contextConfigLocation</param-name>
        <!-- 这里依据文件名和地位决定 xml 文件的门路 -->
        <param-value>classpath:springmvc-config.xml</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <!-- 此名字要与下面的 name 一样 -->
    <servlet-name>springmvc</servlet-name>
    <!--/*: 拦挡动态 web 资源(html/css/JS/ 图片),包含 JSP
        /: 拦挡动态 web 资源,不包含 JSP -->
    <url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>

3. 创立并配置 springmvc-config.xml

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

<!-- 1. 配置前端控制器放行动态资源,否则无法访问动态资源 -->
<mvc:default-servlet-handler/>
<!-- 2. 配置注解驱动,用于辨认注解 -->
<mvc:annotation-driven></mvc:annotation-driven>
<!-- 3. 配置须要扫描的包:spring 主动去扫描 base-package 下的类,如果扫描到的类上有 @Controller、@Service、@Component 等注解,将会主动将类注册为 bean -->
<context:component-scan 
    base-package="cn.tedu.controller">
</context:component-scan>
<!-- 4. 配置外部资源视图解析器 
        prefix: 配置门路前缀 
        suffix: 配置文件后缀 
        -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"  />
<property name="suffix" value=".jsp" />
</bean>

</beans>

2.Spring MVC 的原理图:

正文完
 0