springmvc-servlet.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<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">

<!---------------------springMVC配置----------------------------------------------->

    <!--静态资源过滤     mvc默认处理映射器HandlerMapping&处理器适配器HandlerAdapter
	
	tomcat容器的web.xml中有一个defaultServlet(用于处理静态资源),
	映射路径是"/",我们自定义的web.xml最终相当于会与容器的web.xml合并,
	而自定义DispatchServlet一般也是使用"/",导致容器中的defaultServlet被覆盖,
	从而静态资源请求也会被发送到springmvc,springmvc会去找这个路径的映射器
	(相当于对应的Controller,这是找不到的),配置这个<mvc:default-servlet-handler>,
	应该就是在SpringMvc找不到映射路径后,再将其转给tomcat的defaultServlet,
	这是就可以tomcat就可以正确解析静态资源路径。-->
    <mvc:default-servlet-handler/>

    <!--允许注解配置controller-->
    <mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg value="UTF-8"/>
            </bean>
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="objectMapper">
                    <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
                        <property name="failOnEmptyBeans" value="false"/>
                    </bean>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

    <!--视图解析器ViewResolver
    接受DispatcherServlet给他的ModelAndView
    并根据其中的ViewName拼接出View地址-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
        <!--前缀-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>

<!---------------------使用注解配置bean并配置扫描范围----------------------------------------------->

    <!--pojo-->
    <context:component-scan base-package="com.kg.pojo"/>

    <!--mapper-->
    <context:component-scan base-package="com.kg.mapper"/>
    <bean id="bookMapperImpl" class="com.kg.mapper.bookMapperImpl">
        <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
    </bean>

    <!--service-->
    <context:component-scan base-package="com.kg.service"/>

    <!--controller-->
    <context:component-scan base-package="com.kg.controller"/>




<!---------------------以下配置可使用default-servlet-handler代替----------------------------------------------->


    <!--处理映射器HandlerMapping
接受DispatcherServlet给他的地址信息id="/hello"
并通过HandlerExecution类去执行获得handler的类名即class="com.kg.controller.helloSpringMvcController"
将信息返回给DispatcherServlet
-->
    <!--    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>-->

    <!--处理器适配器HandlerAdapter
    接受上面的class信息寻找这个目标类并处理其中方法
    目标类将结果(model and view & viewName地址)返回给本类
    本类返回给DispatcherServlet-->
    <!--    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>-->

</beans>

posted @   浦西和迪克的爱情故事  阅读(184)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示