好好编程-物流项目07【SpringMVC整合】

文章目录

  • SpringMVC整合
    • 1.配置文件
    • 2.配置前端控制器
    • 3.父子容器

  前面介绍完了mybatis和Spring的整合,接下来介绍下SpringMVC的整合。

SpringMVC整合

1.配置文件

  在logistics-manager-web工程的src/main/resource目录下的spring文件夹中新建一个springmvc.xml文件。
好好编程-物流项目07【SpringMVC整合】_第1张图片
springmvc中配置文件的内容为


<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">  
	 
	<context:component-scan base-package="com.bobo"
		use-default-filters="false">
		<context:include-filter type="annotation"
			expression="org.springframework.stereotype.Controller" />
	context:component-scan>
	
	<mvc:annotation-driven />
	
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	bean>
beans>

创建对应的package
好好编程-物流项目07【SpringMVC整合】_第2张图片

2.配置前端控制器

  web.xml文件配置内容如下,其中前端控制器配置中1这句话的意思是tomcat启动之后便加载DispatcherServlet,如果不配置的话,需要等请求访问的时候才会加载DispatcherServlet。另外可以看到,我们并没有配置父容器(ContextLoaderListener),这是因为我们在taotao-manager工程中已经配置过了,而且配置了Dao和Service。因此我们表现层不需要再配置一遍父容器了。


<web-app version="2.5" id="WebApp_ID" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<display-name>taotao-managerdisplay-name>
	<welcome-file-list>
		<welcome-file>index.jspwelcome-file>
	welcome-file-list>

	
	<context-param>
		<param-name>contextConfigLocationparam-name>
		<param-value>classpath:spring/applicationContext-*.xmlparam-value>
	context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
	listener>
	
	
	<filter>
		<filter-name>CharacterEncodingFilterfilter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
		<init-param>
			<param-name>encodingparam-name>
			<param-value>utf-8param-value>
		init-param>
	filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilterfilter-name>
		<url-pattern>/*url-pattern>
	filter-mapping>
	
	<servlet>
		<servlet-name>taotao-manager-webservlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
		
		<init-param>
			<param-name>contextConfigLocationparam-name>
			<param-value>classpath:spring/springmvc.xmlparam-value>
		init-param>
		<load-on-startup>1load-on-startup>
	servlet>
	<servlet-mapping>
		<servlet-name>taotao-manager-webservlet-name>
		
		<url-pattern>/url-pattern>
	servlet-mapping>

web-app>

3.父子容器

&esmp; 学过Spring和SpringMVC的都知道SpringMVC其实是Spring容器的一个子容器,在我们的配置中,Spring父容器配置的是Dao层和Service层,而Spring子容器配置的是Controller层,子容器可以访问父容器中的对象,但是父容器无法访问子容器中的对象,也就是现在配置的controller可以把Dao和Service的对象注入进来,但是Dao和Service无法把Controller注入进来
好好编程-物流项目07【SpringMVC整合】_第3张图片
注意:子容器其实也可以完全当父容器使用,之所以搞出父子容器,是为了让父容器有更好的扩展性,子容器只需要消费父容器就可以了。

你可能感兴趣的:(物流项目案例,SpringMVC,好好编程系列)