Java常见问题集锦

来源:互联网 发布:死亡真面目知乎 编辑:程序博客网 时间:2024/05/16 03:17

问: 如何设置java 2(jdk1.2)的环境变量?

答:

java 2安装后,需要设置path和java_home环境变量.与jdk1.1不同的是:设置好java_home环境变量后,jvm将自动搜索系统类库以及用户的当前路径.

java 2环境变量的设置如下例所示:

solaris平台: setenv java_home java2的安装路径

setenv path $java_home/bin:${path}

windows平台: set java_home=java2的安装路径

set path=$java_homebin;%path%

问: 哪些java集成开发工具支持java 2?

答:

目前流行的java集成开发环境,如inprise的jbuilder,symantec的visual cafe, sybase的powerj,都支持java 2.

问: 如果在netscape或ie浏览器中运行java applet时出现了错误,如何确定错误范围?

答:

当java applet在浏览器中运行时,使用的是浏览器本身的缺省jvm.而不同浏览器对jdk的支持程度也不尽相同. 因此,在netscape或ie浏览器中运行java applet出现了错误,建议使用jdk提供的工具appletviewer或sun公司的hotjava浏览器来测试该applet,以确定错误的产生是与浏览器相关.

如果applet在appletviewer或hotjava中运行一切正常,则错误的产生是由于浏览 器不完全兼容jdk而引起的. 此时,解决方法可以是使用hotjava浏览器或者安装 sun公司的java plugin.

如果applet在hotjava浏览器或appletviewer中运行即发生错误,则应当根据错误 提示检查applet程序.

问: 当用jdbc向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码?

答:

这个问题的实现通常与各个jdbc driver的实现有关. 目前大多数jdbc driver采用本地编码格式来传输中文字符,例如中文字符"0x4175"会被转成"0x41"和"0x75"进行传输. 因此我们需要对jdbc driver返回的字符以及要发给jdbc driver的字符进行转换.

当用jdbc driver向数据库中插入数据时,需要先将unicode转成native code; 当 jdbc driver从数据库中查询数据时,则需要将native code转换成unicode. 下面给出了这两种转换的实现:

string native2unicode(string s) {

if (s == null || s.length() == 0) {

return null;

}

byte[] buffer = new byte[s.length()];

for (int i = 0; i s.length(); i++) { if (s.charat(i)>= 0x100) {

c = s.charat(i);

byte []buf = (""+c).getbytes();

buffer[j++] = (char)buf[0];

buffer[j++] = (char)buf[1];

}

else {

buffer[j++] = s.charat(i);

}

}

return new string(buffer, 0, j);

}

除使用以上两个方法之外,有些jdbc driver如果对jdbc driver manager设置了正确 的字符集属性,以上2个方法就不需要了.

问: 当用servlet来处理http请求并产生返回的html页面时,如何使html页面中的中文字符能够正常显示?

答:

javax.servlet.http.httpresponse类用于产生返回页面.通过httpresponse定义的方法getoutputstream()可以获得servletoutputstream的实例,这样用户就可以利用servletoutputstream.write方法向输出流中写入返回页面的内容. 但是servletoutputstream使用的是缺省的编码方式,如果要使返回页面中的中文字 符能够正常显示,最好显示地指定所用的字符编码方式. 通常需要构造一个 outputstreamwriter , 例程如下:

public void doget (httpservletrequest req, httpservletresponse res)

throws servletexception, ioexception

{

res.setcontenttype("text/html");

servletoutputstream out = res.getoutputstream();

outputstreamwriter ow = new outputstreamwriter(out,"gb2312");

ow.write("这是测试");

ow.flush();

ow.close();

}

问: 如何设置java webserver的classpath,以包含用户的class文件?

答: 有两种方法可以设置java webserver的classpath环境变量,以使用户编写的servlet能够调用用户的class文件.

将用户的class文件放到 javawebserver_dir/classes目录下,在java webserver 启动时,classes目录被自动加入到classpath环境变量中了.

修改httpd.nojre文件,将用户class文件所在的路径名加到classpath环境变量中.


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
原创粉丝点击