SpringMVC的简洁配置步骤

来源:互联网 发布:神界原罪2低配优化 编辑:程序博客网 时间:2024/05/16 16:58

首先,我个人习惯将SpringMVC的配置文件命名为spring-mvc.xml,下面都会使用该命名。
以下是常用的配置:

一、在web.xml中,配置springmvc的前端控制器DispatcherServlet

<!-- 配置DispatchcerServlet -->    <servlet>        <servlet-name>SpringMVC</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <!-- 配置Spring mvc下的配置文件的位置和名称 -->        <init-param>            <param-name>contextConfigLocation</param-name>            <param-value>classpath:spring/spring-mvc.xml</param-value>        </init-param>        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>SpringMVC</servlet-name>        <url-pattern>/</url-pattern>    </servlet-mapping>(ps:,其中<url-pattern>标签是用来拦截所有请求,包括静态资源。)

二、配置spring-mvc.xml

1、配置自动扫描包,会去该包内查找相关注解,将其注册为bean并自动注入容器中。

<context:component-scan base-package="com.shenofusc" />

2、配置注解驱动,其自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。

<mvc:annotation-driven/>

3、配置视图解析器,如何把handler返回的ModelAndView解析为实际的物理视图View

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/"></property>        <property name="suffix" value=".jsp"></property></bean>

三、根据项目需求可选择配置

1、注解处理器映射器和适配器。使用了会主动帮我们注册这两个,所以不用配置也可以。

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>   <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>

2、 放过静态资源拦截

<mvc:default-servlet-handler/>

3、文件上传的控制器,有文件上传的一定要记得配置

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">        <property name="defaultEncoding" value="utf-8"></property>        <property name="maxUploadSize" value="10485760000"></property>        <property name="maxInMemorySize" value="40960"></property></bean>

4、如果使用freeMark的话,则需要配置

<!-- spring上下文获取bean --><bean class="com.shenofusc.entity.freemarker.SpringContextUtil" lazy-init="false" /><bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">        <!-- 指定FreeMarker模板文件目录 -->        <property name="templateLoaderPath" value="/WEB-INF/views/" />        <property name="freemarkerSettings">            <props>                <prop key="template_update_delay">0</prop>                <prop key="defaultEncoding">UTF-8</prop>                <prop key="url_escaping_charset">UTF-8</prop>                <prop key="locale">zh_CN</prop>                <prop key="boolean_format">true,false</prop>                <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>                <prop key="date_format">yyyy-MM-dd</prop>                <prop key="time_format">HH:mm:ss</prop>                <prop key="number_format">0.######</prop>                <prop key="whitespace_stripping">true</prop>                <prop key="classic_compatible">true</prop>            </props>        </property>        <property name="freemarkerVariables">            <map>                <entry key="xml_escape" value-ref="fmXmlEscape" />            </map>        </property></bean><!--freeMark的视图解析器--><bean id="freeMarkerViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">        <property name="cache" value="true" />        <property name="viewClass"     value="com.shenofusc.entity.freemarker.ExtFreeMarkerView" />        <property name="prefix" value="" />        <property name="suffix" value=".ftl" />        <property name="contentType" value="text/html; charset=UTF-8" />        <property name="attributesMap">            <map>                <entry key="newTag">                    <bean class="com.shenofusc.entity.freemarker.TagCreator" />                </entry>            </map>        </property></bean>
原创粉丝点击