`
wenjinglian
  • 浏览: 807643 次
  • 性别: Icon_minigender_1
  • 来自: 株洲->深圳
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
An internal error occurred during: "Updating Maven Project". Unsupported I问题解决 maven http://andinker.iteye.com/blog/1808030
1、右键点击我的项目,选择 Maven -> Remove(disable) Maven Nature.
 
2、打开cmd命令行,进入到你的工程文件夹中,并且 运行 “mvn eclipse:clean” 
 
3、右键点击你的工程,并且选择 “Configure -> Convert into Maven Project”

然后可以重新刷新mvn项目了
 
 
问题1:项目中添加的引用jar包,在编译的时候获取不到
问题2:Maven Dependencies 文件夹消失
Maven Dependencies 文件夹消失 通过这种方式处理之后,执行 右键点击项目,选择 maven -> update project ... 
插入oracle大字段 oracle
/**
	 * 更新大字段,目前只支持单个字段
	 * 插入clob对象的原理: 先插入空的clob字段到数据库(此方法未包含此操作),查询并锁定这条记录,然后更新clob对象到这条记录
	 * @param tableName 表名称
	 * @param pId 主键名称
	 * @param pValue 主键值
	 * @param column 更新大字段名称
	 * @param value 大字段值
	 * @return
	 */
	public static int updateClobColumn(String tableName, String pId, String pValue,
			String column, String value) {
		int updateRow = 0;
		// 更新clob字段
		Connection conn = null;
		PreparedStatement stmt = null;
		ResultSet rs = null;
		// 插入clob对象的原理: 先插入空的clob对象,查询并锁定这条记录,然后更新clob对象到这条记录
		Clob clob = null;
		try {
			conn = DaoUtil.getConnection();
			// 查询并锁定插入的记录
			StringBuilder sql = new StringBuilder(100);
			sql.append("select ").append(column).append(" from ").append(tableName)
					.append(" where ").append(pId).append(" = ? for update");
			stmt = conn.prepareStatement(sql.toString());
			stmt.setObject(1, pValue);
			rs = stmt.executeQuery();
			if (rs.next()) {
				clob = rs.getClob(1);
				clob.setString(1, value);
				// 更新clob到数据库
				sql = new StringBuilder(100);
				sql.append("update P_NEWS set ").append(column)
						.append(" = ? where ").append(pId).append(" =?");
				stmt = conn.prepareStatement(sql.toString());
				stmt.setClob(1, clob);
				stmt.setObject(2, pId);
				updateRow = stmt.executeUpdate();
			}
		} catch (Exception e) {
			e.printStackTrace();
			Log.getLogger().error("数据库操作失败", e);
		} finally {
			try {
				if (rs != null) {
					rs.close();
				}
				if (stmt != null) {
					stmt.close();
				}
				if (conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
				Log.getLogger().error("数据连接关闭失败", e);
			}
		}
		return updateRow;
	}
tomcat 启动的服务手机通过wifi无法访问 服务
tomcat 启动的服务手机通过wifi无法访问


狗日的:

防火墙开启指定端口或关闭防火墙,本地开发为了方便,关闭爽快

js匿名执行 javascript
!function(s){  
  alert(s);
}('另类的匿名函数自执行');

====================================
(function($){
   
})(jQuery)


======================================
匿名函数还可以自己调用,为什么?
(function(e) {
	alert("1");
	var a,b,c,d;
        e(a, b, c, d);
})
(function(a, b, c,d){
	alert("2");
})
mysql md5 concat mysql
SELECT MD5(MD5(CONCAT('123456','a53b51'))) FROM D_USER t;
导出表数据到excle、txt oracle http://blog.163.com/cyh_1987/blog/static/394692920107335225521/
set  feedback  off  heading  off  verify  off  trimspool  off
set  pagesize 0  linesize  1000
--define fil= 'F:\study\SQL\oracle\outputData\insert.txt'
define fil= 'F:\study\SQL\oracle\outputData\insert.sql'
prompt *** Spooling to &fil
spool &fil
--导出文本形式txt/csv
--select ID||','||'"'||dealNAME||'"'||','||'"'||type||'"'||','||to_char(GMT_MODIFIED,'yyyy-MM-dd HH24:MI:SS') from alarm;
--导出插入语句
select 'insert into alarm values('''||ID||''','''||dealNAME||''','||to_char(GMT_MODIFIED,'yyyy-MM-dd HH24:MI:SS')||');'from alarm;
spool off;
oracle 导出表结构 oracle http://topic.csdn.net/u/20100805/10/d0e5dbe1-7233-4be1-8c37-15a0c923fa5a.html
set serveroutput on -- 打开 DBMS_OUTPUT 输出
set long 999999 -- 设置最大可返回的 lob 类型数据的大小
set feedback off -- 关闭执行查询时的反馈信息(查询影响的行数)
spool temp.sql -- 将查询结果保存到 temp.sql 文件
SELECT DBMS_METADATA.GET_DDL('TABLE',table_name) FROM USER_TABLES where table_name = '大写表名'; -- 通过 dbms_metadata.get_ddl 函数获取用户表的定义
spool off -- 关闭保存
查找包下所有的类 java 查找包下所有的类
/**
	 * 获得包下的类
	 * 
	 * @param packageName
	 *            The base package
	 * @return The classes
	 * @throws ClassNotFoundException
	 * @throws IOException
	 */
	public static Class[] getClasses(String packageName)
			throws ClassNotFoundException, IOException {
		ClassLoader classLoader = Thread.currentThread()
				.getContextClassLoader();
		assert classLoader != null;
		String path = packageName.replace('.', '/');
		Enumeration<URL> resources = classLoader.getResources(path);
		List<File> dirs = new ArrayList<File>();
		ArrayList<Class> classes = new ArrayList<Class>();
		while (resources.hasMoreElements()) {
			URL resource = resources.nextElement();
			String p = "";
			if (resource.getFile().indexOf("!") >= 0) {// 在其他的jar文件中
				p = resource.getFile().substring(0,
						resource.getFile().indexOf("!")).replaceAll("%20", "");
			} else {// 在classes目录中
				p = resource.getFile();
			}
			if (p.startsWith("file:/"))
				p = p.substring(6);
			if (p.toLowerCase().endsWith(".jar")) {

				JarFile jarFile = new JarFile(p);
				Enumeration<JarEntry> enums = jarFile.entries();
				while (enums.hasMoreElements()) {
					JarEntry entry = (JarEntry) enums.nextElement();
					String n = entry.getName();

					if (n.endsWith(".class")) {
						n = n.replaceAll("/", ".").substring(0, n.length() - 6);
						if (n.startsWith(packageName)) {

							classes.add(Class.forName(n));

						}
					}

				}
			} else {
				dirs.add(new File(p));
			}

		}

		for (File directory : dirs) {
			classes.addAll(findClasses(directory, packageName));
		}
		return classes.toArray(new Class[classes.size()]);
	}

	/**
	 * 查找一个文件夹下的文件
	 * 
	 * @param directory
	 *            The base directory
	 * @param packageName
	 *            The package name for classes found inside the base directory
	 * @return The classes
	 * @throws ClassNotFoundException
	 */
	public static List<Class> findClasses(File directory, String packageName)
			throws ClassNotFoundException {
		List<Class> classes = new ArrayList<Class>();
		if (!directory.exists()) {
			return classes;
		}
		File[] files = directory.listFiles();
		for (File file : files) {
			if (file.isDirectory()) {
				assert !file.getName().contains(".");
				classes.addAll(findClasses(file, packageName + "."
						+ file.getName()));
			} else if (file.getName().endsWith(".class")) {
				classes.add(Class.forName(packageName
						+ '.'
						+ file.getName().substring(0,
								file.getName().length() - 6)));
			}
		}
		return classes;
	}
maven scope依赖包作用域 maven maven scope依赖包作用域
<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<!-- provided范围的依赖存在于编译 -->
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
js遍历后台map输出的json格式数据 js
后台:Map<String,String> groupMap = new TreeMap<String,String>(){{
   put("1","广汇运营");
}};
json.put("groupMap",groupMap);
output(json);

前台:
var result = {"groupMap":{"1":"广汇运营","2":"人保运营","201":"rtet","202":"tretert","203":"rtert","3":"test"}};
var groupMap = result.groupMap;
for (v in groupMap)
{
  console.log(v +"--"+groupMap[v]);
}
过滤json不需要使用属性,解决hibernate延迟加载问题 java http://yoyang.iteye.com/blog/651895
/**
     * 过滤json不需要使用属性,解决hibernate延迟加载问题
     * @param obj 对象
     * @param excludes 过滤的属性名数组
     * @return
     */
    public static JSONArray jsonPropertyFilter(Object obj,String [] excludes){
        JsonConfig jsonConfig = new JsonConfig();
        jsonConfig.setExcludes(excludes);
        JSONArray jsonArray = JSONArray.fromObject(obj,jsonConfig);
        return jsonArray;
    }


使用的时候将延迟加载的属性过滤掉: role one-to-many privileges
jsonObject.put("roleList", JsonUtil.jsonPropertyFilter(roles,
                new String[] { "privileges" }));
eclipse 默认文件编码 开发工具
windows --> preferences --> General   -->   Content types   --> Text tree   --> Jsp   我 们设置最下面的Default Encoding为UTF-8即可.
让httpclient接受所有ssl证书https httpclient 让httpclient接受所有ssl证书https
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.net.UnknownHostException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

import javax.net.SocketFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;

import org.apache.commons.httpclient.ConnectTimeoutException;
import org.apache.commons.httpclient.params.HttpConnectionParams;
import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory;

public class MySecureProtocolSocketFactory implements SecureProtocolSocketFactory {
    static{
        System.out.println(">>>>in MySecureProtocolSocketFactory>>");
    }
    private SSLContext sslcontext = null;
   
    private SSLContext createSSLContext() {
        SSLContext sslcontext=null;
        try {
            sslcontext = SSLContext.getInstance("SSL");
            sslcontext.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (KeyManagementException e) {
            e.printStackTrace();
        }
        return sslcontext;
    }
   
    private SSLContext getSSLContext() {
        if (this.sslcontext == null) {
            this.sslcontext = createSSLContext();
        }
        return this.sslcontext;
    }
   
    public Socket createSocket(Socket socket, String host, int port, boolean autoClose)
            throws IOException, UnknownHostException {
        return getSSLContext().getSocketFactory().createSocket(
                socket,
                host,
                port,
                autoClose
            );
    }

    public Socket createSocket(String host, int port) throws IOException,
            UnknownHostException {
        return getSSLContext().getSocketFactory().createSocket(
                host,
                port
            );
    }
   
   
    public Socket createSocket(String host, int port, InetAddress clientHost, int clientPort)
            throws IOException, UnknownHostException {
        return getSSLContext().getSocketFactory().createSocket(host, port, clientHost, clientPort);
    }

    public Socket createSocket(String host, int port, InetAddress localAddress,
            int localPort, HttpConnectionParams params) throws IOException,
            UnknownHostException, ConnectTimeoutException {
        if (params == null) {
            throw new IllegalArgumentException("Parameters may not be null");
        }
        int timeout = params.getConnectionTimeout();
        SocketFactory socketfactory = getSSLContext().getSocketFactory();
        if (timeout == 0) {
            return socketfactory.createSocket(host, port, localAddress, localPort);
        } else {
            Socket socket = socketfactory.createSocket();
            SocketAddress localaddr = new InetSocketAddress(localAddress, localPort);
            SocketAddress remoteaddr = new InetSocketAddress(host, port);
            socket.bind(localaddr);
            socket.connect(remoteaddr, timeout);
            return socket;
        }
    }
   
    //自定义私有类
    private static class TrustAnyTrustManager implements X509TrustManager {
      
        public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
        }
  
        public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
        }
  
        public X509Certificate[] getAcceptedIssuers() {
            return new X509Certificate[]{};
        }
    }   

}


使用:
然后按如下方式使用HttpClient
Protocol myhttps = new Protocol("https", new MySecureProtocolSocketFactory (), 443);
Protocol.registerProtocol("https", myhttps);
HttpClient httpclient=new HttpClient();
maven 使用代理下载 maven
使用google代理:开发人员必备代理
参见项目:https://code.google.com/p/goagent/

<proxy>
		<id>optional</id>
		<active>true</active>
		<protocol>http</protocol>
		<username></username>
		<password></password>
		<host>127.0.0.1</host>
		<port>8087</port>
		<nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
</proxy>
EA(enterprise architecture)中的UML反向工程 项目管理 http://dongchen916.iteye.com/blog/431046
主要的任务是把source包导入到EA中,然后利用里面的反向工程自动生成UML图 

1.首先 先创建一个工程 勾选出里面的class 
2.然后在工程的任意一个文件夹上点击鼠标右键 选中code engineering 然后选import source directory 
3.然后就是进行一些必要的设置 ,比如选择语言 uml都显示什么之类的 我是按照package显示的 
4.然后就可以开始了 全部导入完成以后 可以在project browser里面找到这些UML图 然后单击屏幕最下方的一个树形图一样的小图标 ,自动排布一下就可以了 
5.package里面的类可以粘贴到任意的一个UML图中,如果和这个UML有联系,比如是这个package里面的类的一个子类的话,EA都会在粘帖完后自动的形成关系。 

这个工具还有好多别的功能,总之觉得很好用
maven下载依赖包以及源码 项目管理, maven http://obullxl.iteye.com/blog/647330
<!-- eclipse插件,设定下载Source --> springside
<build>
<plugins>
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-eclipse-plugin</artifactId>
	<version>2.9</version>
	<configuration>
		<downloadSources>true</downloadSources>
		<downloadJavadocs>false</downloadJavadocs>
	</configuration>
</plugin>
<build/>
<plugins/>
maven-source-plugin提供项目自动将源码打包并发布的功能 项目管理, maven 自动打包,发布源代码
<plugin>
	<artifactId>maven-source-plugin</artifactId>
	<version>2.1.2</version>
	<executions>
		<execution>
			<goals>
				<goal>jar</goal>
			</goals>
		</execution>
	</executions>
</plugin>
maven怎么下源码 maven, 项目管理
mvn dependency:sources 下载依赖包的源代码
使用参数: -DdownloadSources=true 下载源代码jar。 -DdownloadJavadocs=true 下载javadoc包。
解决:org.tigris.subversion.javahl.ClientException: RA layer request failed java http://boyssheng.iteye.com/blog/766056
今天svn提交时出现的错误,更新时正常的。


org.tigris.subversion.javahl.ClientException: RA layer request failed
svn: (details follow):
svn: applying log messCommit failed age to /svn/cis/!svn/wbl/f1c0c4d4-0fe5-a34b-8714-e168b4bc04d2/11359: http://192.189.100.217:8800/svn/cis/!svn/wbl/f1c0c4d4-0fe5-a34b-8714-e168b4bc04d2/11359: 500 (status)  -> Could not execute PROPPATCH. (http://192.189.100.217:8800)

解决办法:将注释中间的回车和换行去掉。
checkstyle5.5 配置文件 代码审核 我最新使用的checkstyle文件
<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<module name="Checker">
	<!--有关所有属性最新版本的使用方法可见网址http://checkstyle.sourceforge.net/availablechecks.html-->

	<!--重复代码的检查,超过8行就认为重复,UTF-8格式 本检查一定要放在"TreeWalker"节点前,否则在
        Checkclipse中会无法使用。(在ant下可以)
    -->
	<module name="StrictDuplicateCode">
		<property name="min" value="8" />
	</module>

	<module name="TreeWalker">
		<!-- javadoc的检查 -->
		<!-- 检查所有的interface和class -->
		<module name="JavadocType" />

		<!-- 命名方面的检查,它们都使用了Sun官方定的规则。 -->
		<!-- 局部的final变量,包括catch中的参数的检查 -->
		<module name="LocalFinalVariableName" />
		<!-- 局部的非final型的变量,包括catch中的参数的检查 -->
		<module name="LocalVariableName" />
		<!-- 包名的检查(只允许小写字母) -->
		<module name="PackageName">
			<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$" />
		</module>
		<!-- 仅仅是static型的变量(不包括static final型)的检查 -->
		<module name="StaticVariableName" />
		<!-- 类型(Class或Interface)名的检查 -->
		<module name="TypeName" />
		<!-- 非static型变量的检查 -->
		<module name="MemberName" />
		<!-- 方法名的检查 -->
		<module name="MethodName" />
		<!-- 方法的参数名 -->
		<module name="ParameterName " />
		<!-- 常量名的检查 -->
		<module name="ConstantName" />

		<!-- import方面的检查 -->
		<!-- import中避免星号"*" -->
		<module name="AvoidStarImport" />
		<!--没用的import检查,比如:1.没有被用到2.重复的3.import java.lang的4.import与该类在同一个package的
        -->
		<module name="UnusedImports" />

		<!-- 长度方面的检查 -->
		<!-- 每行不超过120个字-->
		<module name="LineLength">
			<property name="max" value="120" />
		</module>
		<!-- 方法不超过30行 -->
		<module name="MethodLength">
			<property name="tokens" value="METHOD_DEF" />
			<property name="max" value="30" />
		</module>
		<!-- 方法的参数个数不超过3个。 并且不对构造方法进行检查-->
		<module name="ParameterNumber">
			<property name="max" value="3" />
			<property name="tokens" value="METHOD_DEF" />
		</module>

		<!-- 空格检查  -->
		<!-- 允许方法名后紧跟左边圆括号"(" -->
		<module name="MethodParamPad" />
		<!-- 在类型转换时,不允许左圆括号右边有空格,也不允许与右圆括号左边有空格 -->
		<module name="TypecastParenPad" />


		<!-- 关键字 -->
		<!--每个关键字都有正确的出现顺序。比如 public static final XXX 是对一个常量的声明。如果使用 static
            public final 就是错误的
        -->
		<module name="ModifierOrder" />
		<!-- 多余的关键字 -->
		<module name="RedundantModifier" />

		<!-- 对区域的检查 -->
		<!-- 不能出现空白区域 -->
		<module name="EmptyBlock" />
		<!-- 所有区域都要使用大括号。 -->
		<module name="NeedBraces" />
		<!-- 多余的括号 -->
		<module name="AvoidNestedBlocks">
			<property name="allowInSwitchCase" value="true" />
		</module>

		<!-- 编码方面的检查 -->
		<!-- 不许出现空语句 -->
		<module name="EmptyStatement" />
		<!-- 每个类都实现了equals()和hashCode() -->
		<module name="EqualsHashCode" />
		<!-- 不许使用switch,"a++"这样可读性很差的代码 -->
		<module name="IllegalToken" />
		<!-- 不许内部赋值 -->
		<module name="InnerAssignment" />
		<!-- 绝对不能容忍魔法数 -->
		<module name="MagicNumber">
			<property name="tokens" value="NUM_DOUBLE, NUM_INT" />
		</module>
		<!-- 循环控制变量不能被修改 -->
		<module name="ModifiedControlVariable" />
		<!-- 多余的throw -->
		<module name="RedundantThrows" />
		<!-- 不许使用未被简化的条件表达式 -->
		<module name="SimplifyBooleanExpression" />
		<!-- 不许使用未被简化的布尔返回值 -->
		<module name="SimplifyBooleanReturn" />
		<!-- String的比较不能用!= 和 == -->
		<module name="StringLiteralEquality" />
		<!-- if最多嵌套3层 -->
		<module name="NestedIfDepth">
			<property name="max" value="3" />
		</module>
		<!-- try最多被嵌套2层 -->
		<module name="NestedTryDepth">
			<property name="max" value="2" />
		</module>
		<!-- clone方法必须调用了super.clone() -->
		<module name="SuperClone" />
		<!-- finalize 必须调用了super.finalize() -->
		<module name="SuperFinalize" />
		<!-- 不能catch java.lang.Exception -->
		<module name="IllegalCatch">
			<property name="illegalClassNames" value="java.lang.Exception" />
		</module>
		<!-- 确保一个类有package声明 -->
		<module name="PackageDeclaration" />
		<!-- 一个方法中最多有3个return -->
		<module name="ReturnCount">
			<property name="max" value="3" />
			<property name="format" value="^$" />
		</module>
		<!--
			根据 Sun 编码规范, class 或 interface 中的顺序如下: 1.class 声明。首先是 public, 然后是protected , 然后是 package level (不包括access modifier ) 最后是private .
			(多个class放在一个java文件中的情况) 2.变量声明。 首先是 public, 然后是protected然后是 package level (不包括access modifier ) 最后是private . (多个class放在一个java文件中的情况) 3.构造函数 4.方法
		-->
		<module name="DeclarationOrder" />
		<!-- 不许对方法的参数赋值 -->
		<module name="ParameterAssignment" />
		<!-- 确保某个class 在被使用时都已经被初始化成默认值(对象是null,数字和字符是0,boolean 变量是false.) -->
		<module name="ExplicitInitialization" />
		<!-- 不许有同样内容的String -->
		<module name="MultipleStringLiterals" />
		<!-- 同一行不能有多个声明 -->
		<module name="MultipleVariableDeclarations" />
		<!-- 不必要的圆括号 -->
		<module name="UnnecessaryParentheses" />

		<!-- 各种量度 -->
		<!-- 布尔表达式的复杂度,不超过3 -->
		<module name="BooleanExpressionComplexity" />
		<!-- 类数据的抽象耦合,不超过7 -->
		<module name="ClassDataAbstractionCoupling" />
		<!-- 类的分散复杂度,不超过20 -->
		<module name="ClassFanOutComplexity" />
		<!-- 函数的分支复杂度,不超过10 -->
		<module name="CyclomaticComplexity" />
		<!-- NPath复杂度,不超过200 -->
		<module name="NPathComplexity" />

		<!-- 杂项 -->
		<!-- 不许使用main方法 -->
		<module name="UncommentedMain" />
		<!-- 检查并确保所有的常量中的L都是大写的。因为小写的字母l跟数字1太象了 -->
		<module name="UpperEll" />
		<!-- 检查数组类型的定义是String[] args,而不是String args[] -->
		<module name="ArrayTypeStyle" />
		<!--检查java代码的缩进 默认配置:基本缩进 4个空格,新行的大括号:0。新行的case 4个空格。
        -->
		<module name="Indentation" />
		<!-- 禁止使用System.out.println -->
		<module name="RegexpSinglelineJava">
			<property name="format" value="System\.out\.println" />
			<property name="ignoreComments" value="true" />
		</module>
	</module>

	<!-- 检查翻译文件     -->
	<module name="Translation" />
	<!-- 文件长度不超过1500行 -->
	<module name="FileLength">
		<property name="max" value="1500" />
	</module>
	<!-- 不允许使用"tab"键  -->
	<module name="FileTabCharacter" />
</module>
克隆JS对象的三个实用方法 javascript http://snandy.iteye.com/blog/842097
http://snandy.iteye.com/blog/842097
PushbackInputStream demo java
PushbackInputStream input = new PushbackInputStream(new FileInputStream("c:\\data\\input.txt"));
int data = input.read();
input.unread(data);




PushbackInputStream input = new PushbackInputStream(new FileInputStream("c:\\data\\input.txt"), 8);
log4j不能输出日志文件的可能原因 java
 log4j不能输出日志文件问题的可能原因?

未导入log4j.jar包

log4j.rootLogger=info, stdout, logfile

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=logs/domain.log
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
HttpClient4.0 Referer 采集防采集的网站(防盗链) java, httpclient http://owl.iteye.com/blog/598769
HttpClient httpclient = new DefaultHttpClient();
HttpGet get = new HttpGet(url);
HttpResponse response = null;

get.addHeader("Referer", "http://www.xxxx.com/");
C3P0连接池配置详解 java http://terry-y.iteye.com/blog/178863
<c3p0-config> 
<default-config> 
<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --> 
<property name="acquireIncrement">3</property> 

<!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 --> 
<property name="acquireRetryAttempts">30</property> 

<!--两次连接中间隔时间,单位毫秒。Default: 1000 --> 
<property name="acquireRetryDelay">1000</property> 

<!--连接关闭时默认将所有未提交的操作回滚。Default: false --> 
<property name="autoCommitOnClose">false</property> 

<!--c3p0将建一张名为Test的空表,并使用其自带的查询语句进行测试。如果定义了这个参数那么 
属性preferredTestQuery将被忽略。你不能在这张Test表上进行任何操作,它将只供c3p0测试 
使用。Default: null--> 
<property name="automaticTestTable">Test</property> 

<!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效 
保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试 
获取连接失败后该数据源将申明已断开并永久关闭。Default: false--> 
<property name="breakAfterAcquireFailure">false</property> 

<!--当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出 
SQLException,如设为0则无限期等待。单位毫秒。Default: 0 --> 
<property name="checkoutTimeout">100</property> 

<!--通过实现ConnectionTester或QueryConnectionTester的类来测试连接。类名需制定全路径。 
Default: com.mchange.v2.c3p0.impl.DefaultConnectionTester--> 
<property name="connectionTesterClassName"></property> 

<!--指定c3p0 libraries的路径,如果(通常都是这样)在本地即可获得那么无需设置,默认null即可 
Default: null--> 
<property name="factoryClassLocation">null</property> 

<!--Strongly disrecommended. Setting this to true may lead to subtle and bizarre bugs. 
(文档原文)作者强烈建议不使用的一个属性--> 
<property name="forceIgnoreUnresolvedTransactions">false</property> 

<!--每60秒检查所有连接池中的空闲连接。Default: 0 --> 
<property name="idleConnectionTestPeriod">60</property> 

<!--初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default: 3 --> 
<property name="initialPoolSize">3</property> 

<!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --> 
<property name="maxIdleTime">60</property> 

<!--连接池中保留的最大连接数。Default: 15 --> 
<property name="maxPoolSize">15</property> 

<!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements 
属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。 
如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0--> 
<property name="maxStatements">100</property> 

<!--maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 0 --> 
<property name="maxStatementsPerConnection"></property> 

<!--c3p0是异步操作的,缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能 
通过多线程实现多个操作同时被执行。Default: 3--> 
<property name="numHelperThreads">3</property> 

<!--当用户调用getConnection()时使root用户成为去获取连接的用户。主要用于连接池连接非c3p0 
的数据源时。Default: null--> 
<property name="overrideDefaultUser">root</property> 

<!--与overrideDefaultUser参数对应使用的一个参数。Default: null--> 
<property name="overrideDefaultPassword">password</property> 

<!--密码。Default: null--> 
<property name="password"></property> 

<!--定义所有连接测试都执行的测试语句。在使用连接测试的情况下这个一显著提高测试速度。注意: 
测试的表必须在初始数据源的时候就存在。Default: null--> 
<property name="preferredTestQuery">select id from test where id=1</property> 

<!--用户修改系统配置参数执行前最多等待300秒。Default: 300 --> 
<property name="propertyCycle">300</property> 

<!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的 
时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable 
等方法来提升连接测试的性能。Default: false --> 
<property name="testConnectionOnCheckout">false</property> 

<!--如果设为true那么在取得连接的同时将校验连接的有效性。Default: false --> 
<property name="testConnectionOnCheckin">true</property> 

<!--用户名。Default: null--> 
<property name="user">root</property> 

<!--早期的c3p0版本对JDBC接口采用动态反射代理。在早期版本用途广泛的情况下这个参数 
允许用户恢复到动态反射代理以解决不稳定的故障。最新的非反射代理更快并且已经开始 
广泛的被使用,所以这个参数未必有用。现在原先的动态反射与新的非反射代理同时受到 
支持,但今后可能的版本可能不支持动态反射代理。Default: false--> 
<property name="usesTraditionalReflectiveProxies">false</property>

<property name="automaticTestTable">con_test</property> 
<property name="checkoutTimeout">30000</property> 
<property name="idleConnectionTestPeriod">30</property> 
<property name="initialPoolSize">10</property> 
<property name="maxIdleTime">30</property> 
<property name="maxPoolSize">25</property> 
<property name="minPoolSize">10</property> 
<property name="maxStatements">0</property> 
<user-overrides user="swaldman"> 
</user-overrides> 
</default-config> 
<named-config name="dumbTestConfig"> 
<property name="maxStatements">200</property> 
<user-overrides user="poop"> 
<property name="maxStatements">300</property> 
</user-overrides> 
</named-config> 
</c3p0-config>
查看oracle数据库连接数 oracle http://wangzheng7811.iteye.com/blog/151823
SELECT username, machine, program, status, COUNT(machine) AS 连接数量
  FROM v$session where USERNAME = 'PAYMENT'
 GROUP BY username, machine, program, status
 ORDER BY machine;

http://qinglangee.iteye.com/blog/630473

怎样查看oracle当前的连接数呢?只需要用下面的SQL语句查询一下就可以了。
select * from v$session where username is not null

select username,count(username) from v$session where username is not null group by username #查看不同用户的连接数

select count(*) from v$session   #连接数

Select count(*) from v$session where status='ACTIVE' #并发连接数

show parameter processes   #最大连接

alter system set processes = value scope = spfile;重启数据库   #修改连接

/home/oracle9i/app/oracle9i/dbs/init.ora

/home/oracle9i/app/oracle9i/dbs/spfilexxx.ora ## open_cursor

jquery checkbox选中 jquery
可以采用:siblings,优化
<script type="text/javascript">
    /*全选*/
    $(document).ready(function(){
        $("#checkall").click(function(){
            if(this.checked){
                $(":checkbox").each(function(){
                    this.checked = true;
                });
            }else{
                $(":checkbox").each(function(){
                     this.checked = false;
                });
           }
        });
    });
    /*行全选*/
    $(document).ready(function(){
        $(".checkrow").click(function(){
            if(this.checked){
                $(".items"+$(this).attr("id")).attr("checked",true);
            }else{
                $(".items"+$(this).attr("id")).attr("checked",false);
           }
        });
    });
    /*子项被选中,父选自动选中;子项全部取消选中,父项自动取消选中*/
    $(document).ready(function(){
        $(":checkbox").click(function(){
            var cls = $(this).attr('class');
            var checkrowId = cls.substring(cls.length-1);
            var hasChildChecked = false;
            $("." + cls).each(function(){
            	if(this.checked){
            		hasChildChecked = true;
            		return false;
            	}
            });
            if(!hasChildChecked){
                $("#"+checkrowId).attr("checked",false);
            }else{
                $("#"+checkrowId).attr("checked",true);
            }
        });
    });
</script>
jquery tip 提示 jquery
/**
	 * 输入提示信息样式 例: 输入标签:<input id="example"/> 提示框:<label id="exampleTip"></label>
	 * 默认提示信息:<span id="exampleDefaultTip">请输入。。。</span> 只用于显示 参照添加角色
	 * addRole.jsp
	 */
	inputTipCss : function() {
		$("input,select,textarea").each(function() {
			var obj = $(this);
			var type = obj.attr("type"); 
			if(type != "checkbox" && type != 'radio' && type != 'file'){
				$("#" + obj.attr('id') + "Tip").html('').hide();
				obj.bind('focusin', function() {
					obj.removeClass('ipt-error').addClass('ipt-active');
					$("#" + obj.attr('id') + "Tip").html('').hide();
					$("#" + obj.attr('id') + "DefaultTip").show();
				}).bind('focusout', function() {
					obj.removeClass('ipt-active');
				});
			}
		});

	},

样式: 
.ipt-error {border: 1px solid #E54246;margin:0;background:#FEF693;}
.ipt-active{color:#333;border:1px solid #5b8eb1;margin:0;}
创建表及序列时,先判断其是否存在 oracle http://aniyo.iteye.com/blog/1358313
1、创建表时,先判断表是否存在,如果存在则删除 
create or replace procedure pr_droptable( 
    v_tablename        in varchar2 
) 
as 
v_count int; 
begin 
    select count(1) into v_count from user_tables where table_name = upper(v_tablename); 
    if v_count > 0 then 
        execute immediate 'drop table ' || v_tablename; 
    end if; 
end; 

2、创建序列时,先判断序列是否存在,如果存在则删除 
create or replace procedure pr_dropseq( 
    v_name        in varchar2 
) 
as 
v_count int; 
begin 
    select count(1) into v_count from user_sequences a  where sequence_name = upper(v_name); 
    if v_count > 0 then 
        execute immediate 'drop sequence ' || v_name; 
    end if; 
end; 

http://blog.csdn.net/nsj820/article/details/6308420
Struts2 标签 java http://blog.csdn.net/chenqqabcdchenqqabcd/article/details/6726673
<s:set var="tag" value="1">
注意s:if判断变量是否相等
<s:if test="#tag == 1">
   Struts获取页面set值一定要记得加# 
  ( #表示不在struts堆栈里,没有#表示从struts堆栈里取 )
</s:if>
Global site tag (gtag.js) - Google Analytics