天天看点

web.xml springMVC配置 初级分析

1、web.xml配置要点:

<display-name>:定义应用的名称。

<context-param>:元素用来设定web应用的环境参数

<listener>:元素用来定义Listener接口,它的主要子元素为<listener-class>

<filter><filter-mapping>:元素用来设定web应用的过滤器,filter-mapping 元素的两个主要子元素filter-name和url-pattern.用来定义Filter所对应的URL.

<servlet></servlet-mapping>:servlet元素的两个主要子元素servlet-name和servlet-class用来定义servlet所对应的class,servlet-mapping元素包含两个子元素servlet-name和url-pattern.用来定义servlet所对应URL.

<welcome-file-list>:用来指定首页文件名称.我们可以用<welcome-file>指定几个首页,而服务器会依照设定的顺序来找首页.

<session-config>:定义这个web站台所有session的有效期限.单位为分钟.

<error-page>:元素包含三个子元素error-code,exception-type和location.将错误代码(Error Code)或异常(Exception)的种类对应到web应用资源路径.

2、spring配置实例及解释

<listener>
			<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
		</listener>
           

"在服务器运行过程中,Spring不停的运行的计划任务和OpenSessionInViewFilter,使得Tomcat反复加载对象而产生框架并用时可能产生的内存泄漏,则使用IntrospectorCleanupListener作为相应的解决办法。"

只知道servlet标准不允许在web容器内自行做线程管理,quartz的问题确实存在。

对于Web容器来说,最忌讳应用程序私自启动线程,自行进行线程调度,像Quartz这种在web容器内部默认就自己启动了10线程进行异步job调度的框架本身就是很危险的事情,很容易造成servlet线程资源回收不掉,所以我一向排斥使用quartz。

quartz还有一个问题就是不支持cluster。导致使用quartz的应用都没有办法做群集。

<filter>
        <filter-name>encodingFilter</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>
    </filter>
	
	<!-- 该过滤器要放在第一个-->
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
           

很简单很实用的一个过滤器,当前台JSP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,就要配置这个过滤器

<filter> 
		<filter-name>hibernateFilter</filter-name>
		<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
		</filter-class>
		<init-param>    
			<param-name>flushMode</param-name>     
			<param-value>AUTO</param-value>     
		</init-param>  
	</filter>
	<filter-mapping>
		<filter-name>hibernateFilter</filter-name> 
		<url-pattern>/*</url-pattern>
	</filter-mapping>
           

配置hibernate。

<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
           
<servlet>
		<servlet-name>test</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
           
web.xml springMVC配置 初级分析

参考 :http://www.iteye.com/topic/1125421

继续阅读