xml文件相关问题

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

web.xml的加载顺序是:<context-param>-><listener>-><filter>-><servlet>
<filter>为例,web.xml中当然可以定义多个<filter>,与<filter>相关的一个元素是<filter-mapping>,注意,对于拥有相同<filter-name><filter><filter-mapping>元素而言,<filter-mapping>必须出现在<filter>之后,否则当解析到<filter-mapping>时,它所对应的<filter-name>还未定义。web容器启动初始化每个<filter>时,按照<filter>出现的顺序来初始化的,当请求资源匹配多个<filter-mapping>时,<filter>拦截资源是按照<filter-mapping>元素出现的顺序来依次调用doFilter()方法的。<servlet><filter>类似,此处不再赘述。

<context-param>解释:
<context-param>元素含有一对参数名和参数值,用作应用的Servlet上下文初始化参数,参数名在整个Web应用中必须是惟一的,在web应用的整个生命周期中上下文初始化参数都存在,任意的Servlet和jsp都可以随时随地访问它。<param-name>子元素包含有参数名,而<param-value>子元素包含的是参数值。作为选择,可用<description>子元素来描述参数。

这里的<listener>用于Spring的加载,Spring加载可以利用ServletContextListener实现,也可以采用load-on-startup Servlet 实现,但是当<filter>需要用到bean时,但加载顺序是:先加载<filter>后加载<servlet>,则中初始化操作中的bean为null;所以,如果过滤器中要使用到bean,此时就可以根据加载顺序<listener> -> <filter> -> <servlet>,将spring的加载改成Listener的方式。
888
在J2EE工程中web服务器启动的时候最先调用web.xml,上面这段配置的意思是加载spring的监听器,其中ContextLoaderListener的作用就是启动Web容器时,自动装配applicationContext.xml的配置信息,执行它所实现的方法。

Filter可认为是Servle的一种“加强版”,主要用于对用户请求request进行预处理,也可以对Response进行后处理,是个典型的处理链。使用Filter的完整流程是:Filter对用户请求进行预处理,接着将请求HttpServletRequest交给Servlet进行处理并生成响应,最后Filter再对服务器响应HttpServletResponse进行后处理。Filter与Servlet具有完全相同的生命周期,且Filter也可以通过<init-param>来配置初始化参数,获取Filter的初始化参数则使用FilterConfig的getInitParameter()。
换种说法,Servlet里有request和response两个对象,Filter能够在一个request到达Servlet之前预处理request,也可以在离开Servlet时处理response,Filter其实是一个Servlet链。

Servlet的生命周期:
创建Servlet实例有两个时机:
(1). 客户端第一次请求某个Servlet时,系统创建该Servlet的实例,大部分Servlet都是这种Servlet。
(2). Web应用启动时立即创建Servlet实例,即load-on-start Servlet。
Servlet初始化后,将一直存在于容器中,用于响应客户端请求,如果客户端发送GET请求,容器调用Servlet的doGet()方法处理并响应请求;如果客户端发送POST请求,容器调用Servlet的doPost()方法处理并响应请求。或者统一使用service()方法处理来响应用户请求。
(4). Web容器决定销毁Servlet时,先调用Servlet的destory()方法,通常在关闭Web应用时销毁Servlet实例。

tomcatW
-XX:PermSize=1024M
-XX:MaxPermSize=2048M
tomcatW配置

  	<!-- 事务管理器  -->
	<bean id="transactionManager"
		class="org.springframework.orm.hibernate3.HibernateTransactionManager"
		p:sessionFactory-ref="sessionFactory" />
	
	<!--
		Activates various annotations to be detected in bean classes: Spring's
		@Required and @Autowired, as well as JSR 250's @Resource.
	-->
	<context:annotation-config />
	<!--
		Instruct Spring to perform declarative transaction management
		automatically on annotated classes.
	-->
	<!--<tx:annotation-driven/>-->
	<tx:annotation-driven transaction-manager="transactionManager" order="2"/>

    <!-- 事务管理 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="save*"   propagation="REQUIRED" />
            <tx:method name="update*" propagation="REQUIRED" />
            <tx:method name="delete*" propagation="REQUIRED" />
            <tx:method name="execute*" propagation="REQUIRED" />
            <tx:method name="*" propagation="SUPPORTS" read-only="true" />
        </tx:attributes>
    </tx:advice>
    <aop:config>
        <aop:pointcut id="txPointcut"  expression="execution(* com.mln..*.services.*.*(..))"/> 
          <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>  
    </aop:config>
    
    <cache:annotation-driven />
    <!-- generic cache manager --> 
   <bean id="cacheManager"  class="org.springframework.cache.support.SimpleCacheManager">
     <property name="caches"> 
       <set> 
         <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
           p:name="default" /> 
         <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
           p:name="PowerStationCache" /> 
         <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
           p:name="EqEquipmentCache" /> 
         <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
           p:name="EqCompeqMeasureCache" /> 
         <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
           p:name="FTPDataFDirCache" /> 
         <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
           p:name="DataItemEQCache" /> 
         <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
           p:name="DataItemCloumnCache" /> 
         <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
           p:name="DaIndicatorSetCache" /> 
       </set> 
     </property> 
   </bean> 
    /**
     * 保存设备
     * 
     * @param equip
     * @throws Exception
     */
    @CacheEvict(value = "EqEquipmentCache", allEntries = true)
    public void saveEquip(EqEquipment equip) throws Exception {
    }
 @Cacheable(value = "EqEquipmentCache")
    public Map<Integer, Map<String, List<EqEquipment>>> findAllEquip() {
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值