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
|