【SpringMVC系列1】搭建SpringMVC项目

一、新建过程

 

 

二、构架目录结构

1.在main目录下new出两个文件夹

  java、resources。并且分别设为Sources Root 和 Resource Root。

2.在webapp目录下建立三个文件夹

  js,image,css

3.在WEB-INF目录下建立一个文件夹

  pages(要和视图解析器配的一致)

三、配置

1.添加相应的坐标依赖

org.springframework:spring-context、spring-web、spring-webmvc
javax.servlet:servlet-api
javax.servlet.jsp:jsp-api

 <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
        </dependency>
</dependencies>

2.web.xml配置

  1)配置前端控制器

  说明:

    servlet不配置init-param,会默认去加载  /WEB-INF/[servlet名字]-servlet.xml

    classpath:springmvc.xml指的是resources文件下的springmvc.xml

    classpath:/spring/sprinh-*.xml :可以配置多个

<servlet>
  <servlet-name>dispatcherServlet</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   
 <!-- 配置SpringMVC 需要的配置文件
    默认会找:/WEB-INF/[servlet名称]-servlet.xml
   --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>

  2)配置contextConfigLocation

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/config/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

3.Spring的配置文件(在Resources下创建)

主要有几个作用:

  1)命名空间:beans,context,mvc

<beans xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
</beans

  2)注解扫描

<context:component-scan base-package="com.owl.*"/>

  3)注解驱动

<!-- 会自动加载处理器和处理器适配器 -->
<
mvc:annotation-driven/>

<!-- 配置自定义转化器 -->
<mvc:annotation-driven conversion-service="conversionServiceFactoryBean"/> 

  4)视图解析器

  <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

  5)静态资源配置

  说明:

    在url路径中包哈/js/**的请求不会被拦截,并对应/WEB-INF/static/images

    **表示可以带子目录

    如果不在web.xml配置servlet-mapping,静态资源会被拦截

springmvc配置文件:
<mvc:resources mapping="/js/**" location="/js/"/>
web.xml:
 <servlet-mapping>
  <servlet-name>default</servlet-name>
  <url-pattern>*.js</url-pattern>
 </servlet-mapping>

 4.配置tomcat

原文地址:https://www.cnblogs.com/yejiang/p/13040546.html