posts - 122,  comments - 25,  trackbacks - 0
1、修改linux系统默认的1024个文件上限。
在/root/.bash_profile文件中加入:ulimit -n 4096

2、查看某个进程打开的文件数:
先用ps -aux找到pid,然后运行lsof -p %pid% | wc -l

3、查看80端口的连接数
netstat -nat|grep -i “80″|wc -l

4、查看系统内核版本
uname   -a

5、查看Linux版本

登录到服务器执行 lsb_release -a ,即可列出所有版本信息

6、查看目录空间
du -h --max-depth=2 | sort -n
posted @ 2008-07-21 11:33 josson 阅读(205) | 评论 (0)编辑 收藏

作为一个项目构建工具,Maven除具备Ant的功能外,最最要的就是jar包的管理。

相关文章:
http://www.blogjava.net/calvin/archive/2006/03/19/36098.html
http://www.ibm.com/developerworks/cn/opensource/os-maven2/

posted @ 2008-06-20 21:25 josson 阅读(293) | 评论 (0)编辑 收藏
如果不小心安装了正版验证补丁,可以建一个批处理文件,在安全模式下运行即可删除。批处理文件内容如下:

@echo off
title 删除 Windows Genuine Advantage 脚本
cls
:ClearTemp
echo.
echo.
set choice
=
set 
/p choice= 是否要尝试删除 Windows Genuine Advantage (Y/N)?
if "%choice%"=="N" goto End
if "%choice%"=="n" goto End
echo.
echo 正在尝试删除 Windows Genuine Advantage ……
echo.
taskkill 
//im wgatray.exe /t
taskkill 
//im wgatray.dll /t
del 
//%systemroot%\system32\wga*.*
taskkill 
//im wgatray.exe /t
taskkill 
//im wgatray.dll /t
del 
//%systemroot%\system32\wga*.*
taskkill 
//im wgatray.exe /t
taskkill 
//im wgatray.dll /t
del 
//%systemroot%\system32\wga*.*
taskkill 
//im wgatray.exe /t
taskkill 
//im wgatray.dll /t
del 
//%systemroot%\system32\wga*.*

del 
//%systemroot%\system32\legitcheckcontrol.dll
del 
//%systemroot%\system32\dllcache\wga*.*

reg 
delete HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WGALogon /f
reg 
delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\uninstall\wganotify /f

:End
echo.
echo 
-----------------------处理完毕。请关闭。-----------------------
echo.
echo.
pause
>nul
posted @ 2008-06-06 12:50 josson 阅读(625) | 评论 (0)编辑 收藏
创建.bat文件,输入如下内容:

netsh interface ip set address "本地连接" static 192.9.101.106 255.255.255.0 192.9.101.1 1

netsh interface ip add dns name 
= "本地连接" addr = 202.101.172.35 
netsh interface ip add dns name 
= "本地连接" addr = 202.101.172.36


posted @ 2008-05-28 14:40 josson 阅读(1051) | 评论 (0)编辑 收藏
AXIS快速生成客户端调用文件的命令:
java -Djava.ext.dirs=./lib org.apache.axis.wsdl.WSDL2Java -o . -d Session --true -p com.company.webservice.user http://192.9.101.106:8080/cms/services/UserService?wsdl

说明:
1、com.company.webservice.user表示新生成类文件的包名。
2、http://192.9.101.106:8080/cms/services/UserService?wsdl 表示Webservice服务地址。
3、注:相关的依赖包须存放在lib目录下,依赖包包括:
axis.jar
axis
-ant.jar
axis
-schema.jar
commons
-discovery-0.2.jar
commons
-logging-1.0.4.jar
jaxrpc.jar
log4j
-1.2.8.jar
saaj.jar
wsdl4j
-1.5.1.jar

创建bat文件,并将输入上述命令,执行后,即将在当前目录生成相关的类文件。

posted @ 2008-05-28 14:30 josson 阅读(982) | 评论 (0)编辑 收藏
1、服务器向指定客户端推送数据

完成聊天室之类的项目时,利用DWR推模式向所有客户端推送数据,的确是很方便,只要客户端的访问页面确定就可以了。但是,若需要对访问同一页面的两个客户端(特别是根据用户身份作不同处理),加以区分,推送不同数据时,就没这么简单了。

有两种方式可以解决这个问题:
    a)、服务端不处理,只管往客户端推送数据,由客户端对收到的数据进行过滤,然后再显示出来。但这种方式的缺点很明显,数据包多且不安全。
    b)、对每个客户端进行单儿标识。DWR中以ScriptSession来代表一个客户端连接,我们可以通过设置ScriptSession的属性,来达到标识客户端的作用。如将sessionid或用户登录名保存在相应的ScriptSession属性中,向客户端推送数据时,根据这个属性加以过滤。相应的代码片段如下:

    /**
     * 返回有效的ScriptSession.
     * 
@param user
     * 
@return
     
*/
    @SuppressWarnings(
"unchecked")
    
private ScriptSession getCurrentSession(String user){
        ScriptSession xSession 
= null;
        Collection
<ScriptSession> sessions = new HashSet<ScriptSession>();
        sessions.addAll(sctx.getScriptSessionsByPage(PAGE_MAIN));
        
for (ScriptSession session : sessions) {
            
//查询与消息接收者相符的客户端页面,并输出消息内容
            String xuser = (String)session.getAttribute(SESSION_ATTRNAME_USER);
            
if(xuser != null && xuser .equals(user)){
                xSession 
= session;
            }
        }
        
return xSession;
    }

    
/**
     * 清除已有连接, 标识当前连接用户(登录或刷新页面时,进行必要的清理).
     * 
@param user
     * 
@param session
     
*/
    
private void cleanDwrConnection(user,ScriptSession session){
        String jid 
= StringUtils.parseBareAddress(user);
        ScriptSession oldSession 
= getCurrentSession(jid);
        
if(oldSession != null && oldSession != session){
            oldSession.invalidate();
            oldSession 
= null;
        }
        
        session 
= WebContextFactory.get().getScriptSession();
        session.setAttribute(SESSION_ATTRNAME_USER, jid);
    }

2、使用DWR推模式的实现中,刷新页面引起长连接丢失问题

    最近在做web版即时消息客户端时,遇到这样一个问题:为了减少无用的服务连接,只在登录后才激活长连接(dwr.engine.setActiveReverseAjax(true),注销后取消长连接)。登录客户端后,用了一段时间后,无法收消息了(消息无法推送到客户端)。后来调试后,发现ScriptSession实例没有绑定物理连接信息(conduits:m:root为空)。测试后发现,当刷新页面后,会产生一个新的ScriptSession实例,而这个ScriptSession的conduits:m:root为空,所以怎么都无法将数据推送到客户端去了。

    客户端激活长连接后(dwr.engine.setActiveReverseAjax(true);),对应的ScriptSession实例会绑定物理连接信息,而刷新页面刷新而不重新激活长连接,新产生的ScriptSession是没有绑定物理连接信息的,一旦绑定物理连接信息的ScriptSession被销毁后,就产生了这个问题。

   

posted @ 2008-03-31 16:41 josson 阅读(4120) | 评论 (0)编辑 收藏
删除表主键:
ALTER TABLE TABLENAME DROP CONSTRAINT PK_TABLENAME;

新增表主键:
alter table TABLENAME add CONSTRAINT PK_TABLENAME primary key (ID);
posted @ 2008-03-19 11:00 josson 阅读(399) | 评论 (0)编辑 收藏
  • window.event
    IE:有window.event对象
    FF:没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=doMouseMove(event)

  • 鼠标当前坐标
    IE:event.x和event.y。
    FF:event.pageX和event.pageY。
    通用:两者都有event.clientX和event.clientY属性。

  • 鼠标当前坐标(加上滚动条滚过的距离)
    IE:event.offsetX和event.offsetY。
    FF:event.layerX和event.layerY。
    通用:event.clientY+document.documentElement.scrollTop(加垂直滚动条)。
    通用:event.clientX+document.documentElement.scrollLeft(加水平滚动条)。

    示例:

  • <script>
    function xyzb(xy){
      xl = xy.clientX+document.documentElement.scrollLeft;
      yr = xy.clientY+document.documentElement.scrollTop;
      document.getElementById("xys").innerHTML=xl+","+yr;
    }
    </script>
    <div id="xys" style="width:500px;height:500px;border:1px solid;" onmousemove="xyzb(event);"></div>


  • 标签的x和y的坐标位置:style.posLeft 和 style.posTop
    IE:有。
    FF:没有。
    通用:object.offsetLeft 和 object.offsetTop。

  • 窗体的高度和宽度
    IE:document.body.offsetWidth和document.body.offsetHeight。注意:此时页面一定要有body标签。
    FF:window.innerWidth和window.innerHegiht,以及document.documentElement.clientWidth和document.documentElement.clientHeight。
    通用:document.body.clientWidth和document.body.clientHeight。

  • 添加事件
    IE:element.attachEvent("onclick", func);。
    FF:element.addEventListener("click", func, true)。
    通用:element.onclick=func。虽然都可以使用onclick事件,但是onclick和上面两种方法的效果是不一样的,onclick只有执行一个过程,而attachEvent和addEventListener执行的是一个过程列表,也就是多个过程。例如:element.attachEvent("onclick", func1);element.attachEvent("onclick", func2)这样func1和func2都会被执行。

  • 标签的自定义属性
    IE:如果给标签div1定义了一个属性value,可以div1.value和div1["value"]取得该值。
    FF:不能用div1.value和div1["value"]取。
    通用:div1.getAttribute("value")。

  • 父节点、子节点和删除节点
    IE:parentElement、parement.children,element.romoveNode(true)。
    FF:parentNode、parentNode.childNodes,node.parentNode.removeChild(node)。

  • 画图
    IE:VML。
    FF:SVG。

  • CSS:透明
    IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。
    FF:opacity:0.6。

  • CSS:圆角
    IE:不支持圆角。
    FF:-moz-border-radius:4px,或者-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-bottomright:4px;。

  • CSS:双线凹凸边框
    IE:border:2px outset;。
    FF:-moz-border-top-colors: #d4d0c8 white;-moz-border-left-colors: #d4d0c8 white;-moz-border-right-colors:#404040 #808080;-moz-border-bottom-colors:#404040 #808080;。


  • posted @ 2008-01-31 12:52 josson 阅读(437) | 评论 (0)编辑 收藏
    http://dhtmlx.com 包含目录树、菜单、工具条等很多js控件,功能十分强大。

    现将dhtmlxTree 使用样例记录如下(包括目录树、上下文菜单):
    1、所需js文件
    dhtmlxcommon.js
    dhtmlxtree.js
    dhtmlxtree_json.js

    //菜单控件所需的js
    dhtmlxprotobar.js
    dhtmlxmenubar.js
    dhtmlxmenubar.js

    2、sample.html代码:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script src="./dhtmlxcommon.js"></script>
    <script src="./dhtmlxtree.js"></script>
    <script language="JavaScript" src="./extend/dhtmlxtree_json.js"></script>
    <script language="JavaScript" src="./dhtmlxprotobar.js"></script>
    <script language="JavaScript" src="./dhtmlxmenubar.js"></script>
    <script language="JavaScript" src="./dhtmlxmenubar_cp.js"></script>
    <link rel="STYLESHEET" type="text/css" href="./dhtmlxtree.css">
    <link rel="STYLESHEET" type="text/css" href="./context.css">
    <link rel="STYLESHEET" type="text/css" href="./dhtmlxmenu.css">
    </head>
    <body>
    <div id="treeBox" style="width:200;height:200"></div>
    <script>
      
    //init menu 
      aMenu=new dhtmlXContextMenuObject('120',0,"images/");
      aMenu.menu.loadXML(
    "./_context.xml");
      aMenu.setContextMenuHandler(onMenuClick);
      
      tree
    =new dhtmlXTreeObject('treeBox',"100%","100%",0);
      tree.setImagePath(
    "images/");
      tree.enableCheckBoxes(
    true);
      tree.enableDragAndDrop(
    true);
      tree.enableContextMenu(aMenu); 
    //link context menu to tree
      tree.loadCSV("./data.txt");//for loading from file
      
      
    function onMenuClick(id,s){ alert("Menu item "+id+" was clicked"+s); }
    </script>
    </body>
    </html>

    3、数据文件data.txt
    1,0,node 1 
    2,1,node 1.1 
    3,2,node 1.1.1 
    4,0,node 2
    bd2f46a212ffae3b011305afd5eb0108,4,node 2.1
    6,1,node 1.2

    4、菜单文件_context.xml
    <?xml version='1.0' ?>
    <menu absolutePosition="auto" mode="popup" maxItems="8"  globalCss="contextMenu" globalSecondCss="contextMenu" globalTextCss="contextMenuItem">
            
    <MenuItem name="Red" src="./images/red.gif"  id="edit_Red"/>    
            
    <MenuItem name="Green" src="./images/green.gif"  id="edit_Green"/>    
            
    <MenuItem name="Blue" src="./images/blue.gif"  id="edit_Blue"/>    
        
    <MenuItem name="Other" src="" id="outher" width="120px" panelWidth="120">
            
    <MenuItem name="Yellow" src="./images/yellow.gif"  id="edit_Yellow"/>    
            
    <MenuItem name="White" src="./images/white.gif"  id="edit_White"/>    
        
    </MenuItem>
    </menu>

    注:dhtmlxTree 标准版不支持菜单功能,所以需要对dhtmlxtree.js做些修改,在脚本的最后面加上如下方法:
    dhtmlXTreeObject.prototype.enableContextMenu=function(menu)
    {
        
    if(menu)    this.cMenu=menu
    };

    posted @ 2008-01-30 15:53 josson 阅读(8344) | 评论 (1)编辑 收藏
         摘要: 1、命令控制 启动:/usr/local/mysql/bin/mysqld-safe --user=mysql & 停止:/usr/local/mysql/bin/mysqladmin -u root -p pwd shutdown 2、自启动sh脚本(mysqld 存放于/etc/init.d目录下,注意下面mysql数据所在路径) Code highl...  阅读全文
    posted @ 2008-01-23 10:53 josson 阅读(4785) | 评论 (0)编辑 收藏
    仅列出标题
    共11页: 上一页 1 2 3 4 5 6 7 8 9 下一页 Last 
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用链接

    留言簿(3)

    随笔分类

    随笔档案

    收藏夹

    搜索

    •  

    最新评论

    阅读排行榜

    评论排行榜