网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.typeof 运算符.
.节点包含checkbox的Swing树控件.
.Debian下Mysql实践.
.在JAVA开发中的中文处理问题及解.
.一年Java之路的回顾,反思以及展.
.实例方法与条件执行.
..NET的“无触式”配置:一个新的.
.CSA 现身说法.
.使用Java编写Palm OS程序的.
.为J2ME开发移动3D游戏之立即模式.
.关于分布式cache的几点认识.
.HelloWorld攻略.
.servlet会话介绍.
.用java实现人工智能中的A*算法求.
.如何搭建J2EE开发环境.
.学会怎么用Java Web Start部署应.
.Java变量类型间的相互转换.
.2. Building Model Components.
.Java基础 JSP网站开发环境的目录.
.在intelliJ idea 中使用Courier .

将 Java Web 应用从 Windows 移植到 AIX 时需要注意的问题

发表日期:2008-1-5


2007 年 3 月 26 日

研究您在将 Java? Web 应用程序从 Windows? 移植到 AIX? 时可能会陷入的三个陷阱,并了解如何避免它们。在开发应用程序时,您通常是在开发环境中进行,然后再将它们部署到生产环境。
假如您在 Windows 上进行开发并部署到类 UNIX? 平台,则可能会碰到一些微妙的陷阱。第一个陷阱是在 Windows 和 AIX 中设置不同的行分隔符,第二个陷阱说明了在不同开发环境和操作系统中定位文件的最佳方法,第三个陷阱是套接字通信中的一个常见异常。

引言

现在您通常是在开发环境中开发应用程序,然后再将它们部署到生产环境中。大多数时候,Windows? 是开发平台的理想选择,因为存在如此多强大的集成开发环境(Integrated Development Environment,IDE)可供使用。诸如 UNIX、Linux? 或 AIX? 等类 UNIX? 平台则由于其稳定性而成为理想的生产平台。Java? 被宣称是高度平台无关的编程语言,具有所谓的编写一次,到处运行 特性。在大多数情况下,当在不同平台之间移植时,此特性可以为开发人员节省许多时间。然而,您应该知道一些陷阱 或缺陷,以确保您的应用程序在目标平台中完全按您希望的那样操作。

本文将讨论可能会在移植过程期间陷入的三个陷阱。其中提供了帮助您避免陷阱的信息,以便您安全地享用 Java 编程语言的强大功能。

HTTP 通信问题

HTTP 通信在每种 Web 应用程序中都非常普遍。每当调用某个 Servlet 或 JavaServer Pages (jsp),就会发生 HTTP 通信。虽然 HTTP 协议是平台无关的,但是在不同平台之间通信时需要注重一些非凡的事项。

在本场景中,一个客户端对网关发起一个非凡请求,网关处理该请求,然后向客户端发回一个响应。该客户端使用基于 XML 的专有协议来与网关通信,并且网关仅处理遵守该协议的消息。该协议在 <Name> 和 <Greeting> 这两个 XML 元素之间需要一个换行符。

如清单 1 中的代码所示,该请求的正文添加了一个换行符。但是,服务器是否顺利地处理它并正确地响应呢?视情况而定。这是在跨不同平台移植 Java 应用程序时的一个常见问题。


清单 1. 客户端发出一个 HTTP 请求
				try {  URL url = new URL("http://localhost:9081/SampleWeb/Simulator");  URLConnection conn = url.openConnection();  conn.setDoOutput(true);  conn.setRequestProperty("Content-Type", "application/xml");  OutputStream os = conn.getOutputStream();  PrintWriter writer = new PrintWriter(os);  writer.println("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>");  writer.println("<Name>");  writer.print("<first name>");  writer.print(“Rachel");  writer.println("</first name>");  writer.println("</Name>");  //A line break is required here  writer.println();  writer.println("<Greeting>");  writer.println("Hello!");  writer.println("</Greeting>");  writer.flush();  conn.getInputStream();} catch (MalformedURLException mue) {  System.err.println("error, message =" + mue);} catch (IOException ioe) {  System.err.println("error, message =" + ioe);}

陷阱
该代码在 Windows 上的开发环境中工作得很好,但是在部署到 AIX 上的生产环境中以后,您会惊异地发现网关没有返回任何响应。那么这段似乎正确的代码出了什么问题呢?


上一篇:JAVA应用: 浮点数转化为大写中文金额 人气:757
下一篇:Java序列化的自定义类加载器 人气:867
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐