lqxue

常用链接

统计

book

tools

最新评论

#

System.getProperty()参数大全

java.version

Java Runtime Environment version
java.vendor Java Runtime Environment vendor
java.vendor.url Java vendor URL
java.home Java installation directory
java.vm.specification.version Java Virtual Machine specification version
java.vm.specification.vendor Java Virtual Machine specification vendor
java.vm.specification.name Java Virtual Machine specification name
java.vm.version Java Virtual Machine implementation version
java.vm.vendor Java Virtual Machine implementation vendor
java.vm.name Java Virtual Machine implementation name
java.specification.version Java Runtime Environment specification version
java.specification.vendor Java Runtime Environment specification vendor
java.specification.name Java Runtime Environment specification name
java.class.version Java class format version number
java.class.path Java class path
java.library.path List of paths to search when loading libraries
java.io.tmpdir Default temp file path
java.compiler Name of JIT compiler to use
java.ext.dirs Path of extension directory or directories
os.name Operating system name
os.arch Operating system architecture
os.version Operating system version
file.separator File separator ("/" on UNIX)
path.separator Path separator (":" on UNIX)
line.separator Line separator ("\n" on UNIX)
user.name User's account name
user.home User's home directory
user.dir User's current working directory

 

调用方法 : System.getProperty("user.dir") 


posted @ 2007-08-04 10:54 lqx 阅读(273) | 评论 (0)编辑 收藏

xpath 资料

http://en.wikipedia.org/wiki/XPath

posted @ 2007-08-03 13:47 lqx 阅读(226) | 评论 (0)编辑 收藏

linux 下 svn 安装

一 安装服务器端

下载Apache和SVN源码包:httpd-2.0.52.tar.gz,subversion-1.1.1.tar.gz
(因为redhat 9默认安装的Apache没有并包含--enable-so选项,所以无法产生mod_dav_svn.没有这个模块,SVN就无法采用http方式运行,所以必须重新编译新的Apache)
以root身份执行:
#tar zxvf httpd-2.0.52.tar.gz
#cd httpd-2.0.52
#./configure --enable-dav --enable-so --enable-maintainer-mode
#make
#make install
此时会产生/usr/local/apache2目录
#tar zxvf subversion-1.1.1.tar.gz
#./configure --with-apxs=/usr/local/apache2/bin/apxs
#make
#make install
此时会自动在/usr/local/apache2/conf/httpd.conf添加
LoadModule dav_svn_module modules/mod_dav_svn.so
安装完成后,运行svnserver --version确认版本为1.1.1。
SVN服务器安装结束.

二 建立仓库Repository

Subversion 的档案库是个中央仓储, 用来存放任意数量项目的受版本控管数据,建立方法很简单
#svnadmin create path/to/repos
举个例子:#svnadmin create /home/mysvn


导入项目到版本中心库
 #svn import /tmp/project/ file:///data/repos -m "initial import"


三 运行服务器

Subversion服务器有两种运行方式,一是可以作为Apache 2.0的一个模块,以WebDAV/DeltaV协议与外界连通;另外,也可使用Subversion 自带的小型服务器程序svnserve。该程序使用的是自带的通讯协议,可以很容易地透过SSH以
以http方式运行
在/usr/local/apache2/conf/httpd.conf中加入:
<Location /svn/repository>
DAV svn
SVNPath /home/mysvn
</Location>
在服务器的浏览器中输入网址:
http://localhost/svn/repository/
这时候,你会看到这样一副界面:

这表明服务器已经以http方式正常运行了.
以svnserve方式运行
这种方式的运行又可以分为以下两种(这和vsftp有些相似)
1) standalone mode
直接运行 #svnserve –d
运行 lsof -i :3690可以看到SVN服务器已经在运行

四 客户机访问

客户机的访问方法舆服务器的运行方式有直接关系
window客户机:
1) 服务器以http方式运行

安装完TortoiseSVN-1.1.1-UNICODE_svn-1.1.1.msi后,在你想工作的目录下点击右键,执行checkout,按上图输入即可。

2) 服务器以svnserve方式运行
同上的区别只是URL of repository变为 svn://svn服务器ip/home/mysvn
或者 svn+ssh://svn服务器ip/home/mysvn
(注意不是//svn服务器ip//svn/repository)
linux客户机:
1) 服务器以http方式运行
执行 #svn checkout http: //svn服务器ip/svn/repository
2) 服务器以svnserve方式运行
执行 #svn checkout svn://svn服务器ip/home/mysvn
或者 #svn checkout svn+ssh://svn服务器ip/home/mysvn

五 客户认证机制

这舆服务器的运行方式有关

服务器以svnserve方式运行
默认下客户可以以匿名方式通过svn://方式任意访问档案库,为了限制其权限,比如只允许读操作,可以通过修改档案库conf子目录中的svnseve.conf文件来实现。
#vi /home/mysvn/conf/svnseve.conf
修改[general]字段下内容为:
anon-access = read
如果设为anon-access = none,则匿名用户不可以通过svn://方式访问档案库
为了实现用户认证,我们一般采用svn+ssh://访问机制。
首先在svnseve.conf文件设置anon-access = none禁止匿名用户通过svn://方式访问档案库
在其后加入auth-access = write一行
auth-access 是限制有援权的使用者(使用svn+ssh:// 来登入) 的存取权限,我们设为是可以读写。
当用户通过svn+ssh://访问时,服务器会自动启动ssh认证机制,要求用户输入密码,对于window用户来说还需要安装第三方软件openssh,才可以采用这种机制


服务器以http方式运行
比如我们想给 Sally 与 Harry 送交存取档案库的权限. 首先, 我们必须把它们加入到密码档案.
# ### 第一次: 以 -c 建立档案
# htpasswd -c /etc/svn-auth-file harry
New password: *****
Re-type new password: *****
Adding password for user harry
# htpasswd /etc/svn-auth-file sally
New password: *******
Re-type new password: *******
Adding password for user sally
#
接着,在/usr/local/apache2/conf/httpd.conf的加入:
<Location /svn/repository >
DAV svn
SVNPath /home/mycvs
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/svn-auth-file
Require valid-user
</Location>
重新启动 Apache后,如果有人要访问SVN服务器,系统会要求他输入用户名和密码。 只有输入Sally 或Harry的用户名和相应的密码,才可以对档案库进行修改和访问

六 添加用户

打开/conf/目录,打开svnserve.conf找到一下两句:

# [general]
# password-db = passwd

去之每行开头的#,其中第二行是指定身份验证的文件名,即passwd文件
同样打开passwd文件,将

# [users]
# harry = harryssecret
# sally = sallyssecret
这几行的开头#字符去掉,这是设置用户,一行一个,存储格式为“用户名 = 密码”,如可插入一行:admin = admin888,即为系统添加一个用户名为admin,密码为admin888的用户

posted @ 2007-08-03 10:30 lqx 阅读(451) | 评论 (0)编辑 收藏

页面特效

http://www.yesky.com/imagesnew/software/jscript/index.html

posted @ 2007-08-01 17:43 lqx 阅读(205) | 评论 (0)编辑 收藏

xml 解析

Java开源-Jdom对XML解析方法的使用指南
http://java.ccidnet.com/art/3565/20060313/475777_1.html


XML的四种解析器原理及性能比较
http://bbs.chinacode.com/archiver/tid-352.html


Java XML API 漫谈
http://blog.iyi.cn/user/david/archives/2005/01/204.html

使用 dom4j 解析 XML
http://blog.iyi.cn/user/david/archives/2005/01/204.html

用dom4j建立,修改XML文档,并解决格式化输出和中文问题
http://www.5inet.net/WebPrograming/XMLXSL/070556.html
原因分析:
  由于FileWriter默认的输出编码是ANSI编码,而Dom4j中的wirte方法提供的内容实际是以UTF-8保存的,因此造成了包括中文字符的XML文件无法正常阅读。
 
解决方法:
   不能使用简单的FileWriter,而应该是使用一个能指定具体输出编码的Writer,在JDK的io包中, OutputStreamWriter可以指定输出编码。
  正确的代码如下:
    java.io.OutputStream out=new java.io.FileOutputStream(fileName);
   java.io.Writer wr=new java.io.OutputStreamWriter(out,"UTF-8");   
   doc.write(wr);   
   wr.close();
   out.close();

  简化一下可以写成下面的样式:

   java.io.Writer wr=new java.io.OutputStreamWriter(new java.io.FileOutputStream(fileName),"UTF-8");   
   doc.write(wr);   
   wr.close();

posted @ 2007-08-01 17:39 lqx 阅读(237) | 评论 (0)编辑 收藏

通过socket传递java对象(对象序列化)

这篇文章主要实现的是j:通过socket传递Java对象。采用的方法就是对象序列化。方法是:通过socket建立c/s连接;通过ObjectOutputStream,ObjectOutputStream 读写对象。唯一需要留意的是传递的java 对象需要实现Serializable标记接口。代码包括:java对象类,Employee; socket client类;server类。主要代码如下:

java对象类:


import java.io.*;
import java.util.*;

public class Employee implements Serializable {

    private int employeeNumber;

    private String employeeName;

    Employee(int num, String name) {
        employeeNumber = num;
        employeeName = name;
    }

    public int getEmployeeNumber() {
        return employeeNumber;
    }

    public void setEmployeeNumber(int num) {
        employeeNumber = num;
    }

    public String getEmployeeName() {
        return employeeName;
    }

    public void setEmployeeName(String name) {
        employeeName = name;
    }
}

client类:
import java.io.*;
import java.net.*;

public class Client {
    public static void main(String[] arg) {
        try {
            Employee joe = new Employee(150, "Joe");
            System.out.println("employeeNumber= " + joe.getEmployeeNumber());
            System.out.println("employeeName= " + joe.getEmployeeName());
            Socket socketConnection = new Socket("127.0.0.1", 11111);
            ObjectOutputStream clientOutputStream = new ObjectOutputStream(
                    socketConnection.getOutputStream());
            ObjectInputStream clientInputStream = new ObjectInputStream(
                    socketConnection.getInputStream());
            clientOutputStream.writeObject(joe);
            joe = (Employee) clientInputStream.readObject();
            System.out.println("employeeNumber= " + joe.getEmployeeNumber());
            System.out.println("employeeName= " + joe.getEmployeeName());
            clientOutputStream.close();
            clientInputStream.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

Server类:
public class Server {

    public static void main(String[] arg) {

        Employee employee = null;

        try {

            ServerSocket socketConnection = new ServerSocket(11111);

            System.out.println("Server Waiting");

            Socket pipe = socketConnection.accept();

            ObjectInputStream serverInputStream = new ObjectInputStream(pipe
                    .getInputStream());

            ObjectOutputStream serverOutputStream = new ObjectOutputStream(pipe
                    .getOutputStream());

            employee = (Employee) serverInputStream.readObject();

            employee.setEmployeeNumber(256);
            employee.setEmployeeName("John");

            serverOutputStream.writeObject(employee);

            serverInputStream.close();
            serverOutputStream.close();

        } catch (Exception e) {
            System.out.println(e);
        }
    }

}

posted @ 2007-08-01 14:08 lqx 阅读(261) | 评论 (0)编辑 收藏

怎样在jsp中只刷新图片而不刷新页面??

因为图片时实时生成的,所以定时只刷新图片,好像定时执行
document.getElementById("sample").src="1.gif";
不行,没有更新,请问怎么解决呀??


缓存问题

var img = document.getElementById("sample");
    img.src="1.gif?.tmp="+Math.random();



posted @ 2007-07-31 09:44 lqx 阅读(1030) | 评论 (0)编辑 收藏

Active FTP vs. Passive FTP, a Definitive Explanation

http://slacksite.com/other/ftp.html

FTP 的主動模式( active )和被動模式( passive )

FTP 是一種檔傳輸協定 (File Transfer Protocol),它的連線模式有兩種﹕
主動模式( active )和被動模式( passive )。以下說明 FTP 的連線是怎樣建立的﹕

在 active 模式下 (一般預設的模式)﹕
1. FTP client 開啟一個隨機選擇的TCP port 呼叫 FTP server 的 port 21請求連線。當順
 利完成 Three-Way Handshake 之後,連線就成功建立,但這僅是命令通道的建立
 。
2.當兩端需要傳送資料的時候,client 透過命令通道用一個 port command 告訴 server
 ,client可以用另一個TCP port 做數據通道。
3.然後 server 用 port 20 和剛才 client 所告知的 TCP port 建立數據連線。請注意:連
 線方向這是從 server 到 client 的,TCP 封包會有一個 SYN flag。
4.然後 client 會返回一個帶 ACK flag的確認封包﹐並完成另一次的 Three-Way
 Handshake 手續。這時候,數據通道才能成功建立。
5.開始數據傳送。

在 passive 模式下
1.FTP client 開啟一個隨機選擇的TCP port 呼叫 FTP server 的 port 21請求連線,並完
 成命令通道的建立。
2.當兩端需要傳送資料的時候,client 透過命令通道送一個 PASV command 給
 server,要求進入 passive 傳輸模式。
3.然後 server 像上述的正常模式之第 2 步驟那樣,挑一個TCP port ,並用命令通道
 告訴 client。
4.然後 client 用另一個TCP port 呼叫剛才 server 告知的 TCP port 來建立數據通道。此
 時封包帶 SYN flag。
5.server 確認後回應一個 ACK 封包。並完成所有交握手續、成功建立數據通道。
6.開始數據傳送。

在實際使用上, active mode 用來登入一些開設在主機上及沒有安裝防火牆的 FTP server,或是開設於 client side 的 FTP server!

Passive mode (簡稱 PASV)用來登入一些架設於防火牆保護下而又是開設於主機上的 FTP server!

如果您覺得太深奧而弄不清楚, 那就先用預設的 active mode 登入, 失敗改用 passive mode 登入就是了。


PS: 並不是每套 FTP 軟體都支援 passive mode 登入
http://forum.icst.org.tw/phpBB2/viewtopic.php?t=79

原PO那邊有不少的討論文章,想要多了解的人務必點選。

posted @ 2007-07-30 16:47 lqx 阅读(229) | 评论 (0)编辑 收藏

Java FTP client libraries reviewed

http://www.javaworld.com/javaworld/jw-04-2003/jw-0404-ftp.html?page=1

posted @ 2007-07-30 15:07 lqx 阅读(155) | 评论 (0)编辑 收藏

蛙泳

http://www.51swim.com/wayongjs.htm

posted @ 2007-07-25 13:12 lqx 阅读(201) | 评论 (0)编辑 收藏

仅列出标题
共18页: First 上一页 7 8 9 10 11 12 13 14 15 下一页 Last