`
xiaojiit
  • 浏览: 129420 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
JS 模拟F11功能,仅限IE使用 javascript
function Fkey(){
     var WsShell = new ActiveXObject('WScript.Shell')
     WsShell.SendKeys('{F11}');
}
利用windows 脚本 自动备份 oracle数据库 oracle
@echo off
set backhome=back
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set mydate=%year%%month%%day%
set hhmmss=%time:~0,2%%time:~3,2%%time:~6,2%
if "%hhmmss:~0,1%"==" " set hhmmss=0%time:~1,1%%time:~3,2%%time:~6,2%
mkdir e:\%backhome%\%mydate%
echo ------------------------------------------------ >> e:\%backhome%\%mydate%\log.txt
echo start backup at %mydate%_%hhmmss% >> e:\%backhome%\%mydate%\log.txt
echo ------------------------------------------------ >> e:\%backhome%\%mydate%\log.txt
exp andacms/andacms@ORCL file=e:\%backhome%\%mydate%\andacms_%mydate%.dmp owner=andacms BUFFER=512000000 2>> e:\%backhome%\%mydate%\log.txt
echo ------------------------------------------------ >> e:\%backhome%\%mydate%\log.txt
set endyear=%date:~0,4%
set endmonth=%date:~5,2%
set endday=%date:~8,2%
set enddate=%endyear%%endmonth%%endday%
set endhhmmss=%time:~0,2%%time:~3,2%%time:~6,2%
if "%endhhmmss:~0,1%"==" " set endhhmmss=0%time:~1,1%%time:~3,2%%time:~6,2%
echo backup finished at %enddate%_%endhhmmss% >> e:\%backhome%\%mydate%\log.txt
echo ------------------------------------------------ >> e:\%backhome%\%mydate%\log.txt

rem 计算指定天数之前的日期
set DaysAgo=7
rem 假设系统日期的格式为yyyymmdd
call :DateToDays %date:~0,4% %date:~5,2% %date:~8,2% PassDays
set /a PassDays-=%DaysAgo%
call :DaysToDate %PassDays% DstYear DstMonth DstDay
set DstDate=%DstYear%%DstMonth%%DstDay%
if exist e:\%backhome%\%DstDate% (
	echo 删除%DaysAgo%天前的数据:%DstDate% >>e:\%backhome%\%mydate%\log.txt
	rmdir /s/q e:\%backhome%\%DstDate%
)
goto :eof

:DateToDays %yy% %mm% %dd% days
setlocal ENABLEEXTENSIONS
set yy=%1&set mm=%2&set dd=%3
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
endlocal&set %4=%j%&goto :EOF

:DaysToDate %days% yy mm dd
setlocal ENABLEEXTENSIONS
set /a a=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %2=%yy%&set %3=%mm%&set %4=%dd%&goto :EOF
BoneCP数据库链接池
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.connection.provider_class">com.jolbox.bonecp.provider.BoneCPConnectionProvider</prop>
				<prop key="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</prop>
				<prop key="hibernate.connection.url">jdbc:oracle:thin:@192.168.1.3:1521:orcl</prop>
				<prop key="hibernate.connection.username">andacms</prop>
				<prop key="hibernate.connection.password">andacms</prop>
				<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
				<prop key="hibernate.show_sql">false</prop>
				<prop key="hibernate.connection.autocommit">true</prop>
				<prop key="hibernate.autocommit">true</prop>
				<prop key="hibernate.generate_statistics">true</prop>
				<prop key="hibernate.connection.release_mode">auto</prop>
				<prop key="hibernate.transaction.auto_close_session">true</prop>
				<prop key="hibernate.bytecode.use_reflection_optimizer">true</prop>
				<!-- 设置连接空闲时间(分钟)     --> 
				<prop key="bonecp.idleMaxAgeInMinutes">5</prop>
				<!-- 每60秒检查所有连接池中的空闲连接    -->
				<prop key="bonecp.idleConnectionTestPeriodInMinutes">60</prop>
				<!-- 设置分区(设置 3个分区) --> 
				<prop key="bonecp.partitionCount">2</prop>
				 <!--  设置连接池在每个分区中的最大连接数  -->
				<prop key="bonecp.maxConnectionsPerPartition">50</prop>
				<!--  设置连接池设在每个分区中的最小连接数     -->
				<prop key="bonecp.minConnectionsPerPartition">10</prop>
				<!-- 当连接池中的连接耗尽的时候 BoneCP一次同时获取的连接数    -->
				<prop key="bonecp.acquireIncrement">10</prop>
				<!-- 连接释放处理    -->
				<prop key="bonecp.releaseHelperThreads">5</prop>
				<prop key="bonecp.preparedStatementCacheSize">50</prop>
				<prop key="bonecp.statementsCachedPerConnection">30</prop>
				<!-- 
				<prop key="hibernate.proxool.xml">proxool.xml</prop>
				<prop key="hibernate.proxool.pool_alias">ConPool</prop> -->
			</props>
		</property>
		<property name="mappingLocations">
			<list>
				<value>classpath:hibernatemap/*.hbm.xml</value>
			</list>
		</property>
	</bean>


bonecp-0.7.1.jar
bonecp-provider-0.7.0.jar
google-collections-1.0.jar
Apache 自动虚拟主机配置 apache
在网站文件为全静态时:

使用: mod_vhost_alias  模块,实现域名同目录的自动绑定,配置如下:

UseCanonicalName Off
VirtualDocumentRoot D:/www/%0



相关网站:http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_vhost_alias.html

注:不能和Vhost同时使用


Apache日志分割
windows 

    CustomLog “|bin/rotatelogs.exe  logs/%Y_%m_%d.access.log 86400 480″ common


Linux
Mysql5.5字符集配置 mysql
在以前,mysql5.1时,使用:

default-character-set = utf8

在mysql5.5时,使用

character_set_server = utf8
百度地图
http://dev.baidu.com/wiki/static/map/API/tool/creatMap/
Tomcat 启动内存参数
eclipse: 
-Xss8m -server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=256m

windows:

set "JAVA_OPTS=-Xss8m -server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=256m"

Linux:

JAVA_OPTS="-Xss8m -server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=256"


-Xss8m 参数不能太高,如果设置到16m,
则会出现java.lang.OutOfMemoryError: unable to create new native thread

参考:http://sesame.iteye.com/blog/622670
mysql 5.5 root远程登录问题 mysql
mysql 5.5在设置root远程登录时,将root的Host设置为"%",并在【mysqld】后面添加

skip-name-resolve

这样root才能启用远程登录。
JQuery用法 jquery
1、获取Radio的值:
   var_name = $("input[name='isSpecialCnt']:checked").val();

2、重置表单:
   $("#infoapplySubmitForm")[0].reset();

3、获取select 值 
  var checkValue=$("#select_id").val(); 
Hibernate c3p0 链接池 hibernate
!-- 最小连接数 -->
<prop key="hibernate.c3p0.min_size">5</prop>
<!-- 最大连接数 -->
<prop key="hibernate.c3p0.max_size">100</prop>
<!-- 每隔120秒检查连接池里的空闲连接 ,单位是秒-->
<prop key="hibernate.c3p0.idle_test_period">60</prop>
<!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->
<prop key="hibernate.c3p0.acquire_increment">2</prop>
<!-- 每次都验证连接是否可用 -->
<prop key="hibernate.c3p0.validate">true</prop>
				
<prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
<prop key="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/andasso?useUnicode=true&characterEncoding=UTF-8</prop>
<prop key="hibernate.connection.username">root</prop>
<prop key="hibernate.connection.password">111111</prop>
Linux 下批量杀死进程 linux
ps aux | grep procname | awk '{print $2}' | xargs kill -9

说明:  批量杀死名称中包含 "procname" 的进程
nginx配置文件——动态静态分离配置文件 nginx http://www.zaichi.cn
server {
	listen		80;
	server_name	www.hebkj.com;
	access_log  logs/hebkj.log;
	error_page 404 403 405 502 503 504 /index.html;
	location /{
					root ../../export/root;
					index index.html;
				}
	location ~*\.(jsp|jspx|do|action)$ {
						proxy_set_header Host $host;
						proxy_set_header X-Real-IP $remote_addr;
						proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
						proxy_connect_timeout 1s;
						rewrite ^(.*)$ /andacms/export/root$1 break;
						proxy_pass http://127.0.0.1:8080;
					  }
}
DIV height 在IE6下不正确的解决办法
先把字体设为0,再将溢出隐藏

<div style="height:10px;font-size:0px;overflow:hidden;"></div>
Js 图片切换效果
	//背景调整
	var topAD=new Array();
	var ad1Num=0;
	topAD[0]="/images3/html-bg2.jpg";
	topAD[1]="/images3/html-bg1.jpg";
	topAD[2]="/images3/html-bg3.jpg";		  

	var preloadedimages1=new Array();
	for (i=0;i<topAD.length;i++){
	   preloadedimages1[i]=new Image();
	   preloadedimages1[i].src=topAD[i];
	}

	function setTransition1(){
	   if (document.all){
		  topADrotator.filters.revealTrans.Transition=Math.floor(Math.random()*23);
		  topADrotator.filters.revealTrans.apply();
	   }
	}

	function playTransition1(){
	   if (document.all)
		  topADrotator.filters.revealTrans.play()
	}

	function next1Ad(){
	   if(ad1Num<topAD.length-1)ad1Num++ ;
		  else ad1Num=0;
	   setTransition1();
	   document.images.topADrotator.src=topAD[ad1Num];
	   playTransition1();
	   theTimer=setTimeout("next1Ad()", 6000);
	}
	
	next1Ad();


效果:http://www.farmachemie.com/
c#winform彩色图片转换灰色,网上资料整理和练习

按钮和图片,在不可用时,或希望图片变灰色,如QQ的不在线,或按钮不可用。

按钮设置不可用时,图片的色彩不变,仅文字变灰,不实用。

窗体中,加入一个图片控件,代替按钮,事件处理方法和按钮是一样的。


        private void pictureBox1_Click(object sender, EventArgs e)
        {
                int Height = this.pictureBox1.Image.Height; 
                int Width = this.pictureBox1.Image.Width; 
                Bitmap bitmap = new Bitmap(Width, Height); 
                Bitmap MyBitmap = (Bitmap)this.pictureBox1.Image; 
                Color pixel; 
                for (int x = 0; x < Width; x++) 
                    for (int y = 0; y < Height; y++) 
                    { 
                        pixel = MyBitmap.GetPixel(x, y); 
                        int r, g, b, Result = 0; 
                        r = pixel.R; 
                        g = pixel.G; 
                        b = pixel.B; 
                        //实例程序以加权平均值法产生黑白图像 
                        int iType = 2; 
                        switch (iType) 
                        { 
                            case 0://平均值法 
                                Result = ((r + g + b) / 3); 
                                break; 
                            case 1://最大值法 
                                Result = r > g ? r : g; 
                                Result = Result > b ? Result : b; 
                                break; 
                            case 2://加权平均值法 
                                Result = ((int)(0.7 * r) + (int)(0.2 * g) + (int)(0.1 * b)); 
                                break; 
                        } 
                        bitmap.SetPixel(x, y, Color.FromArgb(Result, Result, Result)); 
                    } 
                this.pictureBox1.Image = bitmap; 

        }//end mehtod block getbutton1_Click
C# winform 将TextBox的光标放在最后
在开发winform程序时,会用到textbox控件来显示信息,当把textbox的Multiline属性改为Ture时(即多行显示状态),ScrollBars属性改为Vertical(内容过多时,显示竖状滚动条),显示内容过多时就会出现竖状滚动条。

默认情况下,当textbox内容改变时,winform会自动把textbox的滚动条定位到textbox的最上面。但这显然不是我们想要的结果,比如我们在开发一个聊天程序时,当发送了一条消息后,却还要把滚动条拖到最下面才能看到,这就让人火大了。

所以得想个办法让textbox的内容更新时,滚动条保持下最下面,让最新追加到textbox中的消息显示出来。一般用到的方法是在textbox的TextChanged事件中写如下代码:

 
代码 

private void txt_content_TextChanged(object sender, EventArgs e)
{
this.txt_content.SelectionStart = this.txt_content.Text.Length;
this.txt_content.SelectionLength = 0;
this.txt_content.ScrollToCaret();
}

 

问题解决了,一切看似很好,后来你却发现,问题是解决了,但每次textbox追加内容时,都会“闪”那么一下。这个时候,如果你写的程序要频繁的更新textbox的内容,如显示一个程序的安装过程,灾难降临了。你就看吧,那个框框会“闪”的你眼晕!

把上面那部分代码从你的程序中删掉吧!在更新textbox内容的地方用下的代码试试:


//向textbox追加内容
txt_content.AppendText(str);
上、左、右框架,可以拖动
主页面:
<%@ page language="java"  pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<frameset rows="90,*" cols="0" framespacing="0"  frameborder="no" name="MainFrameSet">
	<frame src="<s:url action="topAction.menu" />" scrolling="no" noresize  name="Top">
	<frame src="<s:url action="bottomAction.menu" />" scrolling="no" noresize  name="Bottom">
</frameset>


下面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<FRAMESET frameSpacing=3 name=Bottom border=1 cols=172,86% borderColor="#F9FADE" frameBorder=1 scrolling="no">
	<FRAME id=leftFrame frameSpacing=0 marginHeight=0 border=0 src="<s:property value="#request.tree"/>" frameBorder=0 name=leftFrame marginWidth=0 scrolling=auto>
	<FRAME id=rightFrame frameSpacing=0 border=0 src="<s:property value="#request.right"/>" frameBorder=0 name=rightFrame scrolling=auto>
</FRAMESET>


注销出FrameSet
<a href="#" onclick=top.location.replace("User_logout.action")>退出</a>

在logout()函数中将session清空,返回的登录页面就会全屏显示登录页面.
Iframe 透明
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>父页面</title>
</head>

<body bgcolor="#FF0000">
<iframe src="index.htm"  allowTransparency="true"></iframe>
</body>

</html>


<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>子页面</title>
<style type="text/css">
body
{
    background-color: transparent;
}
</style>
</head>

<body>

</body>

</html>
Dom4j 创建XML文件
// 使用 DocumentHelper 类创建一个文档实例。 DocumentHelper 是生成 XML 文档节点的 dom4j API
       // 工厂类。
         Document document = DocumentHelper.createDocument();
         
         // 使用 addElement() 方法创建根元素 catalog 。 addElement() 用于向 XML 文档中增加元素。
         //<catalog></catalog>  root层的。
        Element catalogElement = document.addElement("catalog");
        
        // 在 catalog 元素中使用 addComment() 方法添加注释“An XML catalog”。
         //<!--An XML catalog--> 添加注释!
         catalogElement.addComment("An XML catalog");
         
         // 在 catalog 元素中使用 addProcessingInstruction() 方法增加一个处理指令。
       catalogElement.addProcessingInstruction("target", "text");
        
         // 在 catalog 元素中使用 addElement() 方法增加 journal 元素。
         Element journalElement = catalogElement.addElement("journal");
        
        // 使用 addAttribute() 方法向 journal 元素添加 title 和 publisher 属性。
        journalElement.addAttribute("title", "XML Zone");
         journalElement.addAttribute("publisher", "IBM developerWorks");
        
         //向 article 元素中添加 journal 元素。
        Element articleElement = journalElement.addElement("article");
         
         //为 article 元素增加 level 和 date 属性。
         articleElement.addAttribute("level", "Intermediate");
         articleElement.addAttribute("date", "December-2001");
         
         //向 article 元素中增加 title 元素。
         Element titleElement = articleElement.addElement("title");
         
         //使用 setText() 方法设置 article 元素的文本。
         titleElement.setText("Java configuration with XML Schema");
         
         //在 article 元素中增加 author 元素。
        Element authorElement = articleElement.addElement("author");
        
         //在 author 元素中增加 firstname 元素并设置该元素的文本。
         Element firstNameElement = authorElement.addElement("firstname");
         firstNameElement.setText("Marcello");
         
         //在 author 元素中增加 lastname 元素并设置该元素的文本。
         Element lastNameElement = authorElement.addElement("lastname");
         lastNameElement.setText("Vitaletti");
         
        //在 author 元素中增加 lastname 元素并设置该元素的文本。
         Element lastNameElement = authorElement.addElement("cada");
         lastNameElement.addCDATA("Vitaletti");
         
         //可以使用 addDocType() 方法添加文档类型说明。
 //        document.addDocType("catalog", null, "file://e:/Dtds/catalog.dtd");
         
         try{
             OutputFormat format = OutputFormat.createPrettyPrint();
             format.setEncoding("GBK");
             XMLWriter output = new XMLWriter(
                     new FileWriter( new File("e:/catalog.xml")),format);
                 output.write( document );
                 output.close();
                 }
              catch(IOException e){System.out.println(e.getMessage());}
         }
String 数组和List 对象 互转
1、List to String[]

List list = new ArrayList();
list.add("1");
list.add("2");
final int size =  list.size();
String[] arr = (String[])list.toArray(new String[size]);


2、String [] to List

String[] arr = new String[] {"1", "2"};
List list = Arrays.asList(arr);
Dom4j操作xml dom4j
<?xml version="1.0" encoding="UTF-8"?>
<root>
	<top>
		<menu name="name" code="code1" type="1" />
		<menu name="name1" code="code1" type="1" />
		<menu name="name2" code="code1" type="1" />
		<menu name="name3" code="code1" type="1" />
		<menu name="name3" code="code1" type="1" />
	</top>
</root>

	// 初使化菜单
	public void initMenu(File file) {
		try {
			SAXReader saxReader = new SAXReader();
 //从文件读取
			Document document = (Document) saxReader.read(file);
//从字符串读取
//Document document  = (Document)saxReader.read(new StringReader(string));
			Element root = document.getRootElement();
			
			List menus =  root.element("top").elements("menu");
		        Map eq = new HashMap();
		        eq.put("type", 2);
		        if (dao.getCount(Menu.class, eq, null) != menus.size()) {
		        	String[] type = new String[] { "2" };
			        dao.deleteAll(Menu.class, "type", type);
			        for (int i = 0; i < menus.size(); i++) {
				      Element menu = (Element) menus.get(i);
				      Menu entity = new Menu();
				      entity.setName(menu.attributeValue("name"));
				      entity.setCode(menu.attributeValue("code"));
				      entity.setType(Integer.parseInt(menu.attributeValue("type")));
				      dao.save(entity);
			       }
		        }
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
Tomcat强制Https
在 tomcat \conf\web.xml 中的 </welcome- file-list> 后面加上这    

<login-config>    
        <!-- Authorization setting for SSL -->    
        <auth-method>CLIENT-CERT</auth-method>    
        <realm-name>Client Cert Users-only Area</realm-name>    
    </login-config>    
    <security-constraint>    
        <!-- Authorization setting for SSL -->    
        <web-resource-collection >    
            <web-resource-name >SSL</web-resource-name>    
            <url-pattern>/*</url-pattern>    
        </web-resource-collection>    
        <user-data-constraint>    
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>    
        </user-data-constraint>    
    </security-constraint>    
Spring Junit 测试 spring junit
package com.anda.test;

import junit.framework.TestCase;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

import com.anda.common.dao.Dao;
import com.anda.model.Article;

public class Test extends TestCase {

	public ApplicationContext ctx = null;
	private static String[] CONFIG_FILES = { "D:/work/anda2.0/WebRoot/WEB-INF/applicationContext.xml" };

	protected void setUp() throws Exception {
		ctx = new FileSystemXmlApplicationContext(CONFIG_FILES);
	}

	public void testGetBean() {
		Dao dao = (Dao) ctx.getBean("dao");
		System.out.println(dao.loadAll(Article.class).size());
	}
}
Log4j配置文件 log4j
log4j.rootLogger=WARN,CONSOLE
log4j.addivity.org.apache=true
# apply to console
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=WARN
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
Global site tag (gtag.js) - Google Analytics