spring mvc 项目 相关配置文件小结

web.xml文件主要配置如下:

需要加载的配置文件: 类路径下,可以使用通配符配置  类似:classpath:conf/spring/*/*.xml,

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
             classpath:conf/spring/spring-da.xml,
             classpath:conf/spring/spring-res.xml,
        </param-value>
    </context-param>

上下文加载过滤:

<!-- 上下文加载器 加载 context-param -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

excel模板下载,防止出现压缩包的情况.

<!-- excel模板下载 -->
    <mime-mapping>
        <extension>xlsx</extension>
        <mime-type>application/vnd.openxmlformats</mime-type>
    </mime-mapping>

字符过滤器:防止前后台的中文乱码,当然,最好还是保证 前台页面utf-8 后台的编码也是utf-8

<!-- 字符过滤器 -->
    <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>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>*</url-pattern>
    </filter-mapping>

SPring mvc的总控制分发配置:

<!-- Spring MVC 总控制器 DispatcherServlet -->
    <servlet>
        <servlet-name>pmp</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:conf/spring/spring-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>pmp</servlet-name>
        <url-pattern>*.htm</url-pattern>
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>

容器校验登录控制,以及请求的拦截:

<!-- security start -->
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>pmp-web-in</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>*</role-name>
        </auth-constraint>
    </security-constraint>
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>pmp-web-in</web-resource-name>
            <url-pattern>/RES/*</url-pattern>
            <url-pattern>/login.jsp</url-pattern>
            <url-pattern>/home/error.htm</url-pattern>
        </web-resource-collection>
    </security-constraint>
    <login-config>
        <auth-method>FORM</auth-method>
        <form-login-config>
            <form-login-page>/login.jsp</form-login-page>
            <form-error-page>/login.jsp</form-error-page>
        </form-login-config>
    </login-config>
    <security-role>
        <description>framework user role</description>
        <role-name>*</role-name>
    </security-role>
    <!-- security end -->

欢迎页面以及错误跳转配置:

<welcome-file-list>
        <welcome-file>redirect.jsp</welcome-file>
    </welcome-file-list>
    <error-page>
        <exception-type>java.lang.Throwable</exception-type>
        <location>/home/error.htm?errorCode=500</location>
    </error-page>
    <error-page>
        <error-code>500</error-code>
        <location>/home/error.htm?errorCode=500</location>
    </error-page>
    <error-page>
        <error-code>404</error-code>
        <location>/home/error.htm?errorCode=404</location>
    </error-page>
    <error-page>
        <error-code>403</error-code>
        <location>/home/error.htm?errorCode=403</location>
    </error-page>

以上是项目中web.xml的基本的配置信息,可以根据自身的项目信息增加和删除相关的配置项.

下面是spring-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:cxf="http://cxf.apache.org/core"
    xmlns:p="http://cxf.apache.org/policy" xmlns:ss="http://www.springframework.org/schema/security"
    xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:jee="http://www.springframework.org/schema/jee"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    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://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
       http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
       http://cxf.apache.org/policy http://cxf.apache.org/schemas/policy.xsd
       http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
       http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
       http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd
       http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

    <!-- 启用注解扫描 -->
    <context:component-scan base-package="com.lilin.pmp.web" use-default-filters="false">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
    </context:component-scan>

    <!-- 启用spring mvc 注解驱动配置 -->
    <mvc:annotation-driven />

    <!-- 拦截器的配置  -->
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**/*.htm"/>
            <ref bean="loginUserInterceptor" />
        </mvc:interceptor>
    </mvc:interceptors>
    <!--===================== view resovler ===================== -->
    <bean id="viewResolver" abstract="true">
        <property name="attributes">
            <props>
                <prop key="resRoot">@{resRoot}</prop>
                <prop key="uaaResRoot">@{uaaResRoot}</prop>
                <prop key="envName">@{envName}</prop>
                <prop key="minSuffix">@{minSuffix}</prop>
                <prop key="appVersion">@{appVersion}</prop>
                <prop key="imgHost">@{imgHost}</prop>
                <prop key="imgHostTag">@{imgHostTag}</prop>
                <prop key="imgHostNumber">@{imgHostNumber}</prop>
            </props>
        </property>
    </bean>
    <bean id="jstlViewResolver"
        class="org.springframework.web.servlet.view.UrlBasedViewResolver"
        parent="viewResolver">
        <property name="order" value="2" />
        <property name="viewClass"
            value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>
    <bean id="freemarkerResolver"
        class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"
        parent="viewResolver">
        <!--<property name="cache" value="true"/> -->
        <property name="order" value="1" />
        <property name="viewNames">
            <array>
                <value>*.ftl</value>
            </array>
        </property>
        <!-- <property name="suffix" value=".ftl" /> -->
        <property name="requestContextAttribute" value="request" />
        <property name="exposeSpringMacroHelpers" value="true" />
        <property name="exposeRequestAttributes" value="true" />
        <property name="exposeSessionAttributes" value="true" />
        <property name="allowSessionOverride" value="true" />
        <property name="contentType" value="text/html;charset=utf-8" /><!--编码 -->
        <property name="viewClass"
            value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
    </bean>
    <!-- ===================== view resolver end ====================== -->

    <!-- 文件上传支持 -->
    <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding" value="utf-8"></property>
        <property name="maxUploadSize">
            <value>104857600</value><!-- 上传文件大小限制为100M,100*1024*1024 -->
        </property>
        <property name="maxInMemorySize">
            <value>4096</value>
        </property>
    </bean>

    <bean id="webPropertyConfig"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:conf/main-setting-web.properties</value>
            </list>
        </property>
        <property name="placeholderPrefix" value="@{" />
        <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
    </bean>

    <bean id="freemarkerConfig"
        class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
        <description>Required for Freemarker to work in web tier</description>
        <property name="configuration" ref="freemarkerConfiguration" />
    </bean>

    <bean id="freemarkerConfiguration"
        class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
        <description>Using the Config directly so we can use it outside the
            web tier
        </description>
        <!-- 模板加载路径 -->
        <property name="templateLoaderPaths">
            <list>
                <value>/WEB-INF/freemarker/</value>
                <value>/WEB-INF/uaa-freemarker/</value>
                <value>classpath:/</value>
                <value>/</value>
            </list>
        </property>
        <property name="configLocation">
            <value>classpath:conf/freemarker.properties</value>
        </property>
        <!--全局变量部分 -->
        <property name="freemarkerVariables">
            <map>
                <entry key="xml_escape" value-ref="fmXmlEscape" />
                <entry key="html_escape" value-ref="fmHtmlEscape" />
                <entry key="base" value="@{base}" />
                <entry key="resRoot" value="@{resRoot}" />
                <entry key="uaaResRoot" value="@{uaaResRoot}" />
                <entry key="appVersion" value="@{appVersion}" />
            </map>
        </property>
        <property name="defaultEncoding" value="utf-8" />
    </bean>

    <bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape" />
    <bean id="fmHtmlEscape" class="freemarker.template.utility.HtmlEscape" />

    <!-- ====================== i18n =============================== -->
    <bean id="messageSource"
        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basename" value="classpath:i18n/messages" />
    </bean>

    <bean
        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean
                    class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/plain;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>
</beans>
时间: 2024-10-03 23:07:00

spring mvc 项目 相关配置文件小结的相关文章

maven Spring MVC项目

IntelliJ IDEA上创建maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.xml 配置web.xml 配置contextConfigLocation文件 配置log4j.properties controller和view的编写 servlet容器的配置和运行 配置本地的tomcat服务器 配置maven插件 运行第一个Spring MVC应用 目前java开发主流的IDE

Java Spring MVC项目搭建(一)——Spring MVC框架集成

1.Java JDK及Tomcat安装 我这里安装的是JDK 1.8 及 Tomcat 8,安装步骤详见:http://www.cnblogs.com/eczhou/p/6285248.html 2.下载Eclipse并安装 我这里安装的是Java EE neon 64位版本. 3.建立Spring MVC项目 3.1.打开安装好的eclipse ,选择File->new->other.在弹出的框内选择Web->Dynamic Web Project , 选择Next. 3.2.给项目起

【Spring】搭建最简单的Spring MVC项目

每次需要Spring MVC的web项目测试一些东西时,都苦于手头上没有最简单的Spring MVC的web项目,现写一个. > 版本说明 首先要引入一些包,Spring的IOC.MVC包就不用说了.还有Jackson的包,因为默认情况下Controller的方法如要返回Json,用的是此框架. <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>

Eclipse使用Maven创建Spring MVC项目(包含实例)以及部署到tomcat服务器

1.安装Maven并配置环境变量 2.eclipse中配置Maven 3.eclipse创建Maven项目 选择项目路径,next 选择maven项目类别[maven-archetype-webapp],next 输入Group Id(顶级包名),Artifact Id(项目名),Package根据两者自动生成,finish 生成的项目如上图所示. 报错原因是缺失Server Runtime Library,添加即可,同时jre替换为System Library. 替换后项目目录如下: src文

使用maven, myeclipse工具构建spring mvc项目

一.使用myeclipse 创建一个新的 maven项目. (ps:1.在filter过滤的时候输入 webapp 选择"maven-archetype-webapp". 2.在main下建一个java文件夹(建source folder可能不能成功)) 具体可参考:http://www.cnblogs.com/waniu/p/3798775.html 二.将project 转变成webproject.(右键--properties--myeclipse--project facets

eclipse下创建maven spring MVC 项目

一.创建maven项目 1.创建准备工作  -eclipse (本人使用的是Neon.3 Release (4.6.3)版本,此版本用使用jdk 1.8)  -jdk1.8.0_101  -maven-3.5.0  上面这些不要求一样,其他版本大致也是一样的. 首先安装maven,在eclipse上配置好User Setting,如下: 2.选择File→new→other→Maven→Maven Project,这里我们选择创建maven项目 第一步选择完maven project后,我们选择

第一个使用Spring Tool Suite(STS)和Maven建立的Spring mvc 项目

一.目标 在这篇文章中.我将要向您展示怎样使用Spring Frameworks 和 Maven build创建您的第一个J2ee 应用程序. 二.信息 Maven是一个java项目的构建工具(或者自己主动构建工具).它与Ant或Gradle非常想.Maven能够自己主动下载您项目中依赖的组件. 三.要求 1.应用于Java EE 的Spring Tool Suite(STS) (http://spring.io/tools/sts/all). 请选择与您的操作系统相应的安装文件. 我比較喜欢下

IntelliJ IDEA 创建spring mvc项目(图)

本文主要介绍怎么在IntelliJ IDEA 创建spring mvc项目,导入jar文件,tomcat配置(编辑器). 一.创建spring mvc项目 1.打开IntelliJ IDEA点击 创建新项目(Create New Project),SDK选择,然后选择sping>spring mvc,下一步 2.填写项目名称与选择项目路径 二.导入jar文件 1.选中lib文件夹,右键打开资源管理器 2.把准备好的jar文件复制粘贴到lib文件夹里面 3.点击文件(file)在列表中选择proj

maven建spring mvc 项目访问不到uri 解决:

用maven 测试一下spring+springmvc+hibernate时,springmvc按以前本地jar建的web项目测试来配置,可怎么也访问不了uri,新建了几个项目,一直找不到,或报错! 搞了大半天,终于解决了!主要是mvc的配置如下: 其他配置照旧! <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/sche