吧务
level 9
java 概要Java包含了一种计算机编程语言和一个平台。*Java编程语言是一种高级语言。由Sun微系统公司(Sun Macrosystem)发布,并作为一种开放的标准进行提供。*Java平台包括了Java虚拟机和Java应用程序接口(API)。Java将原程序编译成字节码(bytecode),并通过Java虚拟机(JVM)解释字节码的方式来执行。因为这种运行方式,只要针对不同的计算机平台准备相应的Java虚拟机,就可以很方便的实现Java语言的跨平台性。因此,Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。 Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。
2007年06月28日 05点06分
1
吧务
level 9
Java的主要应用有如下几点:*利用浏览器中的Java虚拟机运行于客户端的Applet。*利用本地虚拟机运行的Java应用程序,通常利用Swing或SWT等来编写跨平台的GUI界面系统。*通过编写Servlet/JSP来提供网络服务,运行于网络应用程序服务器中。*利用嵌入式Java虚拟机运行于手机等移动设备的Java应用程序,使用J2ME API。
2007年06月28日 05点06分
2
吧务
level 9
Java的产生Java来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C++,但C++太复杂,安全性差,最后基于C++开发一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而安全的语言,Sun公司曾依此投标一个交互式电视项目,但结果是被SGI打败。可怜的Oak几乎无家可归,恰巧这时MarkArdreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官ScottMcNealy的支持,触发了Java进军Internet。Java的取名也有一个趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。
2007年06月28日 05点06分
3
吧务
level 9
Java平台根据API和使用领域,主要分为三种技术*Java SE (旧称J2SE) - Java Platform, Standard Edition, 定位在客户端,主要用于桌面应用软件的编程*Java EE (旧称J2EE) - Java Platform, Enterprise Edition, 定义在服务器端Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统*Java ME (旧称J2ME) - Java Platform, Micro Edition, 主要应用于嵌入式系统开发,如手机和PDA的编程
2007年06月28日 05点06分
4
吧务
level 9
Java的特色Java从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和多 媒体(Multimedia)相关产品类方面。Java是*是一种软件技术 *是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 *是一种为 Internet发展的计算机语言 *是一种使网页(Web Page)产生生动活泼画面的语言 *是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 *是一种语言,用以产生「小应用程序(Applet(s))」 *是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 *是一种将安全性(Security)列为第一优先考虑的语言 *是一种使用者不需花费很多时间学习的语言 *是一种突破用户端机器环境和CPU结构的语言 *是一种「写一次,即可在任何机器上执行(Write OnceRun Anywhere)」的语言是有史以来,第一套允 使用者将应用程序(Applications)通过Internet从远端的服务器(Remote Server)传输到本地端的机器 上(LocalMachine)并执行 *是一种应用程序提供者不需要知道使用者的计算机硬件(如:Sun, Intel, 或MAC等)与软件(如:SW- UNIX, MAC O/S, Windows, 或NT等)环境的语言(Kestenbaum, 1995)。JavaFX在2007JavaOne会议上,Sun负责软件业务的执行副总裁格林公布了JavaFX Script:一种用于编写能够在支持Java的PC和手机上运行的应用软件的更简单的脚本语言。为了解决手机的兼容性问题JavaFX Mobile是一种面向手机厂商、提高Java应用软件在不同手机间兼容性的软件包。
2007年06月28日 05点06分
5
吧务
level 9
JSP JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
2007年06月28日 05点06分
6
吧务
level 9
1. JSP技术的强势 (1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是现而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
2007年06月28日 05点06分
7
吧务
level 9
2. JSP技术的弱势 (1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
2007年06月28日 05点06分
8
吧务
level 9
servletServlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序。除了 Java Servlet API,Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。Java servlet对于Web服务器就好象Java applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。Java Servlet API 定义了一个servlet 和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。
2007年06月28日 05点06分
10
吧务
level 9
Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范围很广。例如,Servlet 可完成如下功能: (1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML页面。 (2) 创建可嵌入到现有 HTML 页面中的一部分 HTML 页面(HTML 片段)。 (3) 与其它服务器资源(包括数据库和基于 Java 的应用程序)进行通信。 (4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如,Servlet 可 以是多参与者的游戏服务器。 (5) 当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连 接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 IIOP)进行通信。 (6) 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括(SSI)。 (7) 将定制的处理提供给所有服务器的标准例行程序。例如,Servlet 可以修改如何认证用户。
2007年06月28日 05点06分
11
吧务
level 9
Servlet生命周期 装载Servlet。这项操作一般是动态执行的。然而,Server通常会提供一个管理的选项,用于在Server启动时强制装载和初始化特定的Servlet。 Server创建一个Servlet的实例 Server调用Servlet的init()方法 一个客户端的请求到达Server Server创建一个请求对象 Server创建一个响应对象 Server激活Servlet的service()方法,传递请求和响应对象作为参数 service()方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息 service()方法使用响应对象的方法,将响应传回Server,最终到达客户端。service()方法可能激活其它方法以处理请求,如doGet()或doPost()或程序员自己开发的新的方法 对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作为参数传递给它。如此重复以上的循环,但无需再次调用init()方法。一般Servlet只初始化一次 ,当Server不再需要Servlet时(一般当Server关闭时),Server调用Servlet的Destroy()方法。
2007年06月28日 05点06分
12
吧务
level 9
javaBeanJavaBean 概述JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBeans 通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 属性。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
2007年06月28日 05点06分
13
吧务
level 9
JavaBean 的发展最初,JavaBean的目的是为了将可以重复使用的软件代码打包标准。特别是用与帮助厂家开发在综合开发环境(IDE)下使用的java软件部件。这些包括如Grid控件,用户可以将该部件拖放到开发环境中。从此,JavaBean就可以扩展为一个java web 应用的标准部件,并且JavaBean部件框架已经扩展为企业版的 Bean(EJB)。
2007年06月28日 05点06分
14
吧务
level 9
JavaBean需求JavaBean是java类,属于某些特定的译码知道方针,并且扩展了适应性和范围,允许用户访问内部的属性和方法。通过这些,JavaBean类可以用于下列方法:1. 在IDE中,JavaBean的功能允许应用开发者浏览其中的方法,即使JavaBean是被编译的,并且无法利用原始的源文件。2. 在 Remote Method Invocation(RMI) 的分布式风格中,这项功能听起来并不让人兴奋,但是在未来的包含企业版的JavaBean后,将改变这种情况。3. 为了JavaBean的属性值和状态可以保存到磁盘上。这里说的有些简单,如果想了解更多的东西,可以查阅一些资料。
2007年06月28日 05点06分
15
吧务
level 9
JavaBean设计注意事项实际应用中,在表现对象或者处理前扩展JavaBean的设计非常有用。通常认为如果提供信息,web开发者将在功能上满足拥护对JavaBean的需求。例如: HTML中显示敏感的数据时,用户可以屏蔽的条目,如密码、电话号码等。良好规划设计的JavaBean是值得信赖的。Java 中的 null 不同于 SQL 中的 null看这样一道测试程序:public class NullTest{public static void main(String[] args){int I = 0;// int I = null; // not a valid initialization String str = null;String strZeroOutValue = “”;StringBuffer sb = new StringBuffer(“Null test: String initialized as null = “);sb.append(str);sb.append(“\n String representing a Zero Out Value:”);sb.append(strZeroOutValue);System.out.println(sb.toString());}}这个程序将产生下面的结果:Null test: String initialized as null = nullString representing a Zero Out Value:在JavaBean中, 我们将 I 变量声明为一个 int, 我们必须处理与该变量相关的值,因为I 默认的没有值,int 类型无法初始化为 null, 如果int 值没有进行明确的初始化,编译器将提示错误。 执行 NullTest 程序,将验证在文本中空字符串是空值的替代,用于显示 SQL 的插入和更新。如果我们需要删除一些信息,通过删除表单区域的文本,需要将数据库发送长度为0的字符串。尽管大多数数据库将空字符串作为空值进行操作,如果我们使用的数据库不支持处理空字符串的话,我们必须写入附加的java代码,来创建自己的SQL插入声明。例如:if(test.length==0){sb.append(“null”);}else{sb.append(test);}
2007年06月28日 05点06分
16
吧务
level 9
JavaBean 的范围:JavaBean 的范围。 Scope 是一个具有生命时间的变量。JavaBean的范围在
标志中右边进行表示。将产生一个JavaBean的快捷参考。说明:jsp服务器引擎将剥离
2007年06月28日 05点06分
17
吧务
level 9
对话范围:对话范围的JavaBean 主要应用与跨多个页面和时间段: 例如填充 用户信息。 添加信息并且接受回馈,保存用户最近执行页面的轨迹。对话范围JavaBean保留一些和用户对话 ID 相关的信息。这些信息来自临时的对话cookie,并在当用户关闭浏览器时,这个cookie将从客户端和服务器删除。页面/请求范围:页面和请求范围的JavaBean有时类似表单 的bean , 这是因为 他们大豆用与处理表单。表单需要很长的时间来处理用户的输入,通常情况下用于页面接受HTTP/POST或者GET请求。另外页面和请求范围的bean可以用于减少大型站点服务器上的负载,如果使用对话bean,耽搁的处理就可能会消耗掉很多资源。应用: 应用范围通常应用于服务器的部件,例如 JDBC 连接池、应用监视、拥护计数和其他参与用户行为的类。在Bean中限制HTML的产生:理论上,JavaBean 将不会产生任何HTML,因为这是jsp层负责的工作;然而,为了动态消息提供一些预先准备的格式是非常有用的。产生的HTML将被标注的 JavaBean方法返回。这里有一些非常重要的事情:1. 不要试图在JavaBean返回的HTML中放置任何字体尺寸。并不是所有的浏览器都相同。很多浏览器无法处理完整的字体尺寸。 2. 不要试图在JavaBean返回的HTML中放置任何脚本或者DHTML。向页面直接输出脚本或者DHTML相当于自我毁灭,因为某些浏览器版本在处理不
正确的
脚本时会崩溃(非常少但是有)。如果用户的JavaBean在运行时是动态的推出复杂的HTML语言,用户将陷入调试的噩梦。另外,复杂的HTML将限制JavaBean的寿命和灵活性。3. 不要提供任何的选择。如果用户使用不同的系统浏览页面,可以提供一种可以替换的方法。
2007年06月28日 05点06分
18
吧务
level 9
StructsStruts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。 Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。 就是说可将两者一起使用,达到将两者自身的特点进行互补。
2007年06月28日 05点06分
19
吧务
level 9
缺点: Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。 Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。 Struts从产生到现在还不到半年,但已逐步越来越多运用于商业软件。虽然它现在还有不少缺点,但它是一种非常优秀的J2EE MVC实现方式,如果你的系统准备采用J2EE MVC架构,那么,不妨考虑一下Struts。
2007年06月28日 05点06分
21
吧务
level 9
HibernateHibernate 是一个面向Java环境的对象/关系数据库映射工具。用来把对象模型表示的对象映射到基于SQL 的关系模型结构中去。Hibernate 不仅仅管理Java 类到数据库表的映射,还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL 和JDBC 处理数据的时间。Hibernate 的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的95%。
2007年06月28日 05点06分
22