每日记载内容总结20

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同辈的所有元素但不包括A

5.模拟qq的好友分组功能:

<html>
    
    <head>
    <style type="text/css" >
    .subSer{
        color:red;
        width:100px;
    }
    </style>
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript">
        $(function(){
            $(".subSer").toggle(function(){        
                $(this).next("li").hide();            
            },function(){
                $(this).next("li").show();
            }
            );        
        });
    </script>
    </head>
    <body>
        <div id="qq">
            <ul>
                <li class="subSer">My Friend</li>
                <li class="hujin" style="list-style-type:none">DA<br>ER<br>TY<br>CD<br></li>
                <li class="subSer">Classmates</li>
                <li class="hujin" style="list-style-type:none">DA<br>ER<br></li>
                <li class="subSer">Strangers</li>
                <li class="hujin" style="list-style-type:none">TY<br>CD<br></li>
            </ul>
        </div>
    </body>
</html>
原文地址:https://www.cnblogs.com/cuiyf/p/3281561.html