1.mysq问题(转)
严重: The web application [/codeMarket] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@e1666]) and
a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@e0ada6]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.2012-2-9 17:43:12 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap严重: The web application [/codeMarket] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@a8a314]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@16ab2e8]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.第一个异常 严重: The web application [/codeMarket] registered the JBDC driver [oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered程序运行了jdbc驱动,可是当程序停止时,无法注销这个驱动,tomcat为了防止内存溢出,就给强制注销了由于JDBC连接池用的是dbcp,dbcp1.3/1.4连接池没有自动的去回收空闲连接的功能,在1.3.1、1.4.1版本做了修复 (可以替换成新版本试试,亦可以按以下方案重写,也可以考虑使用c3p0,它有自动回收空闲连接功能)解决方法:重写了org.apache.commons.dbcp.BasicDataSource 的 close()方法:package org.company.util;import java.sql.DriverManager;import java.sql.SQLException;import org.apache.commons.dbcp.BasicDataSource;public class XBasicDataSource extends BasicDataSource{ @Override public synchronized void close() throws SQLException{ // System.out.println("......输出数据源Driver的url:"+DriverManager.getDriver(url)); DriverManager.deregisterDriver(DriverManager.getDriver(url)); super.close(); }}在dbcp数据源中的配置:<bean id="myDataSource" class="org.company.util.XBasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"> </property> <property name="url" value="jdbc:oracle:thin:@XX.XXX.XX.X:1521:ccdb"> </property> <property name="username" value="codemanage"></property> <property name="password" value="codemanage"></property> <property name="maxActive" value="10"></property> <property name="initialSize" value="5"></property> <property name="removeAbandoned" value="true"></property> <property name="removeAbandonedTimeout" value="3600"></property> </bean> 即可解决问题第二个问题再重新加载的时候发现还有:严重: The web application [/codeMarket] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped.To prevent a memory leak, the JDBC Driver has been forcibly unregistered.2012-2-9 17:43:12 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc检查了一下jar包 发现多了一个mysql-connector-java-bin.jar 因为我用的是oracle 但是把mysql和oracle的jar包都加进去了 删掉即可
2.js实现点击页面除了某位置的其他位置而触发操作:(就本例而言:该位置id为selectCategory 操作的位置class为search_drop)
if(document.addEventListener){ document.addEventListener("click", function(e) { var allClick = document.getElementById("selectCategory"); var target = e.target || e.srcElement; while (target != document && target != allClick) { target = target.parentNode; } if (target == document) { $(".search_drop").hide(); } }, false); }else if(document.attachEvent){ document.attachEvent("onclick",function(e) { var allClick = document.getElementById("selectCategory"); var target = e.target || e.srcElement; while (target != document && target != allClick) { target = target.parentNode; } if (target == document) { $(".search_drop").hide(); } });
亲测兼容ie6到ie10 , firefox ,chrome
3.toggleClass :为元素添加class 以及移除class
<div class="tumble">Some text.</div> ----> $('div.tumble').toggleClass('bounce') -----><div class="tumble bounce">Some text.</div> ----> $('div.tumble').toggleClass('bounce') -----><div class="tumble">Some text.</div>
4.siblings: $(A).siblings(B) 筛选出与A同辈的满足B选择器的元素,
若B为空,而且A可以选出准确的元素,该表达式得到与A同辈的所有元素但不包括A如果A未选择出一个准确的元素,则包含所有元素 例如 :<li>2</li><li class="second-item">2</li><li>3</li><li>4</li><li>5</li>$("li").siblings(). …… 该表达式得到与A同辈的所有元素而且包括A,即所有li$("li.second-item").siblings(). 该表达式得到与A同辈的所有元素但不包括A5.模拟qq的好友分组功能:
- My Friend
- DAERTYCD
- Classmates
- DAER
- Strangers
- TYCD