一、说明
因本人个人习惯,一般将项目的核心的配置分为如下几个配置文件配置(名字也是本人的个人爱好,不喜别喷),下文说到配置文件时就不会再进行解释。
spring-mybatis.xml:springMybatis配置文件,主要用来配置与mybatis有关的配置,如数据源等。
spring-mvc.xml:springMVC配置文件,主要用来配置与springMVC有关的配置,如视图解析器等。
spring.xml:spring配置文件,主要用来配置其他的配置,如包扫描,事务管理等。
spring-configs.xml:核心配置文件,主要用来引入其他的配置文件和配置一些共用的配置,如引入springMybatis配置文件和配置包扫描等。
二、配置springMVC
springMVC的五大组件,包括“前端控制器”、“后端控制器”、“视图解析器”、“拦截器”和“url映射处理器”。
1、前端控制器(DispatcherServlet)
1.1 在web.xml文件中配置
1.2 给“contextConfigLocation”变量指定核心配置文件的路径(如:classpath:/spring-configs.xml)。在前端控制器启动的时候会使用其来加载核心配置文件。
1.3 设置优先级,一般设置为1(数字越小优先级越高)。如果没有设置,服务器启动时不会启动前端控制器。
1.4 具体代码配置如下:
<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-configs.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>
2、拦截器(HandlerInterceptor)
本人没有配置
3、视图解析器(ViewResolver,全称为InternalResourceViewResolver(内部资源的视图解析器))
3.1 在springMVC配置文件中配置
3.2 给“Prefix”变量指定前缀,在解析视图时和后缀一起与传入的字符串拼接成完整的url路径
3.3 给“Suffix”变量指定后缀,同上
3.4 具体代码配置如下:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="Prefix" value="/WEB-INF/views/"/>
<property name="Suffix" value=".jsp"/>
</bean>
4、后端控制器(Controller)
4.1 可以配置也可以不配置。
4.2 如果想配置就使用bean标签在springMVC配置文件中配置(一般不建议使用)
4.3 如果不想配置就使用注解的方式。在类前面添加后端控制器注解(@Controller),然后在spring配置文件中配置扫描就行了。(建议使用)
4.4 具体代码实现:
@Controller
@RequestMapping("/")
public class PageController {
@RequestMapping("doTestPage")
public String doTestPage(){
return "test_page";
}
}
5、url映射处理器(HanlderMapping)
5.1 不需要配置URL映射处理器,但需要使用注解方式配置url映射路径。在后端控制器类或方法的前面加上url映射路径的注解(@ RequestMapping)。(建议使用,本人表示只会注解方式,其他方式不会)
5.2 具体代码实现:
@Controller
@RequestMapping("/")
public class PageController {
@RequestMapping("doTestPage")
public String doTestPage(){
return "test_page";
}
}
扩展配置
6、全站乱码处理过滤器(CharacterEncodingFilter)
6.1 在web.xml文件中配置
6.2 给“encoding”变量指定编码格式(一般为UTF-8)
6.3 具体代码配置如下:
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>Encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>