﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-甘先生Blog-文章分类-JavaEE</title><link>http://www.blogjava.net/gump/category/5130.html</link><description>生活就像一盒巧克力，你永远不知道你会得到什么</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 11:54:07 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 11:54:07 GMT</pubDate><ttl>60</ttl><item><title>(转)经典的JBOSS入门文章</title><link>http://www.blogjava.net/gump/articles/40283.html</link><dc:creator>甘先生</dc:creator><author>甘先生</author><pubDate>Mon, 10 Apr 2006 09:38:00 GMT</pubDate><guid>http://www.blogjava.net/gump/articles/40283.html</guid><wfw:comment>http://www.blogjava.net/gump/comments/40283.html</wfw:comment><comments>http://www.blogjava.net/gump/articles/40283.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/gump/comments/commentRss/40283.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gump/services/trackbacks/40283.html</trackback:ping><description><![CDATA[前言<br /><br />　　本文是为想在JBOSS环境下进行EJB开发的读者而写的，在阅读本文之前，你最好对EJB有一个基本了解。<br /><br />　　JBOSS是一个开放源码的免费EJB服务器，它实现了其它J2EE所规定的大多数功能，现在sun公司已经把JBOSS作为J2EE1.4的标准实现服务器了，本文就带领大家从Jboss3.2.6的安装开始，一直到开发出一个完整的”hello,world”的ejb为止。 <br /><br />　　JBOSS的安装与启动<br /><br />　　如果你是第一次使用JBOSS，你一定会感到很沮丧，因为它虽然是开放源码，并可以免费下载，但是它的文档或技术培训却是收费的，而且对于国人来说高不可及（几天的培训大约要10000美元，文档也要几十至几百美一份）！如果你试图在网上找一些关于JBOSS下简单入门的文章，可只是那么寥寥可数的几篇，而且很少有菜鸟级的文章。相反，对其核心设计等高深理论性的文章倒是居多，这样反倒让你越看越糊涂。因此，本文的目的就是：让你的JBOSS尽快地跑起来，并马上可以在其之上开发出简单的EJB！<br /><br />　　在安装JBOSS之前，首先要确定你已经安装了jdk1.3或以上版本，由于JBOSS不像weblogic等其它应用服务器捆绑了JDK，因此JBOSS非要jdk的支持才能运行。然后在 <a href="http://www.jboss.org网站上下载一个jboss的发行版(我下载的是jboss-3.2.6.zip)，在本文中我使用的其稳定的发行版jboss3.2.6　（集成了tomcat4.1），需要附带一句的是tomcat是apache基金会旗下著名的开源jsp/servlet服务器，如果要更多的了解tomcat，请访问http://jakarta.apache.org" target="_blank"><font color="#000000">http://www.jboss.org网站上下载一个jboss的发行版(我下载的是jboss-3.2.6.zip)，在本文中我使用的其稳定的发行版JBOSS3.2.6　（集成了tomcat4.1），需要附带一句的是tomcat是apache基金会旗下著名的开源jsp/servlet服务器，如果要更多的了解tomcat，请访问http://jakarta.apache.org</font></a> 以获得更详细的信息。<br /><br />　　当你把jboss-3.2.6.zip下载之后，下一步就是将它解压缩，如果你是在windows上，可以用winzip或winrar；如果是在linux下，就用unzip命令，以我自己为例，假设我将它解压到了如下目录<br /><br />c:\ jboss-3.2.6<br /><br />　　相对于weblogic，websphere等j2ee服务器来说，JBOSS的启动是简单得出乎意料，如果你是windows用户，只需要进入c:\ jboss-3.2.6\bin下面，输入run.bat命令，JBOSS就跑起来啦；如果是linux用户的话，只需要进入c:\ jboss-3.2.6\bin下面，输入run.sh，那么JBOSS也同样运行。怎么样？是挺简单的吧？<br />当你输入run.bat或run.sh后，你会发现屏幕上会不断地滚动一些提示信息，过大约1分钟之后（依赖于你机器的配置，我的是P4 1.7G，128M），提示信息就会停止滚动。（注意：如果你是在windows下，那么请让这个DOS窗口一直保持这种状态，千万不可将其中止！）等到它自己停止。<br />这样，JBOSS就已经处于运行状态了。和其它J2EE服务器一样，JBOSS也提供了一个WEB方式控制台，使用方法是在IE浏览器中输入http://127.0.0.1:8080/web-console/，看见欢迎界面，就成功了。<br />编写第一个EJB：”hello,world”<br /><br />　　下面我们正式开始EJB编程。在编写我们的第一个EJB之前，你应该对EJB有一个大致的了解，如果没有的话，建议你先到网上找一些这方面的文章来看，否则你将无法理解下面要讲述的内容。<br /><br />　　远程接口<br /><br />　　远程接口是指对于客户端而言所能看到了调用接口<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #008000">//</span><span style="COLOR: #008000">HelloWorld.java</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000"> sample;<br /><img id="Codehighlighter1_34_65_Open_Image" onclick="this.style.display='none'; Codehighlighter1_34_65_Open_Text.style.display='none'; Codehighlighter1_34_65_Closed_Image.style.display='inline'; Codehighlighter1_34_65_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_34_65_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_34_65_Closed_Text.style.display='none'; Codehighlighter1_34_65_Open_Image.style.display='inline'; Codehighlighter1_34_65_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_34_65_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id="Codehighlighter1_34_65_Open_Text"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">这是一个远程接口，客户端调用这个接口来使真正的ejb工作</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">interface</span><span style="COLOR: #000000"> HelloWorld </span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000"> javax.ejb.EJBObject<br /><img id="Codehighlighter1_123_181_Open_Image" onclick="this.style.display='none'; Codehighlighter1_123_181_Open_Text.style.display='none'; Codehighlighter1_123_181_Closed_Image.style.display='inline'; Codehighlighter1_123_181_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_123_181_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_123_181_Closed_Text.style.display='none'; Codehighlighter1_123_181_Open_Image.style.display='inline'; Codehighlighter1_123_181_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_123_181_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_123_181_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String hello() </span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000"> <a title="java" href="/gump" target="_blank">java</a>.rmi.RemoteException;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div><br />　　Home接口<br /><br />　　我们可以把Home接口看做是一个制造EJB的工厂，Home接口告诉EJB容器：“嗨，我的客户要我生成一个EJB，现在我把这个任务交给你啦！”<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #008000">//</span><span style="COLOR: #008000">HelloWorldHome.java</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000"> sample;<br /><img id="Codehighlighter1_38_67_Open_Image" onclick="this.style.display='none'; Codehighlighter1_38_67_Open_Text.style.display='none'; Codehighlighter1_38_67_Closed_Image.style.display='inline'; Codehighlighter1_38_67_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_38_67_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_38_67_Closed_Text.style.display='none'; Codehighlighter1_38_67_Open_Image.style.display='inline'; Codehighlighter1_38_67_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_38_67_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id="Codehighlighter1_38_67_Open_Text"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">Home接口告诉EJB容器怎样生成或销毁EJB的实例</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">interface</span><span style="COLOR: #000000"> HelloWorldHome </span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000"> javax.ejb.EJBHome<br /><img id="Codehighlighter1_127_209_Open_Image" onclick="this.style.display='none'; Codehighlighter1_127_209_Open_Text.style.display='none'; Codehighlighter1_127_209_Closed_Image.style.display='inline'; Codehighlighter1_127_209_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_127_209_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_127_209_Closed_Text.style.display='none'; Codehighlighter1_127_209_Open_Image.style.display='inline'; Codehighlighter1_127_209_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_127_209_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_127_209_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　HelloWorld create() </span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000"> <a title="java" href="/gump" target="_blank">java</a>.rmi.RemoteException,javax.ejb.CreateException;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div><br />　　EJB的实现<br /><br />　　这里才是真正的EJB的实现<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #008000">//</span><span style="COLOR: #008000">HelloWorldBean.java</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000"> sample;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> javax.ejb.SessionContext;<br /><img id="Codehighlighter1_71_96_Open_Image" onclick="this.style.display='none'; Codehighlighter1_71_96_Open_Text.style.display='none'; Codehighlighter1_71_96_Closed_Image.style.display='inline'; Codehighlighter1_71_96_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_71_96_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_71_96_Closed_Text.style.display='none'; Codehighlighter1_71_96_Open_Image.style.display='inline'; Codehighlighter1_71_96_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_71_96_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id="Codehighlighter1_71_96_Open_Text"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">这个类具体实现的远程接口HelloWorld</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />pubic </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> HelloWorldBean </span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000"> javax.ejb.SessionBean<br /><img id="Codehighlighter1_158_612_Open_Image" onclick="this.style.display='none'; Codehighlighter1_158_612_Open_Text.style.display='none'; Codehighlighter1_158_612_Closed_Image.style.display='inline'; Codehighlighter1_158_612_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_158_612_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_158_612_Closed_Text.style.display='none'; Codehighlighter1_158_612_Open_Image.style.display='inline'; Codehighlighter1_158_612_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_158_612_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_158_612_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> SessionContext ctx;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> setSessionContext(SessionContext ctx)<br /><img id="Codehighlighter1_241_262_Open_Image" onclick="this.style.display='none'; Codehighlighter1_241_262_Open_Text.style.display='none'; Codehighlighter1_241_262_Closed_Image.style.display='inline'; Codehighlighter1_241_262_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_241_262_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_241_262_Closed_Text.style.display='none'; Codehighlighter1_241_262_Open_Image.style.display='inline'; Codehighlighter1_241_262_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />　</span><span id="Codehighlighter1_241_262_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_241_262_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.ctx </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> ctx;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />　}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　pubic </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> ejbRemove()<br /><img id="Codehighlighter1_289_329_Open_Image" onclick="this.style.display='none'; Codehighlighter1_289_329_Open_Text.style.display='none'; Codehighlighter1_289_329_Closed_Image.style.display='inline'; Codehighlighter1_289_329_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_289_329_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_289_329_Closed_Text.style.display='none'; Codehighlighter1_289_329_Open_Image.style.display='inline'; Codehighlighter1_289_329_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />　</span><span id="Codehighlighter1_289_329_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_289_329_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　System.out.println(“ejbRemove()”);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />　}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> ejbActivate()<br /><img id="Codehighlighter1_359_401_Open_Image" onclick="this.style.display='none'; Codehighlighter1_359_401_Open_Text.style.display='none'; Codehighlighter1_359_401_Closed_Image.style.display='inline'; Codehighlighter1_359_401_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_359_401_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_359_401_Closed_Text.style.display='none'; Codehighlighter1_359_401_Open_Image.style.display='inline'; Codehighlighter1_359_401_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />　</span><span id="Codehighlighter1_359_401_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_359_401_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　System.out.println(“ejbActivate()”);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />　}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> ejbPassivate()<br /><img id="Codehighlighter1_432_475_Open_Image" onclick="this.style.display='none'; Codehighlighter1_432_475_Open_Text.style.display='none'; Codehighlighter1_432_475_Closed_Image.style.display='inline'; Codehighlighter1_432_475_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_432_475_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_432_475_Closed_Text.style.display='none'; Codehighlighter1_432_475_Open_Image.style.display='inline'; Codehighlighter1_432_475_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />　</span><span id="Codehighlighter1_432_475_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_432_475_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　System.out.println(“ejbPassivate()”);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />　}</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_478_524_Open_Image" onclick="this.style.display='none'; Codehighlighter1_478_524_Open_Text.style.display='none'; Codehighlighter1_478_524_Closed_Image.style.display='inline'; Codehighlighter1_478_524_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_478_524_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_478_524_Closed_Text.style.display='none'; Codehighlighter1_478_524_Open_Image.style.display='inline'; Codehighlighter1_478_524_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />　</span><span id="Codehighlighter1_478_524_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id="Codehighlighter1_478_524_Open_Text"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">hello方法是实际的业务逻辑，它可以在客户端显示“hello,world”这个字符串</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String hello()<br /><img id="Codehighlighter1_550_610_Open_Image" onclick="this.style.display='none'; Codehighlighter1_550_610_Open_Text.style.display='none'; Codehighlighter1_550_610_Closed_Image.style.display='inline'; Codehighlighter1_550_610_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_550_610_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_550_610_Closed_Text.style.display='none'; Codehighlighter1_550_610_Open_Image.style.display='inline'; Codehighlighter1_550_610_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />　</span><span id="Codehighlighter1_550_610_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_550_610_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　System.out.println(“hello()”);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> “hello,world”;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />　}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div><br />　　好了，这个会话EJB的全部代码编写完毕，下一步我们要做的是编写它的部署文件：<br /><br />　　ejb-jar.xml<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">&lt;?</span><span style="COLOR: #ff00ff">xml version="1.0" encoding="UTF-8"</span><span style="COLOR: #0000ff">?&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ejb-jar</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">description</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">JBoss Hello World Application</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">description</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">display-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Hello World EJB</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">display-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">enterprise-beans</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">session</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ejb-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Hello</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">ejb-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">home</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">sample.HelloHome</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">home</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">remote</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">sample.Hello</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">remote</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ejb-class</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">sample.HelloBean</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">ejb-class</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">session-type</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Stateless</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">session-type</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">transaction-type</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Bean</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">transaction-type</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">session</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">enterprise-beans</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">ejb-jar</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"> </span></div><br />这样我们就完成了一个简单的会话EJB的编写，但其实JBOSS还提供了一个额外的配置文件：JBoss.xml，利用它可以对JBOSS服务器进行更多的定制，但由于本例实在是太简单了，因此我们可以将它省略不写。<br /><br />　　虽然我们完成了这个会话EJB的编写，但还有最后的一步工作要做：打包。首先我们进入当前项目的根目录：<br /><br />cd F:\project\jboss-tutorial <br /><br />　　然后执行jar命令将所有的类及ejb-jar.xml打包：<br /><br />jar cf HelloWorld.jar sample META-INF <br /><br />　　这时你会发现，在当前目录下多了一个名为HelloWorld.jar的文件，这就是我们的最终成品。<br /><br />　　部署我们的EJB<br /><br />　　部署EJB在JBOSS中是一件非常容易的事，你只需简单将HelloWorld.jar拷贝到c:\ jboss-3.2.6\server\default\deploy目录下就可以了。 <br /><br />　这时，你可以切换到JBOSS运行的那个DOS窗口下，你会发现屏幕上会新出现如下提示信息：<br /><br />15:09:21,184 INFO [MainDeployer] Starting deployment of<br />package: file:/F:/jboss<br />-3.２.3/server/default/deploy/HelloWorld.jar<br />15:09:21,324 INFO [EjbModule] Creating<br />15:09:21,354 INFO [EjbModule] Deploying HelloWorld<br />15:09:21,464 INFO [EjbModule] Created<br />15:09:21,484 INFO [EjbModule] Starting<br />15:09:21,555 INFO [EjbModule] Started<br />15:09:21,555 INFO [MainDeployer] Successfully completed<br />deployment of package: file:/F:/jboss-3.2.6/server/default/deploy/HelloWorld.jar <br /><br />　　客户端代码<br /><br />　　如果没有客户端代码的话,那么EJB对我们来说几乎毫无用处。以下我们将编写客户端代码来调用这个HelloWorld。<br /><br />　　如果你在同一台机器上运行客户端代码和JBOSS服务器的话，那以下代码无须任何修改就可以运行，但你的客户端在另一台机器上运行的话，那你要将源码中的相应行改变一下：<br /><br />/*以下是客户端源码中需要修改的行*/<br />env.put(Context.PROVIDER_URL, "localhost:1099"); <br /><br />　　假设EJB部署在一台IP地址为192.168.0.1的机器上，那么就应该将以上源码改为如下：<br /><br />/*以下是客户端源码中修改后的行*/<br />env.put(Context.PROVIDER_URL, "192.168.0.1:1099");<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id="Codehighlighter1_0_24_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_24_Open_Text.style.display='none'; Codehighlighter1_0_24_Closed_Image.style.display='inline'; Codehighlighter1_0_24_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_0_24_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_24_Closed_Text.style.display='none'; Codehighlighter1_0_24_Open_Image.style.display='inline'; Codehighlighter1_0_24_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span id="Codehighlighter1_0_24_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id="Codehighlighter1_0_24_Open_Text"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">HelloWorldClient.java</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000"> sample;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> javax.naming.Context;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> javax.naming.InitialContext;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> <a title="java" href="/gump" target="_blank">java</a>.util.Hashtable;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> HelloWorldClient<br /><img id="Codehighlighter1_165_900_Open_Image" onclick="this.style.display='none'; Codehighlighter1_165_900_Open_Text.style.display='none'; Codehighlighter1_165_900_Closed_Image.style.display='inline'; Codehighlighter1_165_900_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_165_900_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_165_900_Closed_Text.style.display='none'; Codehighlighter1_165_900_Open_Image.style.display='inline'; Codehighlighter1_165_900_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_165_900_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_165_900_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> main( String [] args )<br /><img id="Codehighlighter1_211_898_Open_Image" onclick="this.style.display='none'; Codehighlighter1_211_898_Open_Text.style.display='none'; Codehighlighter1_211_898_Closed_Image.style.display='inline'; Codehighlighter1_211_898_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_211_898_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_211_898_Closed_Text.style.display='none'; Codehighlighter1_211_898_Open_Image.style.display='inline'; Codehighlighter1_211_898_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />　</span><span id="Codehighlighter1_211_898_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_211_898_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　Hashtable env </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Hashtable();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　env.put(Context.INITIAL_CONTEXT_FACTORY,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">org.jnp.interfaces.NamingContextFactory</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　env.put(Context.PROVIDER_URL, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">localhost:1099</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　env.put(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><a title="java" href="/gump" target="_blank">java</a>.naming.factory.url.pkgs</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">org.jboss.naming:org.jnp.interfaces</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_474_782_Open_Image" onclick="this.style.display='none'; Codehighlighter1_474_782_Open_Text.style.display='none'; Codehighlighter1_474_782_Closed_Image.style.display='inline'; Codehighlighter1_474_782_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_474_782_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_474_782_Closed_Text.style.display='none'; Codehighlighter1_474_782_Open_Image.style.display='inline'; Codehighlighter1_474_782_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />　　</span><span id="Codehighlighter1_474_782_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_474_782_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　　Context ctx </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> InitialContext(env);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　　Object obj </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> ctx.lookup( </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">HelloWorld</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　　HelloWorldHome home </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(HelloWorldHome)javax.rmi.PortableRemoteObject.narrow(<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />obj, HelloWorldHome.</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　　HelloWorld helloWorld </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> home.create();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　　System.out.println( helloWorld.hello());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　　helloWorld.remove();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />　　}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> ( Exception e )<br /><img id="Codehighlighter1_810_895_Open_Image" onclick="this.style.display='none'; Codehighlighter1_810_895_Open_Text.style.display='none'; Codehighlighter1_810_895_Closed_Image.style.display='inline'; Codehighlighter1_810_895_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_810_895_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_810_895_Closed_Text.style.display='none'; Codehighlighter1_810_895_Open_Image.style.display='inline'; Codehighlighter1_810_895_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />　　</span><span id="Codehighlighter1_810_895_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_810_895_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　　e.printStackTrace();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />　　　System.out.println( </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Exception: </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> e.getMessage() );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />　　}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />　}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>　好了，下面我就就可以编译并运行这个客户端了，如果你在编译的时候JVM报告找不到某些类的话，则可能是你没有将j2ee.jar这个包放在CLASSPATH这个路径变量中。客户端的执行结果虽然只是简单的在屏幕上打印一行“hello,world”，但它是来自于另一个世界<br />——JBOSS的声音！<br /><br />实例代码<a href="/Files/gump/hello.zip">下载</a><img src ="http://www.blogjava.net/gump/aggbug/40283.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gump/" target="_blank">甘先生</a> 2006-04-10 17:38 <a href="http://www.blogjava.net/gump/articles/40283.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)使用Java Servlet动态生成图片</title><link>http://www.blogjava.net/gump/articles/28779.html</link><dc:creator>甘先生</dc:creator><author>甘先生</author><pubDate>Fri, 20 Jan 2006 06:37:00 GMT</pubDate><guid>http://www.blogjava.net/gump/articles/28779.html</guid><wfw:comment>http://www.blogjava.net/gump/comments/28779.html</wfw:comment><comments>http://www.blogjava.net/gump/articles/28779.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gump/comments/commentRss/28779.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gump/services/trackbacks/28779.html</trackback:ping><description><![CDATA[<P>在Web应用中，经常需要动态生成图片，比如实时股市行情，各种统计图等等，这种情况下，图片只能在服务器内存中动态生成并发送给用户，然后在浏览器中显示出来。 </P>
<P>　　本质上，浏览器向服务器请求静态图片如jpeg时，服务器返回的仍然是标准的http响应，只不过http头的contentType不是text/html，而是image/jpeg而已，因此，我们在Servlet中只要设置好contentType，然后发送图像的数据流，浏览器就能正确解析并显示出图片。</P>
<P>　　在Java中，java.awt和java.awt.image包提供了基本的绘制图像的能力，我们可以在内存中绘制好需要的图形，然后编码成jpeg或其他图像格式，最后发送相应给浏览器即可。下面是使用Servlet动态创建图像的详细步骤：</P>
<P>　　1．创建BufferedImage对象，该对象存在内存中，负责保存绘制的图像；</P>
<P>　　2．创建Graphics2D对象，该对象负责绘制所需的图像；</P>
<P>　　3．当绘制完成后，调用com.sun.image.codec.jpeg包的JPEG编码器对其编码；</P>
<P>　　4．最后将编码后的数据输出至HttpResponse即可。</P>
<P>　　注意com.sun.image.codec.jpeg包位于JDK目录的rt.jar包中，它不是公开的API，需要将rt.jar复制到web应用程序的WEB-INF/lib下。</P>
<P>　　我们先创建一个最简单的Servlet：</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG id=Codehighlighter1_52_219_Open_Image onclick="this.style.display='none'; Codehighlighter1_52_219_Open_Text.style.display='none'; Codehighlighter1_52_219_Closed_Image.style.display='inline'; Codehighlighter1_52_219_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_52_219_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_52_219_Closed_Text.style.display='none'; Codehighlighter1_52_219_Open_Image.style.display='inline'; Codehighlighter1_52_219_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;CreateImageServlet&nbsp;</SPAN><SPAN style="COLOR: #0000ff">extends</SPAN><SPAN style="COLOR: #000000">&nbsp;HttpServlet&nbsp;</SPAN><SPAN id=Codehighlighter1_52_219_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_52_219_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　</SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;doGet(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　</SPAN><SPAN style="COLOR: #0000ff">throws</SPAN><SPAN style="COLOR: #000000">&nbsp;ServletException,&nbsp;IOException<BR><IMG id=Codehighlighter1_173_217_Open_Image onclick="this.style.display='none'; Codehighlighter1_173_217_Open_Text.style.display='none'; Codehighlighter1_173_217_Closed_Image.style.display='inline'; Codehighlighter1_173_217_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_173_217_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_173_217_Closed_Text.style.display='none'; Codehighlighter1_173_217_Open_Image.style.display='inline'; Codehighlighter1_173_217_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>　</SPAN><SPAN id=Codehighlighter1_173_217_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_173_217_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　response.setContentType(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">image/jpeg</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>　}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN></DIV>
<P>　我们首先设置了response的contentType为image/jpeg，这样浏览器就可以正确识别。</P>
<P>　　然后，创建一个大小为100x100的BufferedImage对象，准备绘图：</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;width&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;height&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>BufferedImage&nbsp;bi&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;BufferedImage(width,&nbsp;height,&nbsp;BufferedImage.TYPE_INT_RGB);</SPAN></DIV><BR>接着，BufferedImage对象中获取Graphics2D对象并绘图：<BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">Graphics2D&nbsp;g&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;bi.createGraphics();&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;创建Graphics2D对象<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;填充背景为白色：</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">g.setBackground(Color.BLUE);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>g.clearRect(</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,&nbsp;width,&nbsp;height);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;设置前景色：</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">g.setColor(Color.RED);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;开始绘图：</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">g.drawLine(</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">99</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">99</SPAN><SPAN style="COLOR: #000000">);&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;绘制一条直线<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;绘图完成，释放资源：</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">g.dispose();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>bi.flush();</SPAN></DIV>　然后，对BufferedImage进行JPEG编码：<BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">JPEGImageEncoder&nbsp;encoder&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;JPEGCodec.createJPEGEncoder(out);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>JPEGEncodeParam&nbsp;param&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;encoder.getDefaultJPEGEncodeParam(bi);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>param.setQuality(</SPAN><SPAN style="COLOR: #000000">1.0f</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #0000ff">false</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>encoder.setJPEGEncodeParam(param);<BR><IMG id=Codehighlighter1_194_217_Open_Image onclick="this.style.display='none'; Codehighlighter1_194_217_Open_Text.style.display='none'; Codehighlighter1_194_217_Closed_Image.style.display='inline'; Codehighlighter1_194_217_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_194_217_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_194_217_Closed_Text.style.display='none'; Codehighlighter1_194_217_Open_Image.style.display='inline'; Codehighlighter1_194_217_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN id=Codehighlighter1_194_217_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_194_217_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　encoder.encode(bi);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_242_268_Open_Image onclick="this.style.display='none'; Codehighlighter1_242_268_Open_Text.style.display='none'; Codehighlighter1_242_268_Closed_Image.style.display='inline'; Codehighlighter1_242_268_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_242_268_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_242_268_Closed_Text.style.display='none'; Codehighlighter1_242_268_Open_Image.style.display='inline'; Codehighlighter1_242_268_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">catch</SPAN><SPAN style="COLOR: #000000">(IOException&nbsp;ioe)&nbsp;</SPAN><SPAN id=Codehighlighter1_242_268_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_242_268_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　ioe.printStackTrace();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN></DIV>
<P>　编码后的JPEG图像直接输出到了out对象中，我们只要传入response. getOutputStream()就可以直接输出到HttpResponse中。</P>
<P>　　下面是完整的代码：<BR></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">package</SPAN><SPAN style="COLOR: #000000">&nbsp;com.crackj2ee.web.util;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000">&nbsp;java.io.</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000">&nbsp;java.awt.</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000">&nbsp;java.awt.image.</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000">&nbsp;javax.servlet.</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000">&nbsp;javax.servlet.http.</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000">&nbsp;com.sun.image.codec.jpeg.</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_186_215_Open_Image onclick="this.style.display='none'; Codehighlighter1_186_215_Open_Text.style.display='none'; Codehighlighter1_186_215_Closed_Image.style.display='inline'; Codehighlighter1_186_215_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_186_215_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_186_215_Closed_Text.style.display='none'; Codehighlighter1_186_215_Open_Image.style.display='inline'; Codehighlighter1_186_215_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_186_215_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**&nbsp;*/</SPAN><SPAN id=Codehighlighter1_186_215_Open_Text><SPAN style="COLOR: #008000">/**</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;</SPAN><SPAN style="COLOR: #808080">@author</SPAN><SPAN style="COLOR: #008000">&nbsp;Liao&nbsp;Xue&nbsp;Feng<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></SPAN><SPAN style="COLOR: #008000">*/</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_269_1217_Open_Image onclick="this.style.display='none'; Codehighlighter1_269_1217_Open_Text.style.display='none'; Codehighlighter1_269_1217_Closed_Image.style.display='inline'; Codehighlighter1_269_1217_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_269_1217_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_269_1217_Closed_Text.style.display='none'; Codehighlighter1_269_1217_Open_Image.style.display='inline'; Codehighlighter1_269_1217_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;CreateImageServlet&nbsp;</SPAN><SPAN style="COLOR: #0000ff">extends</SPAN><SPAN style="COLOR: #000000">&nbsp;HttpServlet&nbsp;</SPAN><SPAN id=Codehighlighter1_269_1217_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_269_1217_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　</SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;doGet(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　</SPAN><SPAN style="COLOR: #0000ff">throws</SPAN><SPAN style="COLOR: #000000">&nbsp;ServletException,&nbsp;IOException<BR><IMG id=Codehighlighter1_391_478_Open_Image onclick="this.style.display='none'; Codehighlighter1_391_478_Open_Text.style.display='none'; Codehighlighter1_391_478_Closed_Image.style.display='inline'; Codehighlighter1_391_478_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_391_478_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_391_478_Closed_Text.style.display='none'; Codehighlighter1_391_478_Open_Image.style.display='inline'; Codehighlighter1_391_478_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>　</SPAN><SPAN id=Codehighlighter1_391_478_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_391_478_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　response.setContentType(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">image/jpeg</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　createImage(response.getOutputStream());<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>　}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG id=Codehighlighter1_525_1215_Open_Image onclick="this.style.display='none'; Codehighlighter1_525_1215_Open_Text.style.display='none'; Codehighlighter1_525_1215_Closed_Image.style.display='inline'; Codehighlighter1_525_1215_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_525_1215_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_525_1215_Closed_Text.style.display='none'; Codehighlighter1_525_1215_Open_Image.style.display='inline'; Codehighlighter1_525_1215_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>　</SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;createImage(OutputStream&nbsp;out)&nbsp;</SPAN><SPAN id=Codehighlighter1_525_1215_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_525_1215_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;width&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;height&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　BufferedImage&nbsp;bi&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;BufferedImage(width,&nbsp;height,&nbsp;BufferedImage.TYPE_INT_RGB);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　Graphics2D&nbsp;g&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;bi.createGraphics();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;set&nbsp;background:</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">　　g.setBackground(Color.BLUE);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　g.clearRect(</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,&nbsp;width,&nbsp;height);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;set&nbsp;fore&nbsp;color:</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">　　g.setColor(Color.RED);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;start&nbsp;draw:</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">　　g.drawLine(</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">99</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">199</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;end&nbsp;draw:</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">　　g.dispose();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　bi.flush();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;encode:</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">　　JPEGImageEncoder&nbsp;encoder&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;JPEGCodec.createJPEGEncoder(out);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　JPEGEncodeParam&nbsp;param&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;encoder.getDefaultJPEGEncodeParam(bi);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　param.setQuality(</SPAN><SPAN style="COLOR: #000000">1.0f</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #0000ff">false</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　encoder.setJPEGEncodeParam(param);<BR><IMG id=Codehighlighter1_1128_1155_Open_Image onclick="this.style.display='none'; Codehighlighter1_1128_1155_Open_Text.style.display='none'; Codehighlighter1_1128_1155_Closed_Image.style.display='inline'; Codehighlighter1_1128_1155_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1128_1155_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1128_1155_Closed_Text.style.display='none'; Codehighlighter1_1128_1155_Open_Image.style.display='inline'; Codehighlighter1_1128_1155_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>　　</SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN id=Codehighlighter1_1128_1155_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1128_1155_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　　encoder.encode(bi);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>　　}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_1182_1212_Open_Image onclick="this.style.display='none'; Codehighlighter1_1182_1212_Open_Text.style.display='none'; Codehighlighter1_1182_1212_Closed_Image.style.display='inline'; Codehighlighter1_1182_1212_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1182_1212_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1182_1212_Closed_Text.style.display='none'; Codehighlighter1_1182_1212_Open_Image.style.display='inline'; Codehighlighter1_1182_1212_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>　　</SPAN><SPAN style="COLOR: #0000ff">catch</SPAN><SPAN style="COLOR: #000000">(IOException&nbsp;ioe)&nbsp;</SPAN><SPAN id=Codehighlighter1_1182_1212_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1182_1212_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>　　　ioe.printStackTrace();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>　　}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>　}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN></DIV>
<P>　最后将这个Servlet编译，注册到web.xml中，映射路径为/CreateImage，写一个简单的index.html测试：<BR></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">＜html＞＜head＞＜/head＞<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>＜body＞<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>＜img&nbsp;src="CreateImage"＞<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>＜/body＞＜/html＞</SPAN></DIV>
<P><BR>如能正确显示，大功告成！<BR></P><img src ="http://www.blogjava.net/gump/aggbug/28779.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gump/" target="_blank">甘先生</a> 2006-01-20 14:37 <a href="http://www.blogjava.net/gump/articles/28779.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)SCJP 1.4 考试的详细介绍</title><link>http://www.blogjava.net/gump/articles/28777.html</link><dc:creator>甘先生</dc:creator><author>甘先生</author><pubDate>Fri, 20 Jan 2006 06:02:00 GMT</pubDate><guid>http://www.blogjava.net/gump/articles/28777.html</guid><wfw:comment>http://www.blogjava.net/gump/comments/28777.html</wfw:comment><comments>http://www.blogjava.net/gump/articles/28777.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gump/comments/commentRss/28777.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gump/services/trackbacks/28777.html</trackback:ping><description><![CDATA[<P>&nbsp;SCJP 1.4 考试是 Sun Microsystems 推出的系列 Java 认证考试中的第一个，对于众多程序员来说，它是成为优秀 Java 开发人员的第一步。 </P>
<P>该考试测试 Java 的基础知识并需要对该语言的语法和语义有深入理解。</P>
<P>　　1．参加培训或自学Java经典课程。如果有C语言和面向对象的基础，只需自学SL275课程以及JDK1.4API，否则应该参加相应的培训班进行学习。我对C语言和面向对象都有一些基础，同时又参加了SL275+Weblogic+JSP课程的学习。 </P>
<P>　　2．确定考试版本，明确考查的知识点及知识点的考查难度。目前SCJP考试有两个版本1.2和1.4，两个版本的比较如下表： </P>
<P>　　其中选择题有两种形式：（1）给出一段代码让选择其运行结果；（2）给出关于某基本概念的一些描述语句让选择正确的答案。填空题一般是给出一段正确的代码，不提供选择项，而让你填写上运行结果。 </P>
<P>　　两个版本考查的知识点最大的差别在于310-025包含I/O、AWT，且对各个知识点的考查难度相对较容易，而310-035中去掉了I/O和AWT部分的内容，但增加了对Assertion的考查，同时对Wrapper classes、Collections、hashcode( )和equals( )考查的难度有所加大。所以要根据自己的情况选择合适的版本。我在复习时觉得I/O这一部分的内容较多且不好记忆，就选择了310-035，这个版本较难，也是对自己的一个挑战。 </P>
<P>　　3．根据考查的知识点做练习题。由于认证考试是以试题的形式来考查对知识点的掌握情况，所以多做题是通过考试的最有效方法之一，通过对SL275课程系统的学习，掌握了有关知识点的基础知识以后，必须通过做题来测试自己对知识点的掌握情况，书中写的有关知识点的内容比较概括，有时自己觉得已经掌握了这部分内容，但做题时可能会出现各式各样的错误，比如在声明main( )方法时应为public static void main( String args[ ] ){……}，如果在声明时漏写了static，则在编译时可以通过，而运行时会提示出错信息；如果main( )中的参数写string args[ ]，则在编译时会提示出错，在考试时有类似的题目，故意设一些陷阱，一不小心看似简单的问题却有可能失分。对于给出一段程序代码要求选择其运行结果的题目，最好亲手调试并分析其结果。 </P>
<P>　　对考查Wrapper classes、Collections、hashcode( )和equals( )方法的题目要认真查看API文档（Sun官方网站提供了下载的链接，也可以在Sun网站上在线查看）并做好笔记供以后查阅。通过做题巩固知识点、适应考试题型、找出容易出错的地方，同时对所学知识点也起到了查漏补缺的作用。 </P>
<P>　　4．下载相应的模拟环境进行实战训练，或者在线测试。知识点和题型都掌握以后，还不要急于考试，应该从网上下载一个模拟考试环境的软件进行实战演练。我下载了Jcertify5.0，它需在JDK1.3环境下安装运行，该软件可以设置考查的范围进行practice或者test，是一个很不错的模拟软件，里面的题目与实际考试题目难易程度相当。 </P>
<P>　　通过该软件可以检验你在规定的时间内（120分钟）完成题目的情况及各个知识点掌握的程度，这样就可以根据测验结果有针对性的复习掌握的不太好的知识点，反复测验、练习，直到自己满意为止。 </P>
<P>　　5．考前给自己足够的信心。通过做练习和模拟软件测验，对各个知识点都比较有把握以后，其实这时参加考试已经没有问题了，要相信自己的实力，给自己加油，此时切不可再做较难的题目，我当时就犯了这样的大忌，听说310-035的考试比较难，目前通过的人数不多，我怕考试时的题目比我做的练习题难，在考试的前一天，又做了一套题目，共43题，通过率为仅为42%，这个结果令我很失望，也丧失了自信心，晚上做梦一直考试且考试结果很糟糕，第二天醒来头昏脑胀，本来预约好的考试不得不往后推迟，这是沉痛的教训。 </P>
<P>　　6．预约、考试。知名的IT认证厂商在一些大城市都有指定的考试中心，Sun认证也不例外，考试前三天到Sun指定的考试中心报名，由他们帮你注册，除了考试做题，其他的事情你尽管交给考试中心去做就行了。 </P>
<P>　　7．考试注意事项。按预约的时间提前到达考试中心，熟悉考试环境，稳定情绪，考试中心在考场里设置有监视器，你的一举一动都会被录制下来，所以考试来不得半点虚假，尽早打消“打小抄”的念头。考务人员帮你进入考试系统后，开始进行考试，考试分三个阶段： </P>
<P>　　（1）正式考试前的问卷调查，给定时间为15分，有10来个问题，给出四个选项供你选择，主要调查你对SCJP要考查的知识点的掌握情况，如对数组、类的定义是精通、是了解但需要别人帮助还是不懂等，这部分内容的回答不影响你的考试成绩，如果你读懂问题的意思了，你可以根据自己的实际情况进行选择，否则你尽管随意选一个，一路Next下去，直到所有的问题做完； </P>
<P>　　（2）正式考试，共120分钟，选择题在题面中注明了正确答案的数目(如：choose two)，按Next做下一题，单击exhibit按钮查看题目提供的代码； </P>
<P>　　（3）题目做完后的问卷调查，同样也不影响你的考试结果。问卷结束后紧张、激动的时刻就要到了，此时你可以查看考试结果，考试系统列出你对各个知识点答题情况的一览表，如果你的成绩超过指定的分数底线，则Result即为Pass。 </P>
<P>　　拿到考试结果通知单的一刻是令人兴奋的，考后的总体感觉是SCJP认证并不像自己想象的那么难，只要你做好了充分的准备，拿到SCJP认证证书不成问题。</P><img src ="http://www.blogjava.net/gump/aggbug/28777.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gump/" target="_blank">甘先生</a> 2006-01-20 14:02 <a href="http://www.blogjava.net/gump/articles/28777.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)强烈推荐几个比较好的Java代码查询网站</title><link>http://www.blogjava.net/gump/articles/28771.html</link><dc:creator>甘先生</dc:creator><author>甘先生</author><pubDate>Fri, 20 Jan 2006 05:44:00 GMT</pubDate><guid>http://www.blogjava.net/gump/articles/28771.html</guid><wfw:comment>http://www.blogjava.net/gump/comments/28771.html</wfw:comment><comments>http://www.blogjava.net/gump/articles/28771.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/gump/comments/commentRss/28771.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gump/services/trackbacks/28771.html</trackback:ping><description><![CDATA[<P>这些是我经常使用的一些Java代码查询网站，希望在这里能起到抛砖引玉的效果，大家群策群力，一起分享Java快乐。<BR>&nbsp;<BR>&nbsp; 1. java2s&nbsp; <A href="http://www.java2s.com/">http://www.java2s.com/</A><BR>&nbsp;&nbsp; 这个网站非常好，分成三大类，分别是Example、Products、 Articles，每个大类下又分别设许多小类，还有搜索功能，这样查找起来非常方便。。比如，如果要学习SWT/JFace，只要把Example下的SWT JFace Eclipse 研究一下也就可以了。另外，这个网站还有JavaScript DHTML、 C# / C Sharp、 C / ANSI-C、 SQL / MySQL等类。总之，非常好。</P>
<P>&nbsp; 2. codeZoo <A href="http://www.codezoo.com/">http://www.codezoo.com/</A><BR>&nbsp;&nbsp; 这是O'Reily旗下的，除了Java之外，还有Ruby、Python。<BR>&nbsp;<BR>&nbsp; 3. Java学习源代码检索系统&nbsp; <A href="http://www.chinaitlab.com/www/school/codesearch/index.html">http://www.chinaitlab.com/www/school/codesearch/index.html</A><BR>&nbsp;&nbsp; 难得看见国产的，好歹也要支持一下，分类也算清楚。<BR>&nbsp;<BR>&nbsp; 4. Koders&nbsp; <A href="http://www.koders.com/">http://www.koders.com/</A><BR>&nbsp;&nbsp; 是个综合查询的网站，不过它好像是从代码中查找关键词，包含的语言挺多的。<BR>&nbsp; <BR>&nbsp; 5. Resources for Java server-side developers&nbsp; <A href="http://www.java201.com/">http://www.java201.com/</A><BR>&nbsp;&nbsp; 确切的说，它是一个资源收集的网站，代码查询并不多。不过它分类相当细，如Articles、Books、Examples、Extensions、Frameworks等类，你可以输入Spring或Hibernate作为关键词搜索一下看看。<BR>&nbsp;<BR>&nbsp;&nbsp; 存货不多，以后有了再补充。</P><img src ="http://www.blogjava.net/gump/aggbug/28771.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gump/" target="_blank">甘先生</a> 2006-01-20 13:44 <a href="http://www.blogjava.net/gump/articles/28771.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)组建J2EE开发团队</title><link>http://www.blogjava.net/gump/articles/28768.html</link><dc:creator>甘先生</dc:creator><author>甘先生</author><pubDate>Fri, 20 Jan 2006 05:36:00 GMT</pubDate><guid>http://www.blogjava.net/gump/articles/28768.html</guid><wfw:comment>http://www.blogjava.net/gump/comments/28768.html</wfw:comment><comments>http://www.blogjava.net/gump/articles/28768.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/gump/comments/commentRss/28768.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gump/services/trackbacks/28768.html</trackback:ping><description><![CDATA[<P>J2EE这种应用模型允许不同的开发人员同时进行开发的各个元素。这里阐述一下对不同层次 <BR>的设计人员，开发人员的技术要求。对以下几个分类进行描述。 <BR>1、设计师组建团队 <BR>2、 表现逻辑层的团队角色 <BR>3、 业务逻辑层等团队角色 <BR>4、 数据库访问层的团队角色 <BR>团队的组成可以根据人员的数量和系统的范围大小。例如，不一定所有的角色都要分配，有些人可以担当不能的角色。 </P>
<P>****** <BR>设计师 <BR>****** <BR>在基于组件的应用系统开发中，一个或几个人必须对这个系统的整体需求有全面的了解，比如系统的控制流程，和其他的接口等等。有些公司称这个角色为总工程师，不管怎么叫，这个角色非常重要，他承担协调不同开发小组之间的工作，帮助他们考虑系统这个“大图”。 </P>
<P>******************** <BR>表现逻辑层的团队角色 <BR>******************** </P>
<P>在表现层，用户界面是动态生成的。需要如下开发人员： <BR>1、 Java servlet 开发人员 <BR>2、 JSP 开发人员 <BR>3、 HTML 设计人员 <BR>4、 美工人员 <BR>5、 客户端的JavaScript 开发人员 <BR>Servlet 开发人员建立表现层的逻辑，而其他人员建立表现的形式。 </P>
<P>Java Servlet 开发人员 </P>
<P>Servlet处理页和页之间的浏览，会话管理，简单的输入验证。Servlet也将业务逻辑的元素连接起来。 <BR>Servlet开发人员必须理解一些相关事宜，HTTP请求，安全，多语言，和一些页面元素如session, cookie，超时等等。J2EE的应用里面，servlet必须用Java来写，Servlet可能会调用JSP, EJB, JDBC等等。因此，servlet开发人员要与应用系统的其他人员紧密合作。 </P>
<P>JSP 开发人员 </P>
<P>JSP开发人员与servlet开发人员密切合作来定义系统的表现层页面。即使在复杂的开发项目里，JSP和servlet的开发人员也可能是一个人。 <BR>然而，如果一个系统中大部分Java在servlet而不是在JSP里，JSP人员就不必对Java非常熟悉。 </P>
<P>HTML 设计人员 </P>
<P>HTML 设计人员对HTML页面进行优化。例如，他可能要完成以下任务： </P>
<P>1、保证在不同的浏览器中所有的页面都能正常显示 <BR>2、 保证低速的调制解调器访问也不受影响 <BR>3、 对JSP设计人员的页面进行进一步的优化 </P>
<P>美工人员 </P>
<P>美工人员创建图片等等。这些图片要能小体积，快速下载。美工与HTML页面人员紧密合作。 </P>
<P>客户端的JavaScript 开发人员 <BR>使用客户端的JavaScript有很多原因。比如，可以处理简单的输入验证，不必提交给服务器，还可以让用户界面更生动。这个角色和servlet, JSP人员紧密合作。 </P>
<P>******************** <BR>业务逻辑层的团队角色 <BR>******************** </P>
<P>业务逻辑层包含业务规则和业务实体。需要以下人员： </P>
<P>1、Session bean 开发人员 <BR>2、 Entity bean 开发人员 </P>
<P>Session Bean 开发人员 </P>
<P>Session beans包含业务处理和业务规则的逻辑。比如，一个session bean 可能设计成计算一个支票的税率。如果一个系统面临处理经常变化的复杂逻辑，而又大量使用session bean，结果是，session bean就需要不断的更新。 <BR>Session bean 的开发人员一般是一个领域的专家，理解复杂的，专门领域的逻辑，还有数据验证的规则。这个人员与servlet和entity bean开发人员紧密合作。 <BR>Session bean可能需要调用JDBC接口，和其他的EJB。无状态的session bean系统运行的会更好一些。因为，如果计算费率是一个有状态的session bean，系统就必须访问一个保存bean的状态信息的服务器。如果那个服务器恰巧出现问题，整个流程就会受阻。 </P>
<P>Entity Bean 开发人员 </P>
<P>Entity bean代表永久的对象，如一个数据库中的一条记录。Entity bean开发人员的任务是设计一个面向对象的所有业务数据的组织图。建立面向对象的试图意味着要将数据库中的表（关系型的）映射成entity bean。例如，开发人员需要将客户表，发票表，和订单表转换成相应的客户，发票，和订单对象。 <BR>一个entity bean 开发人员与session bean, Servlet开发人员密切合作，保证应用系统提供快速的，灵活的，可扩展的对业务数据的访问。 <BR>Entity bean 可能会大量的调用JDBC接口。而entity bean 之间的调用会很少。 </P>
<P>********************** <BR>数据库访问层的团队角色 <BR>********************** </P>
<P>在数据库访问层，开发人员需要建立关系型数据库的ER图，数据字典等等相关文档。所有对数据库的修改，访问等等权限操作都要经过数据库访问层开发人员。这个角色在大部分项目中担当DBA的角色。 </P>
<P>团队组建之后，就可以开始设计用户界面。 </P>
<P>************ <BR>设计用户界面 <BR>************ </P>
<P>建议从前到后开始设计应用系统。就是说，先设计用户界面，再设计EJB，这样效率最高。 <BR>安博公司已经做了大量的界面设计工作，以后的工作完全可以参照已有的设计。下面提一些常用的建议性问题： <BR>1、页面流程是什么？ <BR>2、 每个页面上的命令按钮是什么？ <BR>3、是否适用frame? <BR>4、是否有公司标准的Logo,广告条幅？ <BR>5、 在什么地方需要登录过程？ <BR>6、 多语言的问题？ <BR>这些和设计servlet, JSP相关。</P><img src ="http://www.blogjava.net/gump/aggbug/28768.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gump/" target="_blank">甘先生</a> 2006-01-20 13:36 <a href="http://www.blogjava.net/gump/articles/28768.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)关于上个Flex-Jsp-DB例子中Flex和Jsp传递中文参数问题的解决方法！（Tomcat服务器）</title><link>http://www.blogjava.net/gump/articles/21285.html</link><dc:creator>甘先生</dc:creator><author>甘先生</author><pubDate>Thu, 24 Nov 2005 06:52:00 GMT</pubDate><guid>http://www.blogjava.net/gump/articles/21285.html</guid><wfw:comment>http://www.blogjava.net/gump/comments/21285.html</wfw:comment><comments>http://www.blogjava.net/gump/articles/21285.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gump/comments/commentRss/21285.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gump/services/trackbacks/21285.html</trackback:ping><description><![CDATA[<H1 class=block_title><A id=viewpost1_TitleUrl href="http://dannyr.cnblogs.com/archive/2004/11/24/68026.html"></A>&nbsp;</H1>
<DIV class=post>
<DIV class=postcontent>
<DIV class=comment_title><STRONG>情况：</STRONG> <BR>Flex默认使用的都是utf-8编码，包括Get，Post等方法。而Tomcat服务器端接收request对象默认是<SPAN style="COLOR: #ff0000">8859_1</SPAN>编码，添加Tomcat的request Filter用<SPAN style="COLOR: red">request.setCharacterEncoding("utf-8"); <SPAN style="COLOR: #000000">来设置，这个方法属于Tomcat设置和Flex无关，暂不讨论！ <BR><BR><A title=flex href="http://dannyr.cnblogs.com/dannyr/"></A><A title=flex href="http://dannyr.cnblogs.com/dannyr/"></A><A title=flex href="http://dannyr.cnblogs.com/dannyr/"></A><A title=flex href="http://dannyr.cnblogs.com/dannyr/"></A><A title=flex href="http://dannyr.cnblogs.com/dannyr/"><FONT color=#355ea0>flex</FONT></A>-&gt;Jsp： <BR><STRONG>有2种情况</STRONG> <BR><STRONG>情况一、MXML源代码文件中写入的中文字符：</STRONG> <BR>Flex使用 <SPAN style="COLOR: #ff0000">System.useCodepage = true;即使用本地操作系统编码（GBK）</SPAN> 设置Flex的处理编码。Jsp中用依然用<SPAN style="COLOR: #ff0000">ISO_8859_1</SPAN>编码来处理，并转化为<SPAN style="COLOR: red">GBK</SPAN>。这样Jsp可以正确解释Flex传递的中文字符。 这个时候可以认为Flex对mxml源代码文件进行编译时候，源代码中的中文字符已经混乱了，所以要加上<SPAN style="COLOR: #ff0000">System.useCodepage = true;语句，</SPAN>按GBK编码将中文字符从Flex发送到Tomcat。 <BR>同时Tomcat中Jsp应该按<SPAN style="COLOR: red">GBK</SPAN>重新编码 <BR>String categoryID = request.getParameter("categoryID"); <BR>String strOut = new String(categoryID.getBytes("<SPAN style="COLOR: red">ISO8859-1</SPAN>"), "<FONT color=#ff0000>GBK</FONT>"); <BR>System.out.println("categoryID="+categoryID); <BR>System.out.println("categoryID="+strOut); <BR><BR><BR><STRONG>情况二、Flex运行时候由输入框输入的中文字符 <BR></STRONG>这个时候输入框输入的中文字符是一定为UTF-8编码的，所以Flex中<SPAN style="COLOR: #ff0000">System.useCodepage = false;<SPAN style="COLOR: #000000">或者不设置，就默认utf-8编码格式传递数据，而Tomcat中Jsp使用下面语句按UTF-8来重新编码 <BR></SPAN></SPAN>String categoryID = request.getParameter("categoryID"); <BR>String strOut = new String(categoryID.getBytes("<SPAN style="COLOR: red">ISO8859-1</SPAN>"), "<SPAN style="COLOR: red">utf-8</SPAN>"); <BR>System.out.println("categoryID="+categoryID); <BR>System.out.println("categoryID="+strOut); <BR><BR>Jsp-&gt;Flex： <BR>Jsp页面用页面指令<SPAN style="COLOR: #ff0000">&lt;%@ page contentType="text/html;charset=utf-8"%&gt;</SPAN>设置，返回结果是utf-8编码，Flex接收后成功解释并正确显示。 <BR><BR><STRONG>测试环境：</STRONG> <BR>Windows2000 Server&nbsp;&nbsp;&nbsp; （字符集为GBK） <BR>Tomcat 5.0.28&nbsp;&nbsp;&nbsp; （默认设置） <BR>JDK1.5.0 <BR><A title=flex href="http://dannyr.cnblogs.com/dannyr/"></A><A title=flex href="http://dannyr.cnblogs.com/dannyr/"></A><A title=flex href="http://dannyr.cnblogs.com/dannyr/"></A><A title=flex href="http://dannyr.cnblogs.com/dannyr/"></A><A title=flex href="http://dannyr.cnblogs.com/dannyr/"><FONT color=#355ea0>flex</FONT></A> 1.5&nbsp;&nbsp;&nbsp; （默认设置） <BR>SqlServer2000 Sp3 <BR><BR><BR><STRONG>测试代码：</STRONG> （<STRONG style="COLOR: red">仅仅为第二种情况，第一种情况酌情修改即可</STRONG>） <BR>表结构 <BR>其中categoryid使用中文内容 <BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top><SPAN style="COLOR: #0000ff">create</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">table</SPAN><SPAN style="COLOR: #000000">&nbsp;tblMobile&nbsp;(id&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">int</SPAN><SPAN style="COLOR: #000000">,&nbsp;name&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">varchar</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">20</SPAN><SPAN style="COLOR: #000000">),&nbsp;price&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">decimal</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">10</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">2</SPAN><SPAN style="COLOR: #000000">),&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">image</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">varchar</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">50</SPAN><SPAN style="COLOR: #000000">),&nbsp;categoryid&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">varchar</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">20</SPAN><SPAN style="COLOR: #000000">))</SPAN> </DIV></DIV><BR>phonelist.jsp <BR>这里数据库连接是<SPAN style="COLOR: #ff0000">SqlServer2000</SPAN> <BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">?xml&nbsp;version</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">1.0</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;encoding</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">utf-8</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">?</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top></SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">%@&nbsp;page&nbsp;contentType</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">text/html;charset=utf-8</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top></SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">%@&nbsp;page&nbsp;import</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">java.sql.*</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top></SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">phonelist</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top></SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">% <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">String</SPAN><SPAN style="COLOR: #000000">&nbsp;sql&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">""</SPAN><SPAN style="COLOR: #000000">; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">String</SPAN><SPAN style="COLOR: #000000">&nbsp;url&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">""</SPAN><SPAN style="COLOR: #000000">; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">String</SPAN><SPAN style="COLOR: #000000">&nbsp;categoryID&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;request.getParameter(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">categoryID</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN style="COLOR: #000000">&nbsp;{ <BR><IMG id=Codehighlighter1_256_1403_Open_Image onclick="this.style.display='none'; Codehighlighter1_256_1403_Open_Text.style.display='none'; Codehighlighter1_256_1403_Closed_Image.style.display='inline'; Codehighlighter1_256_1403_Closed_Text.style.display='inline';" height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><IMG id=Codehighlighter1_256_1403_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_256_1403_Closed_Text.style.display='none'; Codehighlighter1_256_1403_Open_Image.style.display='inline'; Codehighlighter1_256_1403_Open_Text.style.display='inline';" height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_256_1403_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">Class&nbsp;.</SPAN><SPAN id=Codehighlighter1_256_1403_Open_Text><SPAN style="COLOR: #0000ff">Class</SPAN><SPAN style="COLOR: #000000">.forName(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">com.microsoft.jdbc.sqlserver.SQLServerDriver</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">).newInstance(); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">jdbc:microsoft:sqlserver://myserver:1433;DatabaseName=flex;User=flex;Password=flex;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connection&nbsp;conn&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;DriverManager.getConnection(url); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Statement&nbsp;stmt&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;conn.createStatement(); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">String</SPAN><SPAN style="COLOR: #000000">&nbsp;strOut&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">String</SPAN><SPAN style="COLOR: #000000">(categoryID.getBytes(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">ISO8859-1</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">),&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">GBK</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);&nbsp; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">categoryID=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">categoryID); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">categoryID=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">strOut); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">select&nbsp;id,&nbsp;name,&nbsp;price,&nbsp;image&nbsp;from&nbsp;tblMobile&nbsp;where&nbsp;categoryid='</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;strOut&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">'</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResultSet&nbsp;rs&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;stmt.executeQuery(sql); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">&nbsp;(rs.</SPAN><SPAN style="COLOR: #0000ff">next</SPAN><SPAN style="COLOR: #000000">()){ <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;phone&nbsp;id=\""&nbsp;+&nbsp;rs.getString(1)&nbsp;+&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">\</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;id&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;rs.getString(</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">)&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;/id&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;name&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;rs.getString(</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">)&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;/name&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;price&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;rs.getString(</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">)&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;/price&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;image&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;rs.getString(</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">)&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;/image&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;/phone&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs.close(); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stmt.close(); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.close(); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</SPAN><SPAN style="COLOR: #0000ff">catch</SPAN><SPAN style="COLOR: #000000">&nbsp;(Exception&nbsp;e)&nbsp;{ <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(e); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;} <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top>%</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top></SPAN><SPAN style="COLOR: #000000">&lt;/</SPAN><SPAN style="COLOR: #000000">phonelist</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width=11 align=top></SPAN></SPAN> </DIV></DIV><BR>test.mxml <BR>其中<SPAN style="COLOR: #ff0000">HTTPService</SPAN>使用自定义<SPAN style="COLOR: #ff0000">request</SPAN>对象传递数据，注意前面的<SPAN style="COLOR: #ff0000">System.useCodepage = true;</SPAN>语句 <BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top><SPAN style="COLOR: #0000ff">&lt;?</SPAN><SPAN style="COLOR: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="utf-8"</SPAN><SPAN style="COLOR: #0000ff">?&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top></SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:Application&nbsp;</SPAN><SPAN style="COLOR: #ff0000">xmlns:mx</SPAN><SPAN style="COLOR: #0000ff">="http://www.macromedia.com/2003/mxml"</SPAN><SPAN style="COLOR: #ff0000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;verticalGap</SPAN><SPAN style="COLOR: #0000ff">="10"</SPAN><SPAN style="COLOR: #ff0000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;backgroundColor</SPAN><SPAN style="COLOR: #0000ff">="#FFFFFF"</SPAN><SPAN style="COLOR: #ff0000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;pageTitle</SPAN><SPAN style="COLOR: #0000ff">="手机"</SPAN><SPAN style="COLOR: #ff0000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;initialize</SPAN><SPAN style="COLOR: #0000ff">="initApp()"</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:HTTPService&nbsp;</SPAN><SPAN style="COLOR: #ff0000">id</SPAN><SPAN style="COLOR: #0000ff">="phoneService"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;url</SPAN><SPAN style="COLOR: #0000ff">="phonelist.jsp"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;fault</SPAN><SPAN style="COLOR: #0000ff">="alert(event.fault.faultstring)"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:Model&nbsp;</SPAN><SPAN style="COLOR: #ff0000">id</SPAN><SPAN style="COLOR: #0000ff">="phonelist"</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{phoneService.result.phonelist.phone} <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">mx:Model</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:Script</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;![CDATA[</SPAN><SPAN style="COLOR: #808080"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;categoryId&nbsp;=&nbsp;1; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;categoryName&nbsp;=&nbsp;"Moto"; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;initApp()&nbsp;{ <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.useCodepage&nbsp;=&nbsp;true; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;categoryId&nbsp;=&nbsp;"目录1"; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;obj&nbsp;=&nbsp;new&nbsp;Object(); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj["categoryID"]&nbsp;=&nbsp;categoryId; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;phoneService.send(obj); <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">]]&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">mx:Script</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:HBox</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:LinkBar&nbsp;</SPAN><SPAN style="COLOR: #ff0000">styleName</SPAN><SPAN style="COLOR: #0000ff">="title"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;width</SPAN><SPAN style="COLOR: #0000ff">="500"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;click</SPAN><SPAN style="COLOR: #0000ff">=""</SPAN><SPAN style="COLOR: #ff0000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:dataProvider</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:Array</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:Object&nbsp;</SPAN><SPAN style="COLOR: #ff0000">label</SPAN><SPAN style="COLOR: #0000ff">="首&nbsp;页"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;link</SPAN><SPAN style="COLOR: #0000ff">="main"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:Object&nbsp;</SPAN><SPAN style="COLOR: #ff0000">label</SPAN><SPAN style="COLOR: #0000ff">="手机分类"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;link</SPAN><SPAN style="COLOR: #0000ff">="catagory"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:Object&nbsp;</SPAN><SPAN style="COLOR: #ff0000">label</SPAN><SPAN style="COLOR: #0000ff">="论&nbsp;坛"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;link</SPAN><SPAN style="COLOR: #0000ff">="forum"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:Object&nbsp;</SPAN><SPAN style="COLOR: #ff0000">label</SPAN><SPAN style="COLOR: #0000ff">="关&nbsp;于"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;link</SPAN><SPAN style="COLOR: #0000ff">="about"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">mx:Array</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">mx:dataProvider</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">mx:LinkBar</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:Label&nbsp;</SPAN><SPAN style="COLOR: #ff0000">text</SPAN><SPAN style="COLOR: #0000ff">="搜索"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:TextInput&nbsp;</SPAN><SPAN style="COLOR: #ff0000">id</SPAN><SPAN style="COLOR: #0000ff">="key"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;width</SPAN><SPAN style="COLOR: #0000ff">="120"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:Button&nbsp;</SPAN><SPAN style="COLOR: #ff0000">label</SPAN><SPAN style="COLOR: #0000ff">="Go"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;click</SPAN><SPAN style="COLOR: #0000ff">="initApp();"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">mx:HBox</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp; <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:DataGrid&nbsp;</SPAN><SPAN style="COLOR: #ff0000">dataProvider</SPAN><SPAN style="COLOR: #0000ff">="{phonelist}"</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:columns</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:Array</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:DataGridColumn&nbsp;</SPAN><SPAN style="COLOR: #ff0000">columnName</SPAN><SPAN style="COLOR: #0000ff">="id"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;headerText</SPAN><SPAN style="COLOR: #0000ff">="ID"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:DataGridColumn&nbsp;</SPAN><SPAN style="COLOR: #ff0000">columnName</SPAN><SPAN style="COLOR: #0000ff">="name"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;&nbsp;headerText</SPAN><SPAN style="COLOR: #0000ff">="Name"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:DataGridColumn&nbsp;</SPAN><SPAN style="COLOR: #ff0000">columnName</SPAN><SPAN style="COLOR: #0000ff">="image"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;&nbsp;headerText</SPAN><SPAN style="COLOR: #0000ff">="Image"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">mx:Array</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">mx:columns</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">mx:DataGrid</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:HBox&nbsp;</SPAN><SPAN style="COLOR: #ff0000">horizontalAlign</SPAN><SPAN style="COLOR: #0000ff">="center"</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mx:Label&nbsp;</SPAN><SPAN style="COLOR: #ff0000">text</SPAN><SPAN style="COLOR: #0000ff">="Copy&nbsp;Right&nbsp;2004&nbsp;&nbsp;dannyr's&nbsp;Studio&nbsp;"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">mx:HBox</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top></SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">mx:Application</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://dannyr.cnblogs.com/Images/OutliningIndicators/None.gif" width=11 align=top></SPAN> </DIV></DIV><BR><STRONG>结果：</STRONG> <BR>在Jsp页面里按<SPAN style="COLOR: red">8859_1</SPAN>编码可以成功获取Flex传递的中文内容。 <BR><BR><STRONG>备注：</STRONG> <BR>这个方法是对<SPAN style="COLOR: red">Tomcat</SPAN>的，其他的Java应用服务器的<SPAN style="COLOR: red">Request</SPAN>处理方式可能不同，应区分对待！ <BR><BR><STRONG>引用：</STRONG> <BR>以下是Flex文档关于<SPAN style="COLOR: #ff0000">System.useCodepage</SPAN>的说明：（比较简单，就不翻译了） <BR>
<H1>System.useCodepage </H1>
<H4><A name=wp4006245></A>Availability</H4>
<P><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"><A title="" href="http://www.cnblogs.com/dannyr/"><FONT color=#355ea0>flash</FONT></A></A> Player 6. </P>
<H4><A name=wp4006247></A>Usage</H4><PRE>System.useCodepage<CODE><I>:Boolean</I></CODE>
</PRE>
<H4><A name=wp4014240></A>Description</H4>
<P>Property; a Boolean value that tells <A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"><A title="" href="http://www.cnblogs.com/dannyr/"><FONT color=#355ea0>flash</FONT></A></A> Player whether to use Unicode or the traditional code page of the operating system running the player to interpret external text files. The default value of System.useCodepage is <CODE>false</CODE>. </P>
<UL>
<LI>When the property is set to <CODE>false</CODE>, <A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"><A title="" href="http://www.cnblogs.com/dannyr/"><FONT color=#355ea0>flash</FONT></A></A> Player interprets external text files as Unicode. (These files must be encoded as Unicode when you save them.) 
<LI>When the property is set to <CODE>true</CODE>, <A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"></A><A href="http://www.cnblogs.com/dannyr/"><A title="" href="http://www.cnblogs.com/dannyr/"><FONT color=#355ea0>flash</FONT></A></A> Player interprets external text files using the traditional code page of the operating system running the player. </LI></UL></SPAN></SPAN></DIV></DIV></DIV><img src ="http://www.blogjava.net/gump/aggbug/21285.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gump/" target="_blank">甘先生</a> 2005-11-24 14:52 <a href="http://www.blogjava.net/gump/articles/21285.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)一个Flex-Jsp-Mysql简单结合例子(Flex经过jsp连接数据库)</title><link>http://www.blogjava.net/gump/articles/21284.html</link><dc:creator>甘先生</dc:creator><author>甘先生</author><pubDate>Thu, 24 Nov 2005 06:51:00 GMT</pubDate><guid>http://www.blogjava.net/gump/articles/21284.html</guid><wfw:comment>http://www.blogjava.net/gump/comments/21284.html</wfw:comment><comments>http://www.blogjava.net/gump/articles/21284.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/gump/comments/commentRss/21284.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gump/services/trackbacks/21284.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;数据库表这个sql是用pd生成的，具体内容大家自己看一下好了，很简单，数据也自己填充一下。标题上说是用mysql，其实无所谓用啥数据库了，这里我推荐Postgresql，现在有for win平台了，不用cygwin来模拟unix环境，这个Postgresql一来小巧，二来功能齐全，看起来有点象Oracle，当然速度也很快了。/**//*===============...&nbsp;&nbsp;<a href='http://www.blogjava.net/gump/articles/21284.html'>阅读全文</a><img src ="http://www.blogjava.net/gump/aggbug/21284.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gump/" target="_blank">甘先生</a> 2005-11-24 14:51 <a href="http://www.blogjava.net/gump/articles/21284.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个JSP从数据库中生成XML文件的例子</title><link>http://www.blogjava.net/gump/articles/21258.html</link><dc:creator>甘先生</dc:creator><author>甘先生</author><pubDate>Thu, 24 Nov 2005 04:37:00 GMT</pubDate><guid>http://www.blogjava.net/gump/articles/21258.html</guid><wfw:comment>http://www.blogjava.net/gump/comments/21258.html</wfw:comment><comments>http://www.blogjava.net/gump/articles/21258.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gump/comments/commentRss/21258.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gump/services/trackbacks/21258.html</trackback:ping><description><![CDATA[<P>一个JSP从数据库生成XML文件的例子：<BR><BR><BR><BR>getTable.jsp <BR></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&lt;%</SPAN><SPAN style="COLOR: #000000">@&nbsp;page&nbsp;contentType</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">text/xml;&nbsp;charset=gb2312</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">%&gt;</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&lt;%</SPAN><SPAN style="COLOR: #000000">@&nbsp;page&nbsp;</SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">java.io.*</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%&gt;</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&lt;%</SPAN><SPAN style="COLOR: #000000">@&nbsp;page&nbsp;</SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">java.sql.*,&nbsp;javax.sql.*</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">%&gt;</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&lt;%</SPAN><SPAN style="COLOR: #000000">@&nbsp;page&nbsp;</SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">java.util.*</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%&gt;</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&lt;%</SPAN><SPAN style="COLOR: #000000">@&nbsp;page&nbsp;</SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">java.math.*</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%&gt;</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&lt;%</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>Connection&nbsp;conn;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>Statement&nbsp;stmt;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>ResultSet&nbsp;rs;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_246_1657_Open_Image onclick="this.style.display='none'; Codehighlighter1_246_1657_Open_Text.style.display='none'; Codehighlighter1_246_1657_Closed_Image.style.display='inline'; Codehighlighter1_246_1657_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_246_1657_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_246_1657_Closed_Text.style.display='none'; Codehighlighter1_246_1657_Open_Image.style.display='inline'; Codehighlighter1_246_1657_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN id=Codehighlighter1_246_1657_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_246_1657_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;String&nbsp;table_name&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;request.getParameter(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">tableName</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">mysql连接&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">Class.forName("com.mysql.jdbc.Driver").newInstance();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">String&nbsp;URL="jdbc:mysql:</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">localhost:3306/job?user=root&amp;password=111111";<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">Connection&nbsp;con&nbsp;=&nbsp;DriverManager.getConnection(URL);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">oracle连接&nbsp;</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;Class.forName(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">oracle.jdbc.driver.OracleDriver</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">).newInstance();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;String&nbsp;URL</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">jdbc:oracle:thin:@10.88.3.230:1521:cust</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;String&nbsp;user</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">vincent</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;String&nbsp;password</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">123456</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;conn&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;DriverManager.getConnection(URL,user,password);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;stmt&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;conn.createStatement();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;String&nbsp;sql&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;SELECT&nbsp;*&nbsp;FROM&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">table_name;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;rs&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;stmt.executeQuery(sql);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;设置表格的名字</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;String&nbsp;tableName&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;table_name.toUpperCase();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">得到列的名字</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;ResultSetMetaData&nbsp;rsmd&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;rs.getMetaData();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;numColumns&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;rsmd.getColumnCount();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;String[]&nbsp;columnNames&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;String[numColumns];<BR><IMG id=Codehighlighter1_1096_1145_Open_Image onclick="this.style.display='none'; Codehighlighter1_1096_1145_Open_Text.style.display='none'; Codehighlighter1_1096_1145_Closed_Image.style.display='inline'; Codehighlighter1_1096_1145_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1096_1145_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1096_1145_Closed_Text.style.display='none'; Codehighlighter1_1096_1145_Open_Image.style.display='inline'; Codehighlighter1_1096_1145_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;i&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">;&nbsp;i&nbsp;</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">&nbsp;numColumns;&nbsp;i</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">)&nbsp;</SPAN><SPAN id=Codehighlighter1_1096_1145_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1096_1145_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;columnNames[i]&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;rsmd.getColumnName(i&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;response.setContentType(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">text/xml</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;out.write(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;?xml&nbsp;version=\</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">1.0</SPAN><SPAN style="COLOR: #000000">\</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;encoding=\</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">UTF</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">8</SPAN><SPAN style="COLOR: #000000">\</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">?&gt;\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;out.write(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;tableName&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">s&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">循环写入数据</SPAN><SPAN style="COLOR: #008000"><BR><IMG id=Codehighlighter1_1319_1586_Open_Image onclick="this.style.display='none'; Codehighlighter1_1319_1586_Open_Text.style.display='none'; Codehighlighter1_1319_1586_Closed_Image.style.display='inline'; Codehighlighter1_1319_1586_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1319_1586_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1319_1586_Closed_Text.style.display='none'; Codehighlighter1_1319_1586_Open_Image.style.display='inline'; Codehighlighter1_1319_1586_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">&nbsp;(rs.next())&nbsp;</SPAN><SPAN id=Codehighlighter1_1319_1586_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1319_1586_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;out.write(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;tableName&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">每一行</SPAN><SPAN style="COLOR: #008000"><BR><IMG id=Codehighlighter1_1404_1547_Open_Image onclick="this.style.display='none'; Codehighlighter1_1404_1547_Open_Text.style.display='none'; Codehighlighter1_1404_1547_Closed_Image.style.display='inline'; Codehighlighter1_1404_1547_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1404_1547_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1404_1547_Closed_Text.style.display='none'; Codehighlighter1_1404_1547_Open_Image.style.display='inline'; Codehighlighter1_1404_1547_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;i&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">;&nbsp;i&nbsp;</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">&nbsp;numColumns;&nbsp;i</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">)&nbsp;</SPAN><SPAN id=Codehighlighter1_1404_1547_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1404_1547_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;out.write(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;columnNames[i]&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;out.write(String.valueOf(rs.getObject(i&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">)));<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;out.write(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;/</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;columnNames[i]&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&gt;\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;out.write(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;/</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;tableName&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;out.write(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;/</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;tableName&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">s&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;rs.close();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;conn.close();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_1667_1673_Open_Image onclick="this.style.display='none'; Codehighlighter1_1667_1673_Open_Text.style.display='none'; Codehighlighter1_1667_1673_Closed_Image.style.display='inline'; Codehighlighter1_1667_1673_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_1667_1673_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1667_1673_Closed_Text.style.display='none'; Codehighlighter1_1667_1673_Open_Image.style.display='inline'; Codehighlighter1_1667_1673_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #0000ff">finally</SPAN><SPAN id=Codehighlighter1_1667_1673_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1667_1673_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">%&gt;</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR><BR><BR>//结束<BR>通过地址就可以访问了:<BR><BR><A href="http://127.0.0.1:7001/getTable.jsp?tableName=emp">http://127.0.0.1:7001/getTable.jsp?tableName=emp</A></P><img src ="http://www.blogjava.net/gump/aggbug/21258.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gump/" target="_blank">甘先生</a> 2005-11-24 12:37 <a href="http://www.blogjava.net/gump/articles/21258.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个JSP对JDBC的数据库进行简单操作的文件(JSP数据库Front-end) </title><link>http://www.blogjava.net/gump/articles/20961.html</link><dc:creator>甘先生</dc:creator><author>甘先生</author><pubDate>Tue, 22 Nov 2005 06:32:00 GMT</pubDate><guid>http://www.blogjava.net/gump/articles/20961.html</guid><wfw:comment>http://www.blogjava.net/gump/comments/20961.html</wfw:comment><comments>http://www.blogjava.net/gump/articles/20961.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/gump/comments/commentRss/20961.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gump/services/trackbacks/20961.html</trackback:ping><description><![CDATA[<P>一个JSP对JDBC的数据库进行简单操作的文件(JSP数据库Front-end)</P>
<P>只要把这个文件发到JSP服务器上。知道数据库的一些配置。 就可以通过这个JSP访问到数据库了。</P>
<P>Zaval Database Front-end</P>
<P><A href="http://www.zaval.org/products/db-front-end/download/index.html">http://www.zaval.org/products/db-front-end/download/index.html</A></P><img src ="http://www.blogjava.net/gump/aggbug/20961.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gump/" target="_blank">甘先生</a> 2005-11-22 14:32 <a href="http://www.blogjava.net/gump/articles/20961.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>