正在阅读:编程必备经典:Java常见问题集锦编程必备经典:Java常见问题集锦

2004-10-28 18:17 出处:CSDN 作者:okdiy 责任编辑:linjixiong

  除使用以上两个方法之外,有些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环境变量中. 

  问: 
  为什么在Windows平台上用Naming.lookup来获取远程RMI对象时会很慢? 

  答: 
  机器的网络设置不正确很可能会引起该问题的发生. 
  RMI使用了Java网络类,特别是java.net.InetAddress类,它将查询TCP/IP的主机名, 包括IP地址到主机名的映射和主机名到IP地址的映射.在Windows平台,这种查询功能 是由本地的Windows Socket库来实现的. 因此延时是发生在Windows库中,而非RMI中. 

  如果你的机器设置成使用DNS,问题通常是DNS服务器查不到主机名,你所发现的延时 是DNS查询的延时. 请尝试将RMI通信中涉及到的所有主机名/IP地址加到本地文件 winntsystem32driversetchosts或windowshosts中. 格式如下: 

  IP地址 主机名 

  如此设置应当可以明显地减少查询所花的时间. 


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品