星期日, 31 一月 2010
apt-get update
今天在Ubuntu8下安装一个软件包,发现请求的软件包地址没有反应,说明这个地址已经失效了,如何去除这些无用的地址呢?使用
apt-get update 命令,这样就会下载的包地址列表,去掉无用的地址列表。
Posted by at 4:27 下午 in 未分类
今天在Ubuntu8下安装一个软件包,发现请求的软件包地址没有反应,说明这个地址已经失效了,如何去除这些无用的地址呢?使用
apt-get update 命令,这样就会下载的包地址列表,去掉无用的地址列表。
Posted by at 4:27 下午 in 未分类
今日访问 www.mysql.com,发现下载MySQL的地址没有了。欧盟批准Oracle收购Sun之后,看来Oracle要处理MySQL了。
LAMP的M命运如何,只能坐观其变了。
Posted by at 12:41 下午 in 未分类
如果您想知道浏览器访问网站的情况,也就是HTTP协议的传输情况,那么你可以使用Free HTTP Sniffer。我们在浏览器上访问一个网站,由于每个网页都有很多的链接,从浏览器上我们很难查出到底访问了那些网站,使用Free HTTP Sinffer这个事情就简单了。
下载地址: http://www.cleanersoft.com/sniffer/free_http_sniffer.htm
安装后,需要重启计算机。不需要注册,只需点击Skip跳过即可。
国内可能封闭了下载地址,如果下载不了,可以使用一个HTTP代理。
Posted by at 12:01 下午 in 未分类
MySQL现在已经归为Oracle,前景到底如何,很难预料。
没有了MySQL,还有PostgreSQL。
PostgreSQL具有商业数据库的特性而且开源,虽然入门比MySQL难,但是只要想学也是很快能入手的。
Posted by at 11:06 上午 in 未分类
如果你以前只用过MySQL,你应该知道在库下是可以直接建表的,表的上级就是库。但是在PostgreSQL(及Oracle)中,还有模式(schema)。库下不能直接建表,而是在模式下建表,库、模式、表的从属关系是库>模式>表。
需要模式的原因有好多:
● 允许多个用户使用一个数据库而不会干扰其它用户。
● 把数据库对象组织成逻辑组,让它们更便于管理。
● 第三方的应用可以放在不同的模式中,这样它们就不会和其它对象的名字冲突。
Posted by at 6:45 下午 in 未分类
通过如下命令安装:
sudo apt-get install phppgadmin
安装后,有关phppgamin的配置文件在/etc/phppgadmin目录下。
apache.conf 用于将phppgamin添加到apache上的配置文件。
config.inc.php phppgadmin配置文件。
创建一个链接,让apache加载phppgadmin。
sudo ln -s /etc/phppgadmin/apache.conf /etc/apache2/conf.d/phppgadmin.conf
重启apache。
sudo /etc/init.d/apache2 restart
通过 http://ip地址/phppgadmin就可以访问了。
如果想通过帐号 postgres 登录。需要修改 config.inc.php文件,将
$conf['extra_login_security'] = true;
改为
$conf['extra_login_security'] = false;
同时也要修改postgressql服务器的配置文件pg_hba.conf以允许postgres通过本地地址的TCP/IP连接到数据库就可以了。 例如:
host all postgres 0.0.0.0/0 md5
Posted by at 5:56 下午 in 未分类
pg_default 对应 PGDATA/base目录。pg_global 对应 PGDATA/global目录。
具体信息参看 http://www.postgresql.org/docs/8.3/static/storage-file-layout.html
Posted by at 12:34 下午 in 未分类
在控制如下命令:Posted by at 8:37 下午 in 未分类
以前文件上传,一次只能选择一个文件。FireFox3.6开始,一次可选择多个文件。
选择多个文件,只需在input中添加 multiple="true" 属性即可,写法如下:
<input type="file" id="input" multiple="true" />
Posted by at 11:24 上午 in 未分类
Posted by at 4:10 下午 in 未分类
Apache是Linux系统上应用最广泛的Web服务器,用来服务于客户端计算机请求的Web页面,客户端一般使用浏览器来请求和查看Web页面,例如FireFox、Opera、Mozilla等浏览器。Apache通常和MySQL数据库引擎、脚本语言(PHP、Python、Perl)一起使用。这种配置称为LAMP(Linux, Apache, MySQL and Perl/Python/PHP),是一个强大稳健的开发和部署Web应用程序的平台。
在Ubuntu上安装Apache2,可在终端控制台输入如下命令:
sudo apt-get install apache2
Apache通过在纯文本配置文件中放置指令进行配置,首要的配置文件名称为apache2.conf,其它的配置文件可以使用Include指令进行添加,包含多个配置文件可以使用匹配符。任一指令都可以在这些配置文件中使用。在主配置文件中的更改只有在Apache2重启后才能生效。服务器也读取一个包含mime文档类型的文件,文件名称通过TypesConfig指令定义,默认的文件名为mime.types。
默认的Apache2配置文件是 /etc/apache2/apache2.conf 。你可以编辑这个文件来配置Apache2服务器,你可以配置端口号、文档根目录、模块、日志文件和虚拟主机等等。
基本设置
本段介绍Apache2服务器基本的配置参数,关于更多的配置信息您可访问Apache网站。
●Apache2带来一个方便设置虚拟主机的默认配置。就是,它配置了一个默认的虚拟主机(使用VirtualHost指令),你可以使用和修改它,如果你有一个站点的话。如果你有多个虚拟主机,你可以使用它作为模板添加其它的虚拟主机。在这样的配置下,默认的虚拟主机就作为你的默认站点,如果用户输入的URL不能和任何虚拟主机的域名匹配,那么他看到的也是这个默认站点。如果要修改默认的虚拟主机,可以编辑/etc/apache2/sites-available/default文件。如果你想配置一个新的虚拟主机,把这个文件在复制出来一份,名字可以任意。例如sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite 。可以使用下面介绍的指令在新配置文件中配置这个新的站点。
●ServerAdmin指令可以指定一个邮件地址,用来通知服务器管理员,默认值是webmaster@localhost。这个值应该设置成您自己的邮件(如果你是服务器管理员)。如果站点有问题,Apache会发送一个包含错误信息的邮件给这个地址。这个指令在你的/etc/apache2/sites-available目录的配置文件中。
●Listen指令用来指定Apache2用来监听的端口,IP地址是可选的。如果没有指定IP地址,Apache2会监听当前系统的所有IP地址。默认的监听端口为80。如果改成127.0.0.1:80,那么Apache2仅能在本地访问,本机以外不能访问。默认的监听IP地址和端口在/etc/apache2/ports.conf文件中,你编辑这个文件来修改它。
●ServerName是可选的,用来指定你的站点服务于什么样的FSDN。默认的虚拟主机没有指定ServerName,如果发送的请求找不到匹配的ServerName,那就会访问默认的虚拟主机。如果你想使用域名ubunturocks.com作为主机的域名,那么在虚拟主机的配置文件中的ServerName指令的值就是ubunturocks.com。
把这个指令添加到你先前创建的主机配置文件中,例如 /etc/apache2/sites-available/mynewsite 。
[提示] 你也可能希望站点回应www.ubunturocks.com主机名,因为大多数用户已经习惯于www的前缀。可以使用ServerAlias指令,在这个指令中可以使用通配符,例如ServerAlias *.ubunturocks.com将会匹配任何以.ubunturocks.com为域名结尾的请求。
●DocumentRoot指令用来指定Apache在那里查找组成站点的文件。默认的位置是/var/www 。但是如果你去掉了/etc/apache2/apache2.conf文件中RedirectMatch指令的注释,那么请求会被重定向到/var/www/apache2-default这个默认站点。在你的虚拟主机配置文件中修改这个值来符合你的实际情况,记住要创建必要的目录。
[提示]/etc/apache2/sites-available目录不会被Apache2分析处理,是 /etc/apache2/sites-enabled 下的符号链接指向了“可用的”的站点。可以使用 a2ensite 命令创建这些符号链接。例如 sudo a2ensite mynewsite,这里假设你的站点配置文件是 /etc/apache2/sites-available/mynewsite .类似,有a2dissite工具用来禁用站点。
默认设置
本节介绍Apache2默认的配置值。例如,如果你添加了一个虚拟主机,在虚拟主机内部的设置值比主机主机指令外的具有高的优先级。如果在虚拟主机指令内部没有设置,则使用默认值。
●DirectoryIndex指令设置了当客户端在请求的目录名的末尾刻意添加一个"/"以表示请求该目录的索引时,服务器需要寻找的资源列表。Local-url(%已解码的)是一个相对于被请求目录的文档的URL(通常是那个目录中的一个文件)。可以指定多个URL,服务器将返回最先找到的那一个。若一个也没有找到,并且那个目录设置了Indexes选项,服务器将会自动产生一个那个目录中的资源列表。
在 /etc/apache2/apache2.conf 定义的DirectoryIndex默认值是 " index.html index.cgi index.pl index.php index.xhtml"。因此,如果Apache2在请求的目录中找到和其中任一个匹配,则返回匹配的第一个。
●ErrorDocument指令为Apache当指定的错误事件发生时访问的文件。例如,如果用户请求的资源不存在,一个404错误被返回,Apache2的默认配置是/usr/share/apache2/error/HTTP_NOT_FOUND.html.var。这个文件不在DocumentRoot指定的目录,但是/etc/apache2/apache2.conf中的Alias指令把/error目录重定向到/usr/share/apache2/error/目录。为了查看默认 ErrorDocument 指令的列表,可以使用命令: grep ErrorDocument /etc/apache2/apache2.conf
●默认情况下服务器把传输日志输出到 /var/log/apache2/access.log文件。你可以为每个虚拟主机进行单独的设置通过使用CustomLog指令,或者忽略它而使用/etc/apache2/apache2.conf中定义的默认值。 你也可以通过ErrorLog 指令指定错误日志文件位置,其默认值是 /var/log/apache2/error.log。这样就把传输日志和错误日志分开了,利于查找问题。你也可以使用LogLevel指定日志级别(默认是"warn") 和
使用LogFormat定义日志格式(默认值参看/etc/apache2/apache2.conf文件)。
●一些选项基于没目录而不是整个服务器。Options就是其中之一。一个Directory使用一对XML标签组成,如下:
<Directory /var/www/mynewsite>
...
</Directory>
在Directory指令段中Options指令可以下指令的一个或者多个,使用空格分隔:
○ExecCGI - 允许CGI脚本. 如果这个没有设置,CGI脚本不允许执行。
[提示]大部分文件不是作为CGI脚本执行的。执行CGI脚本非常危险。CGI脚本应该在DocumentRoot指定的目录之外,而且只有指定的那个目录能执行CGI脚本。这是默认的,CGI脚本的默认位置是 /usr/lib/cgi-bin 。
○Includes - 服务器端包含。服务器端允许一个HTML文件包含其它的文件。详细信息请参看Apache2 SSI章节。
○IncludesNOEXEC - 允许服务器端包含,但是禁止了CGI脚本的 #exec 和 #include命令。
○Indexes - 显示一个目录内容的列表,如果DirectoryIndex指令没有在访问的目录中设置。
[注意]由于安全原因,这个一般不会设置,更不能设置在 DocumentRoot 指定的目录中。使用这个选项要非常小心,除非你确实想让用户知道这个目录的全部内容。
○Multiview - MultiViews查询是由Options指令的MultiViews选项激活的。如果服务器接收了一个对/some/dir/foo的请求,而/some/dir/foo并不存在,则服务器会查找这个目录下所有的 foo.* 文件,并有效地伪造一个说明这些 foo.* 文件的类型表,假定客户可能请求的一个,把他们指定为这个类型的媒体类型及内容编码。最终选择其中最符合客户请求的文档,返回给客户。默认被禁用了。
○SymLinksIfOwnerMatch - 服务器仅在符号连接与其目的目录或文件的拥有者具有相同的uid时才使用它。
Posted by at 2:33 下午 in 未分类
Posted by at 7:06 上午 in 未分类
从Tomcat5.5的启动脚本 /etc/init.d/tomcat5.5 入手。
root@ubuntu8:~$ cat /etc/init.d/tomcat5.5
#!/bin/sh
set -e
PATH=/bin:/usr/bin:/sbin:/usr/sbin
NAME=tomcat5.5 服务名称
DESC="Tomcat servlet engine" 描述
DAEMON=/usr/bin/jsvc 守护程序
CATALINA_HOME=/usr/share/$NAME Tomat安装的位置,也就是/usr/share/tomcat5.5目录
DEFAULT=/etc/default/$NAME 配置文件,例如JAVA_HOME、Tomcat安装目录等可在这个文件中设置,此处就是/etc/default/tomcat5.5
if [ `id -u` -ne 0 ]; then
echo "You need root privileges to run this script"
exit 1
fi
# 确保tomcat在系统本地区域语言下运行
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG
fi
. /lib/lsb/init-functions
. /etc/default/rcS
# 以下定义的变量可以被默认配置文件中的变量替换
# Tomcat进程的帐号
TOMCAT5_USER=tomcat55
# 第一个有效的路径被设置为 JAVA_HOME (如果 JAVA_HOME 在默认配置中定义)
JDK_DIRS="/usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-sun /usr/lib/jvm/java-1.5.0-sun /usr/lib/j2sdk1.5-sun /usr/lib/j2sdk1.5-ibm /usr/lib/j2sdk1.4-sun /usr/lib/j2sdk1.4-blackdown /usr/lib/j2se/1.4 /usr/lib/j2sdk1.4-ibm /usr/lib/j2sdk1.3-sun /usr/lib/j2sdk1.3-blackdown /usr/lib/jvm/java-gcj /usr/lib/kaffe"
# 搜索正确的JVM来使用
for jdir in $JDK_DIRS; do
if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then
JAVA_HOME="$jdir"
fi
done
export JAVA_HOME
# Directory for per-instance configuration files and webapps
CATALINA_BASE=/var/lib/$NAME
# 是否使用java安全管理器? (yes/no)
TOMCAT5_SECURITY=yes
# 关闭所有web程序的超时时间
TOMCAT5_SHUTDOWN=30
# 以上定义的变量可以被默认配置文件中的变量替换
# 利用默认配置文件的设置替换以前的设置
if [ -f "$DEFAULT" ]; then
. "$DEFAULT"
fi
test -f $DAEMON || exit 0
[ -z "$TOMCAT5_USER" ] && TOMCAT5_USER=tomcat55
# 检查是否使用了 gij
gij=no
"$JAVA_HOME/bin/java" -version 2>&1 | grep -q "^gij (GNU libgcj)" && gij=yes
# gij 仍然不支持一个安全管理器 (参看 bug #399595)
if [ "$gij" = "yes" ]; then
echo -e "The java-gcj-compat-dev environment currently doesn't\nsupport a security manager. See README.Debian." | logger -p daemon.warning -t $NAME
fi
# 设置 java.awt.headless=true如果JAVA_OPTS中没有设置它,这样JDK1.4+没有X11显示也能工作。这里也改变了64M的默认堆内存,设置最大为128M
if [ -z "$JAVA_OPTS" ]; then
JAVA_OPTS="-Djava.awt.headless=true -Xmx128M"
fi
JAVA_OPTS="$JAVA_OPTS -Djava.endorsed.dirs=$CATALINA_HOME/common/endorsed -Dcatalina.base=$CATALINA_BASE -Dcatalina.home=$CATALINA_HOME -Djava.io.tmpdir=$CATALINA_BASE/temp"
# Set the JSP compiler if set in the tomcat5.5.default file
if [ -n "$JSP_COMPILER" ]; then
JAVA_OPTS="$JAVA_OPTS -Dbuild.compiler=$JSP_COMPILER"
fi
if [ "$TOMCAT5_SECURITY" = "yes" ]; then
JAVA_OPTS="$JAVA_OPTS -Djava.security.manager -Djava.security.policy=$CATALINA_BASE/conf/catalina.policy"
fi
# 如果运行在gij下禁用juli LogManager (参看 bug #395167)
if [ "$gij" != "yes" ]; then
JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
fi
#定义其它的变量
CATALINA_PID="/var/run/$NAME.pid"
BOOTSTRAP_CLASS=org.apache.catalina.startup.Bootstrap
JSVC_CLASSPATH="/usr/share/java/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar"
# 查找Java安全套接字扩展-Java Secure Sockets Extension (JSSE) JARs
if [ -z "${JSSE_HOME}" -a -r "${JAVA_HOME}/jre/lib/jsse.jar" ]; then
JSSE_HOME="${JAVA_HOME}/jre/"
fi
export JSSE_HOME
........省略 ........
exit 0
Posted by at 9:27 上午 in 未分类
Posted by at 2:00 上午 in 未分类
Posted by at 1:27 上午 in 未分类
从1994年以来java已经发展为一个有效的开发工具,不仅仅是applets和客户端应用程序,还有可靠稳定的服务器端程序。JAva平台的主要的缺点当今还是依靠一个单一的入口点:( the public static void main(String[]) )来启动Java应用程序。使用单点入口对于客户端程序是一个有效的解决方案,一个用户可以交互地使用命令来退出应用程序(它可以调用System.exit(int)方法来中断虚拟机进程),但是在非交互式的应用程序下,例如服务器端程序,当前没有有效的方法通知虚拟机即将临近的关机。一个Java编写的服务器程序在能关闭虚拟机进程之前必须执行一些任务,例如一个servlet容器,在VM进程关闭之前,会话需要序列化到磁盘,web应用程序需要销毁。对于这个问题的一般解决方法是创建一个ServerSocket,接收发布的特定消息。当接收到信息,服务器程序执行关闭所有需要关闭的操作,最后调用System.exit方法退出虚拟机。然而,这种方法有一定的不利和风险,例如系统范围的关机,虚拟机进程会被操作系统直接关闭,而不会通知正在运行的服务器程序。或者,如果一个攻击这发现了发送到服务器需要的信息,使用一种方法把这样的信息发送给正在运行的服务器,他能轻易地中断一个服务器的操作,绕过了在操作系统上应用的安全限制。大多数多用户操作系统已经有启动和停止服务器程序的方法,在unix下非交互的服务器程序称为“daemons”,操作系统使用一套特定的信号控制它。在Windows下,这样的程序称为“服务”,通过调用定义在程序中特定的函数来控制它。虽然这些处理问题的方法不同,两种情况下,操作系统都能通知服务器程序即将到来的关机,应用程序能够在进程被销毁之前执行特定的任务。
Daemon包含两部分. 一个是用C编写的到操作系统的接口,另一个是用Java编写的Daemon API。
实际上win32和类UNIX平台都支持,win32平台使用procrun,类UNIX平台使用jsvc。
最初的Java classes来自Jakarta Tomcat 4.0项目。
Daemon组件推荐的包名称为 org.apache.commons.daemon 。
Posted by at 11:37 下午 in 未分类
AMD64 Ubuntu 9.10 Server 下vsftpd不能正常运行,原因未知!
Posted by at 1:17 上午 in 未分类
今晚7点左右,部分用户反映JSP空间无法访问,经检查,服务器正常,原来是域名无法解析。无法解析的域名的服务商为北京新网互联,其主站 www.dns.com.cn 也无法访问。大约半个小时后,逐步恢复正常,处理速度还是很快。
接近春节,乱事不少啊。例如百度被黑、谷歌要推出、两个新网的域名接连出现问题,看来互联网越来越不平静了。
Posted by at 9:27 下午 in 未分类
最近使用FireFox,经常崩溃。发现是由于JQS插件引起,禁用后问题不再出现。
Posted by at 12:23 下午 in 未分类
按部就班安装了vsftpd,但是连接不正常。
root@ubuntu91s:/# ftp localhost
Connected to localhost.
220 Welcome to Ubuntu FTP service.
Name (localhost:test): test
331 Please specify the password.
Password:
421 Service not available, remote server has closed connection
Login failed.
No control connection for command: No such file or directory
ftp>
21端口是打开的,而且曾经正常过一次,设置了几个简单的参数重启vsftpd后,又不正常了,即使将参数改回原来的初始设置也不行,怪!
root@ubuntu91s:/home# nmap -sV -sS localhost
Starting Nmap 5.00 ( http://nmap.org ) at 2010-01-19 09:21 CST
Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1.
Interesting ports on localhost (127.0.0.1):
Not shown: 987 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp
22/tcp open ssh OpenSSH 5.1p1 Debian 6ubuntu2 (protocol 2.0)
25/tcp open smtp Postfix smtpd
80/tcp open http Apache httpd 2.2.12 ((Ubuntu))
110/tcp open pop3 Dovecot pop3d
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
143/tcp open imap Dovecot imapd
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
993/tcp open ssl/imap Dovecot imapd
995/tcp open ssl/pop3 Dovecot pop3d
3306/tcp open mysql MySQL 5.1.37-1ubuntu5
5432/tcp open postgresql PostgreSQL DB
8080/tcp open http Apache Tomcat/Coyote JSP engine 1.1
1 service unrecognized despite returning data. If you know the service/version,
SF-Port21-TCP:V=5.00%I=7%D=1/19%Time=4B550926%P=x86_64-unknown-linux-gnu%r
SF:(NULL,24,"220\x20Welcome\x20to\x20Ubuntu\x20FTP\x20service\.\r\n")%r(Ge
SF:nericLines,24,"220\x20Welcome\x20to\x20Ubuntu\x20FTP\x20service\.\r\n")
SF:%r(Help,4A,"220\x20Welcome\x20to\x20Ubuntu\x20FTP\x20service\.\r\n530\x
SF:20Please\x20login\x20with\x20USER\x20and\x20PASS\.\r\n")%r(SMBProgNeg,2
SF:4,"220\x20Welcome\x20to\x20Ubuntu\x20FTP\x20service\.\r\n");
Service Info: Hosts: Ubuntu, ubuntu91s.ubuntu91s; OS: Linux
Service detection performed. Please report any incorrect results at http://nmap.org
Nmap done: 1 IP address (1 host up) scanned in 23.66 seconds
Posted by at 10:05 上午 in 未分类
LTS = Long Term Support 长期支持
Ubuntu Server一般支持是3年,LTS的支持是5年。生产环境建议选择相应版本的LTS版本。
Posted by at 9:56 上午 in 未分类
物理卷是由一个磁盘的分区组成,卷组由物理卷组成, 在卷组上就可以创建逻辑分区。
lvm> pvdisplay
--- Physical volume ---
PV Name /dev/sda1
VG Name ubuntu91s
PV Size 19.76 GB / not usable 2.26 MB
Allocatable yes
PE Size (KByte) 4096
Total PE 5057
Free PE 3
Allocated PE 5054
PV UUID iYwM32-zhHi-1i7m-PQWp-jqmk-M1vf-Rnddt8
lvm> vgdisplay
--- Volume group ---
VG Name ubuntu91s
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 19.75 GB
PE Size 4.00 MB
Total PE 5057
Alloc PE / Size 5054 / 19.74 GB
Free PE / Size 3 / 12.00 MB
VG UUID O4caw0-TWWl-H8MY-HemO-l2K3-uel5-71N3QB
lvm> lvdisplay
--- Logical volume ---
LV Name /dev/ubuntu91s/root
VG Name ubuntu91s
LV UUID zViJJc-BfaE-kdpA-dFHa-elFV-qZH7-3CktYo
LV Write Access read/write
LV Status available
# open 1
LV Size 18.88 GB
Current LE 4833
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Name /dev/ubuntu91s/swap_1
VG Name ubuntu91s
LV UUID BE4cUs-tyts-Uq7j-ezCc-uLef-M10B-yGn1DN
LV Write Access read/write
LV Status available
# open 1
LV Size 884.00 MB
Current LE 221
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
Posted by at 11:17 上午 in 未分类
这个接口定义了一个方法:
void update(long pBytesRead,
long pContentLength,
int pItems)
Updates the listeners status information(更新监听器信息).
参数:
pBytesRead - The total number of bytes, which have been read so far(到目前已经读取的字节数).
pContentLength - The total number of bytes, which are being read(总共需读取的字节数,应该是所有文件的大小之和). May be -1, if this number is unknown(如果是-1,说明所有文件的大小是未知的).
pItems - The number of the field, which is currently being read(当前正在读取的文件字段序号,也就是正在读取第几个文件). (0 = no item so far, 1 = first item is being read, ...)
前两个参数很好理解,第三个参数只表明第几个文件的序号,如果想知道这个文件的名称该如何处理呢?
Posted by at 3:17 上午 in 未分类
下载大的文件,离不开下载软件。Windows下免费的下载软件,不是搞大量广告,就是偷偷上载你文件,例如快车的广告和迅雷的无耻。那么你可以尝试一下Sun Download Manager,当前最新版本为2.0,需要安装Java。
http://cn.sun.com/download/sdm/download.jsp
为何流氓软件在我们这片土壤能茁壮成长,那些善良的软件却无人问津呢?
Posted by at 12:39 上午 in 未分类
这个网站提供了大量运行于Sun Solaris系统的开源软件,都是编译好的,可以直接下载安装。
Posted by at 11:39 下午 in 未分类
今日上午10点左右,发现百度也不能访问了!临近虎年,互联网真是不稳定啊!
看了新闻,从7点左右就无法访问了,这么长时间没有解决,问题严重啊,百度处理严重事故的能力也真是问题。
域名解析遭黑客篡改,导致百度无法被访问,这是百度到目前遭受的最严重、时间最长、影响最大的攻击。
Posted by at 10:13 上午 in 未分类
Posted by at 1:59 下午 in 未分类
今天访问Tomcat网站,看到了这个图标,才知道这个大脸猫已经10岁多了。对于JSP开发者,对她基本都有很深厚的感情,她的出现让我们开发JSP网站不在依赖商业WEB服务器。

Posted by at 11:25 上午 in 未分类
JSP空间用户在使用Express版本的SQL Server Management Studio的连接SQL Server 2008时出现此问题,使用企业版的SQL Server Management Studio连接是正常的。
解决问题的原文:http://support.microsoft.com/kb/956214/en-us/
如果满足下列条件,则会出现此问题:
● 您没有管理凭据。 此外,您没有访问某些数据库 SQL Server 2008 中。
● 修改列在数据库文件夹的 对象资源管理器详细信息 页上的列表。 此外,包括以下各列中至少一个:
○ 大小 (MB)
○ 数据空间使用 (KB)
○ 索引空间使用 (KB)
○ 空间可用 (KB)
○ 默认文件组
○ 邮件主机
○ 主文件路径
备注
○ 默认情况下,这些列不在数据库文件夹的 对象资源管理器详细信息 页上可见。 要在 对象资源管理器详细信息 页上查看这些列,用鼠标右键单击列标题,然后单击列。 您没有访问某些数据库时,这些列会导致该问题。
○ 排序规则 列包含在数据库文件夹中显示默认的列。
○ 为数据库启用了 自动关闭 的选项时,排序规则 列会导致该问题。 此外,您没有访问数据库的权限。
要解决此问题,请按照下列步骤操作:
1. 单击 开始 指向 程序 ,指向 Microsoft SQL Server 2008 ,然后依次和 SQL Server Management Studio 。
2. 在 连接到服务器 对话框单击服务器所需在 服务器类型 列表中,服务器中键入名称 服务器名称 框,然后单击 连接 。
3. 在对象资源管理器,单击 数据库 文件夹。
4. 对象资源管理器详细信息 本页右键单击该列标题,然后单击 重置视图 。
请注意 如果 对象资源管理器详细信息 页不可见,按 F 7。 或者,单击在 视图 菜单上的 对象资源管理器详细信息 。
5. 在对象资源管理器,右键单击 数据库 文件夹,然后单击 刷新 。
6. 在 文件 菜单中上, 单击 退出 。
请注意 如果仍然收到在执行步骤 1 到 6 后"症状"部分中提到的该错误消息错误消息可能会造成 排序规则 列。 在这种情况下,请按照下列步骤操作:
1. 单击 开始 指向 程序 ,指向 Microsoft SQL Server 2008 ,然后依次和 SQL Server Management Studio 。
2. 在 连接到服务器 对话框单击服务器所需在 服务器类型 列表中,服务器中键入名称 服务器名称 框,然后单击 连接 。
3. 在对象资源管理器,单击 数据库 文件夹。
4. 对象资源管理器详细信息 本页右键单击该列标题,然后单击以清除 排序规则 复选框。
5. 在对象资源管理器,右键单击 数据库 文件夹,然后单击 刷新 。
6. 在 文件 菜单中上, 单击 退出 。

Posted by at 10:12 上午 in 未分类