背景:
众所周知,SpringMVC项目的配置过程十分的繁琐,所以我把常见的、通用的配置步骤记录在这里:
一、在pom.xml中导入SpringMVC项目的相关坐标
必须导入的坐标有: spring-context, spring-web, spring-webmvc, javax.servlet-api, javax.servlet.jsp-api
二、在resources中添加spring-mvc.xml配置文件并进行通用配置
需要注意以下配置有些可能要引入命名空间,这个在文件头部复制粘贴那些链接并修改就可以了
1.配置mvc的注解驱动:<mvc:annotation-driven/>
这个注解驱动很有用,在Controller层接收或返回对象、集合等参数的时候可以自动用jackson进行字符串的封装
2.配置内部资源视图解析器
使用ModelAndView对象的setViewName(“xxx”)方法进行页面跳转时,会把xxx自动加上前后缀,变成:/xxx.jsp
使用return(”xxx")进行页面视图的跳转时,视图解析器也会自动加上前后缀,变成:/xxx.jsp
但是如果自己非要把完整路径写出来,解析器也会进行匹配,不会造成路径错误
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
</bean>
3.开启静态资源访问权限:<mvc:default-servlet-handler/>
4.配置组件扫描:<context:component-scan base-package=“com.lxl.controller”/>
由于Controller是由SpringMVC使用注解单独配置的,所以要配置组件扫描,base-package换成你自己的
三、在web.xml中配置前端控制器:DispatcherServlet
<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:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>