• 2006-02-07

    按“下一步”按钮?

    Views: 10381 | 3 Comments

    我的一个计算机系同学,他的“人性化的”盗版Windows XP因为停电不能启动了(并不多见)。他不会安装,于是找我。叮嘱只格C盘

    我说,你把盗版安装盘放进去就安装了,这个地球人都知道啊?我去他那的时候,发现他确实已经把安装盘放进去了,只是不知道怎么从光盘启动!

    好吧,我帮他从光盘启动。各位还记得吧,在出现中文之前,不是有一段英文说类似“要安装第三方scsi驱动请按F6”吗?他问:怎么办?我说等。

    然后问是否同意许可证。他问:怎么办?我就按F8同意,注意,不是Enter同意,人性化不是应该Enter同意吗?为什么要F8呢?

    然后扫描安装过的Windows,找到了。电脑提示让你选择“全新安装/恢复/**(忘了)”,不过是英文界面。他问:怎么办?我就选择了全新安装。

    然后找到3个分区,自动选择了C盘。电脑用中文问类似(有人想,终于用中文了):

    1. 在所选择的分区上安装按Enter
    2. 在剩余安装上安装按L(好像是)
    3. ***

    我指着3个“人性化的中文汉化的不是乱码的中文选项”问他:选哪个?

    他说:要只格C盘。我故意等了一会,他又说:嗯,嗯,选第二个吧,啊?

    我说:当然选择第一个了。我就按了Enter。

    电脑搜索到了以前的XP,用“中文”问要安装在C:/Windows还是在新的文件夹下安装?还警告他说“我的文档”将被删除!

    他问:“我的文档”将被删除?我只格C盘就行了。我双击“我的电脑”,“我的文档”不是不在C盘下面吗?怎么回事?

    我知道“我的文档”其实就在他的C盘下,不过我不知道怎么不删除它,就请他同意按了Enter。

    然后电脑用“中文”问我们两个人一共好像7个选项(类似):

    1. 使用FAT32分区
    2. 使用FAT32分区(快速)
    3. 使用NTFS分区
    4. 使用NTFS分区(快速)
    5. ....
    6. ....
    7. 保留原来的分区格式(默认)

    那么,我就按Enter了。然后等他复制安装程序了。

    我说:我先回去,它会“人性化的自动的”安装。但是,过了半个钟头后他来找我了。我过去看,发现又启动到了安装程序。我问:是不是你按了什么键?他说没有啊。我说:不会吧?

    等到BIOS提示按任意键从光盘引导时我问:你是不是在这里按了?他说:是啊?

    原来,开始时他不知道在这时候按任意键以便从光盘引导,这时,他又自作主张地按了。原来,他并不知道“人性化的傻瓜分的”Windows XP的安装程序必须启动一次再安装啊?他问:刚才那*%是什么意思啊,它在复制什么啊?我说,那是安装程序。他问:安装程序什么啊?

    看到“华丽的人性化的安装界面”提示还有36分钟,我说我先回去了,你等等就好了。

    半个钟头之后我过去了,还有14分钟?不过一转眼,就剩下2分钟了!然后是安装补丁(因为这是盗版盘,为用户着想),用“中文”提示:在安装修复程序 “88587***程序”(类似)。他问:修复程序是什么啊?我说:是补丁程序。他问:补丁程序是干什么用的?我说:就是补丁啊,修复用的----微软不是经常出补丁吗?。他大悟:就是程序什么,修复什么么么的......

    还有选项是安装媒体播放器,解码器,插件,Flash Player,****

    我说,你等等,它自动安装好,我先回去了。

    20分钟后他来找我。他问:它要输入ISP什么么么的?我说:你没有联网就不用管它好了。他问:那就直接按下一步?

    ************************************************************

    这件事说明了什么?说明了Windows对于不会的人就是那么回事。不会的人,把程序界面翻译成甲骨文你也不会知道应该选择哪一个选项,就算是只有2个选项!

    Posted by ideawu at 2006-02-07 19:54:07
  • 2006-01-29

    英语对于编程重要吗?

    Views: 11874 | 5 Comments

    有些人问:英语对于编程重要吗?那你就看看下面的例子就知道了:

    6d61696e(){
    	7072696e7466("你好啊,世界!");
    }
    

    好吧,这是一个C语言Hello world! 但它不能用TC或者BC等编绎器编绎----会出错。为了能把它编绎,你再请一个“用英语”编程的人帮你编个程序,将上面的程序转为TC和BC可以认识的源代码。转换过程很简单,因为在ASCII码中,m=6d, a=61, n=6e, p=70, r=72, i=69, t=74, f=66, 以上都是十六进制数值。

    这种“程序”,就算你不会英语也会编出来吧?就算你不会英语也不会妨碍你成为高手吧?因为所有人都能轻易学会0-9和a-e。

    我曾经看到有人用中文“编写”C语言程序----把main换为“主函数”,把int换为“整型”,把printf换为“打印”......,就是:

    主函数(){
    	打印("你好啊,世界!");
    }
    

    我认为这种方法不比我的方法好,因为别人还得学习汉字。我的方法即使是中文文盲也能很容易学习。

    我的意思是,中文编程不是简单的将英文单词“一一对应”地翻译为中文名词就行了,而应该是发明出一种符合“汉语思维”的编程方法。这种“一一对应”的中文编程只不过是一种无聊的作法。在各种编程语言的函数库和类库中,都是以英文词汇(或者26个英文字母,数字,下划线的组合)命名,当然你也可以把它们全都翻译为表示中文意思的中文词汇,或者按照我所说的方法翻译,然后就可以“使用中文(或者不使用英语)编程”了,可是,这有什么意义?

    所以,结论是:英语对编程很重要。

    Posted by ideawu at 2006-01-29 18:18:56
  • 2006-01-23

    idea’s web正式成形了!

    Views: 13166 | 4 Comments

    大家好!

    我的个人网站正式成形了,名字就叫做 idea's web . 我的网站将主要涉及Linux,Java/Jsp,HTML/CSS方面的内容。我将尽自己最大的努力学习这几个方面的知识,然后和大家一起分享我的经验。我和我的网站的目标是创造出独一无二的并且是十分优秀的技术。这当然很困难。所以当前我的主要目的是学习世界上最先进的技术。当从别人身上获得到了足够的知识之后,或者在学习别人的过程中,我们自己就能够创造了。

    我使用GNU/Linux,不仅仅因为它几乎是免费的,更因为它总是给我一种自由和创造的精神。当你想解决一个问题的时候,它就会提示你:使用别人的源代码,或者你自己编写出一套。就好像告诉你自己编写一个画点的函数,然后操纵这个画点的函数画出所有你想要的图形来。一切总是可以从头开始,这样真让人激动。但是,你不是一个人。你有别人奉献的源代码,也就是你不用担心你解决不了问题。

    如果你认为从头编写每一个基本的函数----即使这些函数已经被人写出了,而且比你自己的效率更高----是一种乐趣的话,你就是我的伙伴。当然,我们并不需要拒绝所有别人的东西,我们会在合适的时候选择使用乐于奉献的人给予的代码。这些人来自开源社区。

    当我写出的代码能够解决某些问题的时候,我会尽快地把代码公开。让我的朋友分享我的喜悦。

    对于Linux,我们应该让更多的人知道它。现在问题不是Linux是否易用,对中文支持是否足够好的问题了,而是人们总是习惯于排斥新事物的问题。解决这个问题,一方面我们要尽量发掘Linux的功能,利用Linux创造出更加明显的成就;另一方面我们要将自己使用Linux的经验分享给别人,特别是对于那些十分想接触Linux并且认为使用盗版Windows是一种耻辱的人,我们要帮助他们。使用Linux的人可以分为两类,一类是普通用户,使用Linux就是在使用电脑;另一类是技术的追求者。普通用户是我们的朋友,而追求者是我们的工作伙伴。我们应该为了解决朋友的问题而同伙伴一起创造新技术。

    对于Java,我只是刚刚接触。我所听到的人们对Java抱怨最多的问题是Java的速度问题。但是,因为硬件的发展,Java的速度将不是一个过多考虑的问题。当人们还在上网的,Java的速度就符合要求。

    对于HTML/CSS,你可能奇怪我为什么会将它列为自己网站的重要方面。因为我在使用HTML/CSS的过程中,发现它是一种非常完美的文档格式。它完全可以替代MS的DOC和PPT文档还有Adobe的PDF,也就是我认为它可以成为最主要应用最广泛的文档格式。在后来,我们会随技术的发展一起过渡到XML,或者XML只是我们使用的一部分。我有一个不成熟的想法,就是使用HTML/CSS作为应用程序的前端,负责产生界面和指令,后端使用Apache,Tomcat等服务器加上Mysql等数据库。这样看来在某些商务应用是可行的。现今,Firefox对HTML的支持已经可以轻易的做出菜单等传统程序的控件,加上JavaScript已经能做出简单的Drag and Drop功能。也许我们并不使用一个完整的浏览器,我们只是使用浏览器的内核以及内核的一部分特性。HTML/CSS的编写是简单的。

    事情总是在发展中...... 一直努力!

    Posted by ideawu at 2006-01-23 20:40:46
  • 2006-01-22

    Linux下安装和设置Tomcat,解决JSP中文乱码

    Views: 18956 | No Comments

    我假设你使用Debian3,如果你使用其他的Linux版,可能会有安装方法和设置路径上的区别。

    1,安装J2SDK

    1.1 使用Debian源里的安装包

    以root 身份运行apt-get install sun-j2sdk1.4,这样将安装sun的j2sdk1.4。然后输入java如果你看到的不是command not found,就表示你已经安装正确了。否则搜索是否有java和javac两个文件,我的在/usr/lib/j2sdk1.4-sun/bin下,如果有就创建链接到/usr/bin下,连接名与原文件名一样。

    1.2 使用sun网站上的安装包

    具体方法参考sun网站上的安装说明。也可以参考我的做法(图形界面操作):

    下载正确的压缩包后解压,一般得到类似名为jdk1.x.x的文件夹。将整个文件夹移动到/usr/lib目录下,然后进入jdk.1.x.x/bin下的java, javac, javadoc, jar四个可执行文件创建链接,然后复制到/usr/bin文件夹下,并且改名为与原文件相同。这样做的原因是一般/usr/bin是$PATH环境变量的一部分,以后你想运行javac命令编绎一个.java源文件时,只需要输入javac filename就行了,而不需要输入javac文件所在的完整路径。

    JAVA_HOME环境变量可以不设置,因为据我的使用经验,java,javac等jdk的程序知道在哪里找到自己的家。当某个程序需要JAVA_HOME环境变量,我们再在它的启动脚本中设置。因为使用JAVA_HOME环境变量的程序很少。

    2,安装Tomcat

    从http://tomcat.apache.org/网站上下载tomcat for Linux。网站上有不同版本的源码包和二进制包等,而二进制包又有core,deployer,embedded三种。我使用tomcat5.28二进制包中的core。

    下载jakarta-tomcat-5.0.28.tar.gz解压,将得到jakarta-tomcat-5.0.28文件夹,我把它改名为tomcat5,把它拷贝到你喜欢的地方。我放在/usr/share/下。

    2.1 试运行tomcat

    在终端中输入/usr/share/tomcat5/bin/startup.sh,将启动tomcat。然后你在浏览器中输入http://localhost:8080或者http://127.0.0.1:8080你就看到tomcat产生的页面了。

    运行/usr/share/tomcat5/bin/startup.sh出错?试运行:

    JAVA_HOME=/usr/lib/j2sdk1.4_sun #这里的路径是你的j2sdk的安装路径
    export JAVA_HOME
    /usr/share/tomcat5/bin/startup.sh
    

    2.2 将tomcat设置为开机启动

    有两个方法,1是使用tomcat自带的启动脚本启动,2是使用jsvc将tomcat启动为Linux的一个进程。

    2.2.1 使用Tomcat自带的启动脚本

    建立一个脚本命名为tomcat5.sh,内容为:

    #!/bin/sh
    #file:tomcat5.sh
    #设置环境变量,如果无法启动就将注释去掉
    #JAVA_HOME=/usr/lib/j2sdk1.4-sun
    #CATALINA_HOME=/usr/share/tomcat5
    #CLASSPATH=\
    #$JAVA_HOME/lib/tools.jar:\
    #$CATALINA_HOME/bin/commons-daemon.jar:\
    #$CATALINA_HOME/bin/bootstrap.jar
    case "$1" in
     start)
       echo "Starting tomcat5..."
       /usr/tomcat5/bin/startup.sh
       ;;
     stop)
       echo "Stopping tomcat5..."
       /usr/tomcat5/bin/shutdown.sh
       ;;
     *)
       echo "Usage tomcat.sh start/stop"
       exit 1;;
    esac
    #tomcat5.sh end
    

    将tomcat5.sh 拷贝到/etc/init.d下面。然后运行/usr/bin/ksysv运行图形界面的开机启动设置工具。将Available Services栏里的tomcat5.sh拖到Runlever 2 Start,Runlever 3 Start,Runlever 4 Start,Runlever 5 Start,Runlever 6 Start,Runlever 0 Stop,Runlever 1 Stop,Runlever 6 Stop,你可能需要注意图标的位置,我将图标拖到每一栏的启动项目标号是90的位置。

    或者你在终端里运行:

    ln -s /etc/init.d/tomcat5.sh /etc/rc0.d/K90tomcat5.sh
    ln -s /etc/init.d/tomcat5.sh /etc/rc1.d/K90tomcat5.sh
    ln -s /etc/init.d/tomcat5.sh /etc/rc2.d/S90tomcat5.sh
    ln -s /etc/init.d/tomcat5.sh /etc/rc3.d/S90tomcat5.sh
    ln -s /etc/init.d/tomcat5.sh /etc/rc4.d/S90tomcat5.sh
    ln -s /etc/init.d/tomcat5.sh /etc/rc5.d/S90tomcat5.sh
    ln -s /etc/init.d/tomcat5.sh /etc/rc6.d/K95tomcat5.sh
    

    重启机器看tomcat是否可以自动启动了。

    2.2.2 使用jsvc,增加安全性

    方法2.2.1有一个严重的问题,那就是tomcat具有root权限。我意味着你的任何一个jsp脚本都具有root权限,所以可以轻易地用jsp脚本删除你整个硬盘里的东西!所以我们最好不要使用2.2.1方法。

    我们下载的jakarta-tomcat-5.0.28.tar.gz带有jsvc工具,在压缩包里的jakarta-tomcat-5.0.28/bin/jsvc.tar.gz,如果你按上面的步骤做了,它就在/usr/share/tomcat5/bin/jsvc.tar.gz,将其解压,得到/usr/share/tomcat5/bin/jsvc-src文件夹。在终端运行:

    /usr/share/tomcat5/bin/jsvc-src/configure --with-java=/usr/lib/j2sdk1.4-sun

    make

    得到/usr/share/tomcat5/bin/jsvc-src/jsvc文件。将/usr/share/tomcat5/bin/jsvc-src/native/tomcat5.sh脚本文件拷贝到/etc/init.d下,再使用2.2.1中的的半部分方法将tomcat设置为自启动。

    /etc/init.d/tomcat5.sh还需要修改,使其看起来像:

    JAVA_HOME=/usr/lib/j2sdk1.4-sun
    CATALINA_HOME=/usr/share/tomcat5
    DAEMON_HOME=/usr/share/tomcat5
    TOMCAT_USER=tomcat5 #这里改为一个普通身份的用户名
    TMP_DIR=/var/tmp
    CATALINA_OPTS=
    CLASSPATH=\
    $JAVA_HOME/lib/tools.jar:\
    $CATALINA_HOME/bin/commons-daemon.jar:\
    $CATALINA_HOME/bin/bootstrap.jar
    case "$1" in
     start)
       #
       # Start Tomcat
       #
       $DAEMON_HOME/bin/jsvc-src/jsvc \
    ......
    

    先不要重启试验,请手动运行/etc/init.d/tomcat5.sh start,然后在浏览器中输入http://localhost:8080或者http://127.0.0.1:8080看tomcat是否能够启动,再运行/etc/init.d/tomcat5.sh stop看是否能停止。

    问题:无法用jsvc启动tomcat?

    在http://jakarta.apache.org/commons/daemon/faq.html有说明。如果你使用Debian,运行modconf然后将/kernel/security下的capability模块安装上。如果你使用其它的版本,并且把capability编绎为模块,请在/etc/init.d/tomcat5.sh的合适位置(你想使用第2行?)加上modprobe capability。

    3,设置tomcat的server.xml布署网站

    如果你想让别人在浏览器中输入你的IP而不需要在IP后面加上“:端口号”就能访问你的网站的话,请将

    <Connector port="8080"
    	maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    	enableLookups="false" redirectPort="8443" acceptCount="100"
    	debug="0" connectionTimeout="20000"
    	disableUploadTimeout="true" />
    

    中的port="8080"改为port="80",因为80是浏览器请求的默认端口。找到

    <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" 
    	xmlValidation="false" xmlNamespaceAware="false">
    </Host>
    

    修改为使appBase="/home/tomcatweb"。并在其后面加上:

    <Context path="" docBase="/home/tomcatweb" reloadable="true"></Context>
    

    把你自己的index.jsp放在/home/tomcatweb目录下,然后在浏览器中输入http://127.0.0.1,你应该就能看到index.jsp的运行结果了。

    4,中文问题

    tomcat并没有特殊的中文问题。而且大部分情况下的中文问题是因为用户根本就不会写JSP代码,甚至不会写HTML代码。

    4.1 简单HTML文件的乱码问题

    一个HTML文件,里面包含有中文文字,如:

    <html>
    <head>
    	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    </head>
    你好。
    </html>
    
    

    上面的标签告诉浏览器你的HTML文件使用的是UTF-8编码格式。请将UTF-8正确地设置为你的文本编辑器保存时的编码,否则,只有全英文HTML源码文件才能保证不出现乱码。

    4.2 简单的JSP文件的乱码问题

    一个JSP文件,里面包含有中文文字,如:

    <%@ page contentType="text/html; charset=UTF-8" %>
    <html>
    
    <head>
    	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    </head>
    <%
    	out.println("你好。");
    %>
    </html>
    

    <%@ page contentType="text/html; charset=UTF-8" %>标签告诉tomcat和java编绎器你的文件的编码是UTF-8格式的。

    4.3 被包含的文件的内容是乱码

    如果你的parent.jsp文件中使用<jsp:include page="child.jsp" >文件包含了child.jsp,请在parent.jsp和child.jsp文件中都指定了正确的<%@ page contentType="text/html; charset=UTF-8" %>(改UTF-8为正确的编码),两者可以不一样。

    如果你的parent.jsp文件中使用<%@ include file="child.jsp" %>文件包含了child.jsp,请保证parent.jsp和child.jsp是相同的编码,并且在parent.jsp中设置了正确的<%@ page contentType="text/html; charset=UTF-8" %>(改UTF-8为正确的编码)。不要在child.jsp中设置<%@ page contentType="text/html; charset=UTF-8" %>,否则,tomcat会出错(不总是)。

    更新, 在Tomcat5.5中测试, 在child.jsp中必须设置<%@ page contentType="text/html; charset=UTF-8" %>, 两者的编码必须相同.

     

    4.4 POST方法的乱码

    在request.getParameter();之前运行request.setCharacterEncoding("UTF-8");,其中UTF-8是你的提交页面的文件编码。

    4.5 使用javaIO读取的文件是乱码

    请重写你的函数,而不是试图更改tomcat的设置。

    原标题为:建造Linux开发环境----Tomcat,JSP

    Posted by ideawu at 2006-01-22 16:20:16
  • 2006-01-21

    请使用Linux

    Views: 10644 | 3 Comments

    “Linux怎么不能玩这个或者那个游戏?这可真是让人遗憾。如果Linux下面能够运行那个我喜欢的游戏的话,我就考虑试用一下Linux。”好吧,Linux确实不能运行那个他喜欢的只能在Windows下运行的游戏。但是,电脑不是游戏机,大部分的人使用电脑的目的是工作和学习。

    在我转向Linux平台之前,Counter-Strike是我最喜欢的游戏之一。而且在我拥有自己的电脑之前,几乎每个星期我都会到网吧玩上几回,每一回都是3个小时左右。但是,当我购买了自己的电脑的时候,我意识到自己是为了学习计算机科学和学习编程才买的。于是,在短暂的使用盗版Windows(像99%的中国个人电脑用户一样)之后,我立即安装上了Linux。

    我安装的第一个Linux版本是RedHat9,现在来说并不是一个好的版本,原因是它已经显得太旧了,它使用的是2.4的内核,对很多新硬件都不支持。大约两个月后,我安装上了Debian3--新的2.6内核。我从学校的服务器上以2M每秒的速度下载了它的ISO镜像。因为有以前安装过RH9的经验,而且电脑里仍然有GRUB,所以,我的安装是完全顺利的--它甚至认出了我的ATI9550显卡,并且默认设置屏幕分辨率为1024*768,这真是太好了!重启两次之后,我就进入了一个漂亮的桌面环境GNOME。

    你想知道它已经能干什么了吗?我双击一个MP3文件,它就能播放了(Noatun)。然后我放入一个DVD,也能播放(Noatun)。然后,我双击一个C语言源代码,系统就使用一个具有漂亮语法着色功能的文本编辑器把它把打开在屏幕上(Gedit/Kwrite)。在Windows系统下,为了找一个具有语法着色功能的文本编辑器,我只能冒着违反法律的危险从网上下载一个带有破解注册码的盗版软件。这可真是丢人,如果你已经习惯于重复此类事情,那就另当别论了。

    是的,我遇到了一点麻烦--这时候,Xwindow桌面环境还不能显示中文文字,也不能输入中文。出现这种问题的原因是因为同很多的Linux发行版一样,Debian是针对国际的,并没有像某些商业操作系统一样针对特定的国家和地区增减软件包。当然,如果你愿意支付少量的金钱给别人的时间,就会有人为你弄好这些--这和正版Windows不一样,因为你可以选择不支付任何金钱而是自己来做。相反,无论你是一个使用Windows多少年有多少重装系统经验的用户,Windows对于你来说都没有选择,Windows的定价就是在那里了。这当然也和盗版Windows不一样!无论你如何地认为使用盗版Windows是理所当然的和拥有几百亿身家的比尔盖茨不应该和你的3元钱的盗版Windows纠缠,事实是,你正在违反中国的法律和正在背负不道德的包裹。

    我解决以上两个问题只需要简单地花费几分钟时间安装字体(ttf-arphic-uming)和输入法(fcitx)。

    忘了跟你说了,我安装的时候选择了Apache这个占据全球服务器市场60%份额的服务器软件,所以我的朋友可以通过在浏览器中输入我的IP地址来访问我的个人网站,再加上PHP模块,我把我的网站建成动态的了。之后,我申请了一个国际域名www.ideawu.net,这样,我的朋友就可以通过在浏览器中输入www.ideawu.net来访问我的网站。你不试一下吗?不过请在每天的06:30--22:30的时候访问,因为我的寝室只有在这段时间才给电。

    Posted by ideawu at 2006-01-21 21:40:21
  • 2006-01-18

    自架设Apache服务器过程中的网页乱码问题

    Views: 17584 | No Comments

    现在,很多人都拥有自己的电脑,并且通过固定的IP连接到互联网。于是,他们开始在自己的电脑上架设服务器。

    在自己的电脑上架设服务器,无论你使用Linux还是Windows,都是非常简单的。这里我只介绍Apache+PHP和Tomcat在使用过程中的问题网页乱码问题。

    对于Windows系统Apache和Tomcat的安装,只需要下载安装程序就能使用了。但是,恼人的中文问题出现了:网页的中文全是乱码。用户上网搜索之后,可能得到“需要更改default_charset”为gb2312的信息。这是非常愚蠢的做法,如果你这样做了,你的网页只能使用gb2312编码或者它的子集。所以这种方法成功率非常低。于是有的人得出结论: Apache和Tomcat等都是外国人做的,所以对中文支持不好。完全的胡说。

    对于Apache,请把配置文件中的AddDefaultCharset ISO-8859-1(如果默认安装后有的话) 改成 AddDefaultCharset off,而Tomcat默认安装。

    然后在你写网页的时候,在<head>与</head>标签之间加上<meta http-equiv="content-type" content="text/html; charset=? />其中问号是你的HTML/PHP/JSP源文件的编码格式。我曾经遇到过一个人,因为别人举例时用gb2312代替了?,所以他也照抄gb2312,而事实上,他的文件是使用UTF-8编码格式存储的!他提出问题的时候,开始说Apache和PHP的问题,后来又说是文本编辑器的问题(为什么不把编码存为gb2312?)。对于这种人,我只能说,问题在于他连基本的 HTML文件都不会写!还有的人,根本就没有在HTML/PHP/JSP文件中加上声明编码的<meta />标签。

    当然,问题还有很多。因为能力和时间关系,我就不多说了。如果你有什么建议,可能留下评论。

    Posted by ideawu at 2006-01-18 11:52:49 Tags:
|<<<130131132133134135136137138>>>| 134/138 Pages, 825 Results.