一、新建过程
二、构架目录结构
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>