﻿<?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-内蒙古java团队-随笔分类-j2se技术专区</title><link>http://www.blogjava.net/gdws/category/16067.html</link><description>j2se,j2ee开发组</description><language>zh-cn</language><lastBuildDate>Fri, 25 Apr 2008 09:11:29 GMT</lastBuildDate><pubDate>Fri, 25 Apr 2008 09:11:29 GMT</pubDate><ttl>60</ttl><item><title>ajax 入门 5</title><link>http://www.blogjava.net/gdws/archive/2008/04/25/195957.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Fri, 25 Apr 2008 06:16:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2008/04/25/195957.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/195957.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2008/04/25/195957.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/195957.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/195957.html</trackback:ping><description><![CDATA[本次我们再做一点,给这个搜索栏加入一个能够表示请求状态的功能<br />先引出Ajax.Responsders对象<br />这还是一个prototype类库的ajax对象,没有接触的朋友请去找我的ajax入门3<br /><br />这个对象用于注册Ajax的事件监听器,无论任何一个xmlhttprequest对象与服务器发生交互,该对象注册的监听器都将被自动调用<br /><br />首先在我们的仿造google搜索栏的项目中的test.js脚本文件中加入一个事件监听器<br />//定义全局事件处理<br />var globalMan={<br />    //开始交互时运行<br />    onCreate: function(){<br />        //alert("onCreate()");<br />        Element.show("loading");<br />    },<br />    onFailure: function(){<br />        alert("服务器错误或者网络连接错误");<br />    },<br />    onComplete:function(){<br />        if(Ajax.activeRequestCount == 0){<br />            //alert("onComplete");<br />            Element.hide("loading");<br />        }<br />    }<br />}<br /><br />然后用 Ajax.Responders对象将它绑定<br />Ajax.Responders.register(globalMan);<br /><br />其中onCreate为开始交互时,onFailure为交互失败,onComplete为交互完成<br />Ajax.activeRequestCount 表示 Ajax类下的activeRequestCount属性,这个属性代表了正在进行交互的xmlhttprequest对象的个数,当它为0时,表示所有的局部请求都已完成.<br /><br />这里我们仅仅对一个id属性为”loading”的div层进行了显示和隐藏的操作,用来提示用户交互是否在执行,如果交互开始执行就显示它,提示用户开始交互了,交互完毕就隐藏它.<br />下面我们在页面中加入这个loading层<br /><br />&lt;%@ page language="java" import="java.util.*" pageEncoding="utf-8"%&gt;<br />&lt;%<br />String path = request.getContextPath();<br />String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";<br />%&gt;<br /><br />&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br />&lt;html&gt;<br />  &lt;head&gt;<br />    &lt;base href="&lt;%=basePath%&gt;"&gt;<br />    <br />    &lt;title&gt;My JSP 'index.jsp' starting page&lt;/title&gt;<br />    &lt;meta http-equiv="pragma" content="no-cache"&gt;<br />    &lt;meta http-equiv="cache-control" content="no-cache"&gt;<br />    &lt;meta http-equiv="expires" content="0"&gt;    <br />    &lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&gt;<br />    &lt;meta http-equiv="description" content="This is my page"&gt;<br />    &lt;!--<br />    &lt;link rel="stylesheet" type="text/css" href="styles.css"&gt;<br />    --&gt;<br />  &lt;/head&gt;<br />  &lt;script src="js/prototype.js"&gt;&lt;/script&gt;<br />  &lt;script src="js/test.js" &gt;&lt;/script&gt;<br />  &lt;body&gt;<br />  &lt;table width="100%" border="1" bordercolor="#000000"&gt;<br />    &lt;tr&gt;<br />      &lt;td width="18%"&gt;<br />        &lt;input name="text" type="text" id="itext" onKeyUp="getXML()"/&gt;<br />        &lt;input name="button" type="button"  value="搜索"/&gt;<br />        &lt;div id="outdiv" style=" display:none; width:119px; height:20; position:absolute; left: 16px; top: 41px; background-color:#ECEDFF"&gt;<br />        <br />        &lt;!-- 此处添加行列 --&gt;<br />        <br />        &lt;/div&gt;<br />      &lt;/td&gt;<br />    &lt;td width="82%"&gt;&lt;div id="loading" style="position:absolute; display:none"&gt;正在加载...&lt;/div&gt; &lt;/td&gt;<br />    &lt;/tr&gt;<br />    &lt;tr&gt;<br />      &lt;td colspan="2"&gt; &lt;/td&gt;<br />    &lt;/tr&gt;<br />  &lt;/table&gt;<br />  &lt;/body&gt;<br />&lt;/html&gt;<br /><br />这里唯一需要注意的是div层的定位,关于position:absolute 的属性等我研究明白了跟大家分享 - -<br /><img src ="http://www.blogjava.net/gdws/aggbug/195957.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2008-04-25 14:16 <a href="http://www.blogjava.net/gdws/archive/2008/04/25/195957.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ajax 入门 3</title><link>http://www.blogjava.net/gdws/archive/2008/04/25/195954.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Fri, 25 Apr 2008 06:15:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2008/04/25/195954.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/195954.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2008/04/25/195954.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/195954.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/195954.html</trackback:ping><description><![CDATA[才知道ajax应用并不需要一次又一次createXmlHttpRequest,使用框架,一切变得很轻松<br />Prototype仅仅是一个编写好的js脚本库,跟javascript一样,此脚本库只需在页面引用即可<br />下载地址: <a href="http://prototype.conio.net/dist/prototype-1.4.0.tar.gz">http://prototype.conio.net/dist/prototype-1.4.0.tar.gz</a><br />这是一个完全版本,只需要将文件解压,然后在dest目录下拷贝出prototype.js就可以使用,这个文件不需要任何其他文件,只需要在您的项目中拷贝它,引用它,使用它.<br />这里我使用两个脚本文件来对其进行讲解<br />  &lt;script src="js/prototype.js"&gt;&lt;/script&gt;<br />  &lt;script src="js/test.js" &gt;&lt;/script&gt;<br />在调试的时候使用&lt;script src="js/prototype.js"/&gt;会造成IE页面没有任何显示,也不报错,很不解,希望知道为什么的朋友可以告诉我<br /><br />要被赋值的文本框<br />&lt;input type="text" id="userName"&gt;&lt;/input&gt;<br />触发事件的button<br />&lt;input type="button" value="button" onClick="testGEBI('userName')"/&gt;&lt;br&gt;<br />用于输出的局部刷新位置<br />ss:&lt;span id="ss"&gt;&lt;/span&gt;&lt;br&gt;<br /><br />test.js中的函数<br />function testGEBI(str){<br />    //使用$()代替getElementById()<br />    $(str).value="button";<br />    //使用$F取文本框值<br />    ss.innerHTML=$F("userName");<br />}<br />这里$(element)相当于document.getElementById()<br />    $F(element)相当于document.getElementById().value<br />使用prototype的好处就在于可以简化我们的代码,减少代码量<br />其中参数element可以是object对象也可以是id值<br />类似的方法还有一些,大家可以去查查<br /><br />Prototype还有一些自定义的对象和类<br />这里用一个Element对象的empty(element)方法来举例<br />页面上布置一个触发事件的按钮<br />&lt;input type="button" value="testEmpty" onClick="isEmpty()"/&gt;<br />&lt;span id=”ise”&gt;&lt;/span&gt;<br />脚本中加入<br />function isEmpty(){<br />    if(Element.empty("ss")){<br />        ise.innerHTML="空元素";<br />    }<br />}<br />这个方法判断id为”ss”的标签内部是否有元素,如果没有返回true,这个对象还有一些hide(element),show(element)等控制元素显示和隐藏的函数<br /><br />以下是ajax相关的内容,prototype同样为ajax提供了相关函数,避免不停的重复编写createXHR()函数,类有很多,这里只介绍一下Ajax.Request类<br /><br />脚本中加入<br />function getXML(){<br />    //局部请求的地址<br />    var url="priceAction";<br />    //创建的 对象名(这个对象名其实在这里并没有被使用过,当对象一被创建,局部请求就已经发出,所以这里不需要使用这个对象名,它完全可以是匿名的)<br />    var myAjax = new Ajax.Request(<br />    url,<br />    {<br />        method:'post', //请求方法<br />        onComplete:showResponse, //回调函数<br />        asynchronous:true //是否异步<br />    }<br />    );<br />}<br />//回调函数,注意这个回调函数是有参数,用于接收返回的信息<br />function showResponse(xmlrequest){<br />    gx.innerHTML=xmlrequest.responseText;<br />}<br />页面中加入<br />xml:&lt;span id="gx"&gt;&lt;/span&gt;&lt;input type="button" value="getXml" onclick="getXML()"/&gt;<br /><br />可以看到请求被正确发出了,没有浏览器的判断,没有手写的open函数,很简洁<br /><br />同一页面可以很方便的使用多个XmlHttpRequest对象来进行异步请求<br />脚本中再加入<br />function getXML2(){<br />    var url="priceAction";<br />    var myAjax = new Ajax.Request(<br />    url,<br />    {<br />        method:'post',<br />        onComplete:showResponse2,<br />        asynchronous:true<br />    }<br />    );<br />}<br /><br />function showResponse2(xmlrequest2){<br />    gx2.innerHTML=xmlrequest2.responseText;<br />}<br />页面中<br />xml2:&lt;span id="gx2"&gt;&lt;/span&gt;&lt;input type="button" value="getXml2" onclick="getXML2()"/&gt;<br /><br />然后我们编写一个生成随机数的servlet,注意他的地址和上面的url参数一致<br />import java.io.IOException;<br />import java.io.PrintWriter;<br />import java.util.Random;<br /><br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br /><br /><br />public class PriceAction extends HttpServlet {<br /><br />    /**<br />     * Constructor of the object.<br />     */<br />    public PriceAction() {<br />        super();<br />    }<br /><br />    /**<br />     * Destruction of the servlet. &lt;br&gt;<br />     */<br />    public void destroy() {<br />        super.destroy(); // Just puts "destroy" string in log<br />        // Put your code here<br />    }<br /><br />    /**<br />     * The doGet method of the servlet. &lt;br&gt;<br />     *<br />     * This method is called when a form has its tag value method equals to get.<br />     * <br />     * @param request the request send by the client to the server<br />     * @param response the response send by the server to the client<br />     * @throws ServletException if an error occurred<br />     * @throws IOException if an error occurred<br />     */<br />    public void doGet(HttpServletRequest request, HttpServletResponse response)<br />            throws ServletException, IOException {<br /><br />        response.setContentType("text/html");<br />        PrintWriter out = response.getWriter();<br />        out<br />                .println("&lt;!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"&gt;");<br /><br />        <br />        Random rand = new Random(System.currentTimeMillis());<br />        out.write(rand.nextInt(10)+"$"+rand.nextInt(10)+"$"+rand.nextInt(10));<br />        //System.out.println(rand.nextInt(10)+"$"+rand.nextInt(10)+"$"+rand.nextInt(10));<br />        out.flush();<br />        out.close();<br />    }<br /><br />    /**<br />     * The doPost method of the servlet. &lt;br&gt;<br />     *<br />     * This method is called when a form has its tag value method equals to post.<br />     * <br />     * @param request the request send by the client to the server<br />     * @param response the response send by the server to the client<br />     * @throws ServletException if an error occurred<br />     * @throws IOException if an error occurred<br />     */<br />    public void doPost(HttpServletRequest request, HttpServletResponse response)<br />            throws ServletException, IOException {<br /><br />        doGet(request,response);<br />    }<br /><br />    /**<br />     * Initialization of the servlet. &lt;br&gt;<br />     *<br />     * @throws ServletException if an error occure<br />     */<br />    public void init() throws ServletException {<br />        // Put your code here<br />    }<br /><br />}<br /><br />点击两个getXml按钮,可以发现它们并不互相影响,页面也没有被刷新,请求被局部发出,局部刷新.Ajax的框架还有很多,prototype是一个轻量级的<img src ="http://www.blogjava.net/gdws/aggbug/195954.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2008-04-25 14:15 <a href="http://www.blogjava.net/gdws/archive/2008/04/25/195954.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实现ESB</title><link>http://www.blogjava.net/gdws/archive/2007/12/20/168975.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Thu, 20 Dec 2007 03:43:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/12/20/168975.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/168975.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/12/20/168975.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/168975.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/168975.html</trackback:ping><description><![CDATA[激活SOA的全部潜力还需五年。即使用企业服务总线（Enterprise&nbsp;Service&nbsp;Bus，ESB）是实现ESB全部潜力4步中的第三步。模型中的步骤如下：&nbsp;<br />
<br />
使用XML，以更标准的方式使用应用程序接口。&nbsp;<br />
捕获一些业务过程，并将它们转化成为Web服务。&nbsp;<br />
引入并全面使用企业服务总线。&nbsp;<br />
产生业务过程执行语言（Business&nbsp;Process&nbsp;Execution&nbsp;Language，BPEL），它可由业务过程建模工具完成。BPEL可以改变应用程序的行为，而无需修改软件。&nbsp;<br />
Rippert先生在采访中表示，尽管很多组织拥有ESB，但是它并没有被完全利用。他进一步的表示，大多数公司仍处于阶段1。与这个ESB所处位置的论断相对比的是，Burton&nbsp;Group的分析师Anne&nbsp;Thomas&nbsp;Manes的叙述，其发表于近期面向服务架构Yahoo&nbsp;Group的讨论中。Anne说：&nbsp;<br />
<br />
......如果缺少我推荐启动SOA的&#8220;基本组件&#8221;，ESB将不会列在我的清单中。事实上，我并不鼓励人们由ESB开始。ESB并不会鼓励好的SOA行为。ESB本质上是集成系统，而非SOA系统。SOA是用于拆卸应用竖井（application&nbsp;silos），而集成系统则是修补这些竖井。<br />
引用她的书，她接着提及的基本组件包括：&nbsp;<br />
<br />
一个或多个服务平台（如，.NET，Java&nbsp;EE应用服务器等）&nbsp;<br />
SOA管理解决方案&nbsp;<br />
注册表&nbsp;<br />
如果服务要被暴露在防火墙之外，那么需要XML网关&nbsp;<br />
引用组员早期的帖子，她说道：&nbsp;<br />
<br />
&#8220;......ESB特别适合桥接传统应用，因此，在服务基础设施中，它是一个有用的组件。很多ESB也支持可靠消息传递、异步消息传递和发布/订阅交换模式。这些能力都非常有用，但是，在SOA项目的初始阶段可能不会发挥多大的用途。（每个组织有很多不选用这些能力的项目。）在SOA项目的后期，你还可能需要一个编制（orchestration）引擎，并且大多数的ESB都会提供一个。即便如此，ESB也绝对不是组织启动SOA的起点。所有这些能力你一开始并不需要。因此，ESB应该在后期购买。&#8221;<br />
这似乎符合Rippert先生的观点，即尽管很多组织拥有ESB，但是它并没有被完全利用。Manes女士的评论同样有助于定义ESB的范围，通过暗示许多ESB支持的特性，它确定了一组适当的能力。&nbsp;<br />
<br />
根据维基百科的ESB定义，ESB有如下特性：&nbsp;<br />
<br />
它是面向服务架构的实现。&nbsp;<br />
它通常是操作系统和编程语言无关的；它应能在Java和.Net应用程序之间工作。&nbsp;<br />
它使用XML（可扩展标识语言）作为标准通信语言。&nbsp;<br />
它支持Web服务标准。&nbsp;<br />
它支持消息传递（同步、异步、点对点、发布-订阅）。&nbsp;<br />
它包含基于标准的适配器（如J2C/JCA），用于集成传统系统。&nbsp;<br />
它包含对服务编制（orchestration）和编排（choreography）的支持。&nbsp;<br />
它包含智能、基于内容的路由服务（itenerary路由）。&nbsp;<br />
它包含标准安全模型，用于ESB的认证、授权和审计。&nbsp;<br />
它包含转换服务（通常是使用XSLT），在发送应用和接收应用之间转换格式，简化数据格式和值的转换。&nbsp;<br />
它包含基于模式（schema）的验证，用于发送和接收消息。&nbsp;<br />
它可以统一应用业务规则，充实其它来源的消息，分拆和组合多个消息，以及处理异常。&nbsp;<br />
它可以条件路由，或基于非集中策略的消息转换，即不需要集中规则引擎。&nbsp;<br />
它可监视不同SLA（服务级别合约）的消息响应门限，以及在SLA中定义的其它特性。&nbsp;<br />
它（常常）简化&#8220;服务类别&#8221;，向更高或更低优先级用户做出适当的响应。&nbsp;<br />
它支持队列，在应用临时不可用时用来保存消息。&nbsp;<br />
它由（地理）分布式环境中的选择性部署应用适配器组成。&nbsp;<br />
看起来，共识之一是ESB是与编制（orchestration）和业务过程管理（Business&nbsp;Process&nbsp;Management）截然不同的单独一类产品。此外，对于ESB到底是产品还是模式还有很大的争议。&nbsp;<br />
<br />
在本系列的第二部分，InfoQ调查了ESB的使用目的&nbsp;-&nbsp;ESB的使用案例和需求是什么？&nbsp;<br />
<br />
Sonic公司的Dave&nbsp;Chappell开启前文中的讨论，部分1暗示了Sonic软件公司可能事实上正试图标准化基于UML的模式集，实质上，它们定义了ESB的参考架构。&nbsp;<br />
<br />
Stuart&nbsp;Charleton（BEA系统策略咨询服务的企业架构师，位于Canada的Toronto）提供了以下的使用例子：&nbsp;<br />
<br />
消费者使用基于HTTP/S的认证，生产者使用WS-Security。&nbsp;<br />
消费者使用HTTP/RSS，生产者使用WebSphere&nbsp;MQ或JMS。&nbsp;<br />
消费者使用HTTP/REST和URI，生产者使用SOAP/WSDL。&nbsp;<br />
消费者有一组证书，生产者有另一组（键链映射）。&nbsp;<br />
一端使用FTP站点作为&#8220;服务接口&#8221;，而另一端文件被拆分成JMS消息。&nbsp;<br />
在路由到目的地之前，消息需要被充实，这样就可以执行callout来收集额外信息。&nbsp;<br />
生产者要求协议独立的负载均衡和/或故障转移。&nbsp;<br />
消息需要被存储转发，在不可靠服务上改进可靠性。&nbsp;<br />
同时，作为这些主题的补充，Paul&nbsp;Fremantle（WSO2的共同创建者和技术副总裁）增加道：&nbsp;<br />
<br />
因此，ESB是实现仲裁（mediation）的通信基础设施。ESB应该有什么样的拓扑结构呢？我认为它应该是灵活的：你可以将ESB构建为中间层的单个且大的代理，也可是很多智能终端。当然，拓扑结构会影响可管理性，但是只要有配置ESB的中心注册表/仓库，那么它将工作很好。这其中的关键点是ESB应该由策略而非书写代码驱动。<br />
Burton&nbsp;Group的Anne&nbsp;Thomas&nbsp;Manes也说道：&nbsp;<br />
<br />
&#8220;......ESB特别适合桥接传统应用，因此，在服务基础设施中，它是一个有用的组件。很多ESB也支持可靠消息传递、异步消息传递和发布/订阅交换模式。这些能力都非常有用，但是，在SOA项目的初始阶段可能不会发挥多大的用途。（每个组织有很多不选用这些能力的项目。）在SOA项目的后期，你还可能需要一个编制（orchestration）引擎，并且大多数的ESB都会提供一个。即便如此，ESB也绝对不是组织启动SOA的起点。所有这些能力你一开始并不需要。因此，ESB应该在后期购买。&#8221;<br />
以上强调将ESB作为桥接传统应用的手段。Network&nbsp;Computing的近期研究中：调查一组回答者，让他们使用&#8220;从强烈同意到强烈反对&#8221;的标准，为一组关于ESB技术的表述评分。回答者强烈同意的前4个表述是：&nbsp;<br />
<br />
ESB必须给企业数据源（SAP、Peoplesoft、Oracle、SQL&nbsp;Server）提供适配器。&nbsp;<br />
ESB必须至少支持基础的业务过程管理。&nbsp;<br />
ESB实现需要支持开放标准（JMS、Web服务）。&nbsp;<br />
ESB必须与现有的企业应用集成（EAI）和面向消息产品平滑集成。&nbsp;<br />
这暗示着传统数据源（如ERP和EAI系统）是ESB的重要接口，并且它们应该将那些应用层作为基于标准的消息暴露。有趣的发现是，终端用户似乎同意"至少基础的"业务过程管理是ESB&#8220;必须支持的&#8221;。&nbsp;<br />
<br />
关于最后的评论，Steve&nbsp;Jones（来自CapGemini）暗示，ESB的问题事实上是3个毫不相关的问题：集成、构建和业务。&nbsp;<br />
<br />
&#8230;&#8230;第一个挑战是利用现有资产发掘功能（集成），第二个则是构建新的应用（构建），最后则是管理新应用间的交互（业务）。待会儿我将在我的博客中讨论这些。&nbsp;<br />
&nbsp;<br />
<br />
集成产品有很多非常不同的需求，并且驱动力来自于人们想在更面向标准的空间中实现交互，而我不太确定混淆这两个领域为什么有意义。同样的，构建新应用（使用过程或面向对象语言）则需要不同的技术和方法。&nbsp;<br />
<br />
集成总线以其能力作为衡量标准，而业务服务总线则在于简单性和应用开发解决方案的灵活性。并且无论何种合理规模的业务也不会有一劳永逸的解决方案。&nbsp;<br />
ESB综述的第二部分期望能帮助定义用户要求的使用案例，尤其是当他们需要ESB时。共识是：业务过程工具与ESB是不同的，加上ESB包含来自最终用户的完全相反的兴趣，这也暗示着可能将不同种类的产品合并为成了一个。&nbsp;<br />
<br />
欲了解这个讨论，请关注适合于ESB的使用案例。&nbsp;<br />
<img src ="http://www.blogjava.net/gdws/aggbug/168975.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-12-20 11:43 <a href="http://www.blogjava.net/gdws/archive/2007/12/20/168975.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个很有意义的计算题！</title><link>http://www.blogjava.net/gdws/archive/2007/11/21/162171.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Wed, 21 Nov 2007 10:17:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/11/21/162171.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/162171.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/11/21/162171.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/162171.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/162171.html</trackback:ping><description><![CDATA[<font face="arial,sans-serif" color="#000000">一个很有意义的计算题！&nbsp;<br />
<br />
　　如果令&nbsp;<br />
　　A&nbsp;B&nbsp;C&nbsp;D&nbsp;E&nbsp;F&nbsp;G&nbsp;H&nbsp;I&nbsp;J&nbsp;K&nbsp;L&nbsp;M&nbsp;N&nbsp;O&nbsp;P&nbsp;Q&nbsp;R&nbsp;S&nbsp;T&nbsp;U&nbsp;V&nbsp;W&nbsp;X&nbsp;Y&nbsp;Z&nbsp;<br />
<br />
　　分别等于百分之&nbsp;<br />
<br />
　　1&nbsp;2&nbsp;3&nbsp;4&nbsp;5&nbsp;6&nbsp;7&nbsp;8&nbsp;9&nbsp;10&nbsp;11&nbsp;12&nbsp;13&nbsp;14&nbsp;15&nbsp;16&nbsp;17&nbsp;18&nbsp;19&nbsp;20&nbsp;21&nbsp;22&nbsp;23&nbsp;24&nbsp;25&nbsp;26&nbsp;<br />
<br />
　　那么Hard&nbsp;work&nbsp;（努力工作）&nbsp;<br />
<br />
　　　　H+A+R+D+W+O+R+K&nbsp;8+1+18+4+23+15+18+11&nbsp;=&nbsp;98％&nbsp;<br />
<br />
　　　　&nbsp;<br />
<br />
　　　　Knowledge（知识）&nbsp;<br />
<br />
　　　　K+N+O+W+L+E+D+G+E&nbsp;11+14+15+23+12+5+4+7+5&nbsp;=&nbsp;96％&nbsp;<br />
<br />
　　　　Love（爱情）&nbsp;<br />
<br />
　　　　L+O+V+E12+15+22+5&nbsp;=&nbsp;54％&nbsp;<br />
<br />
　　　　&nbsp;<br />
<br />
　　　　Luck（好运）&nbsp;<br />
<br />
　　　　L+U+C+K12+21+3+11&nbsp;=&nbsp;47％&nbsp;<br />
<br />
　　　　（这些我们通常认为重要的东西往往并不是最重要的）&nbsp;<br />
<br />
　　　　&nbsp;<br />
<br />
　　　　什么能使得生活变得圆满？&nbsp;<br />
<br />
　　　　是Money（金钱）吗?&nbsp;...&nbsp;<br />
<br />
　　　　不!&nbsp;M+O+N+E+Y&nbsp;=&nbsp;13+15+14+5+25&nbsp;=&nbsp;72％&nbsp;<br />
<br />
　　　　&nbsp;<br />
<br />
　　　　是Leadership（领导能力）吗?&nbsp;...&nbsp;<br />
<br />
　　　　不!&nbsp;L+E+A+D+E+R+S+H+I+P&nbsp;=&nbsp;12+5+1+4+5+18+19+9+16&nbsp;=&nbsp;89％&nbsp;<br />
<br />
　　　　&nbsp;<br />
<br />
　　　　那么，什么能使生活变成100％的圆满呢？&nbsp;<br />
<br />
　　　　&nbsp;<br />
<br />
　　　　每个问题都有其解决之道，只要你把目光放得远一点！&nbsp;<br />
<br />
　　　　&nbsp;<br />
<br />
　　　　ATTITUDE（心态）&nbsp;<br />
<br />
　　　　A+T+T+I+T+U+D+E&nbsp;1+20+20+9+20+21+4+5&nbsp;=&nbsp;100％&nbsp;<br />
<br />
　　　　&nbsp;<br />
<br />
　　　　我们对待工作、生活的态度能够使我们的生活达到100&nbsp;<br />
</font>
<img src ="http://www.blogjava.net/gdws/aggbug/162171.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-11-21 18:17 <a href="http://www.blogjava.net/gdws/archive/2007/11/21/162171.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4j在项目中的配置。</title><link>http://www.blogjava.net/gdws/archive/2007/11/19/161619.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Mon, 19 Nov 2007 06:55:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/11/19/161619.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/161619.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/11/19/161619.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/161619.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/161619.html</trackback:ping><description><![CDATA[<p><font size="3">log4j是一个很好的开源的日志项目，下面就我在实际中使用的一些情况作一个小结（我所写的是以spring为框架的运用，之所以要提到这点，是因为在spring中专门有处理log4j的地方，而我也用到了这些地方）。</font></p>
<p><font size="3">&nbsp;在使用的第一步你要明白你所发布的web项目所使用的服务器，因为不同的服务器对于使用log4j是有些不同的，我在实际使用中主要是用tomcat和jboss两类，对于tomcat,它本身是没有配置log4j的，所以使用起来和常规的一样；而在jboss中它是本身配置了log4j的，所以有时候我们在看项目代码时，其整个项目并没有log4j的配置文件，而在一些类中仍然定义了Logger,例如static Logger log = org.apache.log4j.Logger.getLogger(UserDaoImple.class);，这就表明开发者打算使用jboss默认的log4j的配置，我们可以在jboss下的对应的log目录下的server.log中看到日志，jboss本身的log4j的配置是将debug,info级的日志写在server.log中，而像error等级别比较高的日志打印到控制台上，而写到server.log中的日志比较多，并不方便查看。于是我们想到使用自己的log4j配置写到某个具体的文件中（注意文件要先建立，才能忘里面写东西，log4j自己不能建立文件），但这里因为jboss有它自己的log4j配置，所以如果我们配置的log4j包含Console的Appender时，就会出错，错误类似于</font></p>
<p><font size="3"><font color="#ff0000">ERROR: invalid console appender config detected, console stream is looping.</font><br />
解决方法一是不用Console的Appender,或者改jboss的配置文件，在jboss-service.xml文件里,把<br />
&lt;mbean code="org.jboss.logging.Log4jService" name="jboss.system:type=Log4jService,service=Logging"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;attribute name="ConfigurationURL"&gt;resource:log4j.xml&lt;/attribute&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>&lt;attribute name="CatchSystemOut"&gt;false&lt;/attribute&gt;</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;attribute name="Log4jQuietMode"&gt;true&lt;/attribute&gt;<br />
&lt;/mbean&gt;。</font></p>
<p><font size="3">我建议不用Console的Appender，当然这是对jboss3.2.x是这样，对于jboss4.0.x如果我们要用自己的log4j配置照上述改还是会有问题，会有类似于</font><font color="#ff0000"><font size="3">log4j:ERROR A "org.jboss.logging.util.OnlyOnceErrorHandler" object is not assignable to a "org.apache.log4j.spi.ErrorHandler" variable</font><font color="#000000" size="3">的异常，解决方法是把/server/default/jbossweb-tomcat55.sar/META-INF/jboss-service.xml 中的以下两个熟悉改成true<br />
&lt;attribute name="Java2ClassLoadingCompliance"&gt;true&lt;/attribute&gt; <br />
&lt;attribute name="UseJBossWebLoader"&gt;true&lt;/attribute&gt; </font></font></p>
<p><font color="#ff0000"><font color="#000000" size="3">以上就是使用jboss服务器可能出现的问题，解决了这些再来使用log4j就比较简单了。</font></font></p>
<p><font color="#ff0000"><font color="#000000" size="3">下面说说对于采用了spring框架的项目如何使用log4j,在spring中使用log4j，有些方便的地方，</font></font></p>
<p><font color="#ff0000"><font color="#000000" size="3">1. 动态的改变记录级别和策略，即修改log4j.properties,不需要重启Web应用，这需要在web.xml中设置一下。<br />
2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径。 <br />
3. 可以把log4j.properties和其他properties一起放在/WEB-INF/ ，而不是Class-Path。</font></font></p>
<p><font color="#ff0000"><font color="#000000" size="3">首先我们在web.xml中需要设定一下</font></font></p>
<p><font color="#ff0000"><font color="#000000" size="3">&lt;context-param&gt; <br />
&lt;param-name&gt;log4jConfigLocation&lt;/param-name&gt; <br />
&lt;param-value&gt;WEB-INF/log4j.properties&lt;/param-value&gt; <br />
&lt;/context-param&gt; <br />
<br />
&lt;context-param&gt; <br />
&lt;param-name&gt;log4jRefreshInterval&lt;/param-name&gt; <br />
&lt;param-value&gt;60000&lt;/param-value&gt; <br />
&lt;/context-param&gt; <br />
<br />
&lt;listener&gt; <br />
&lt;listener-class&gt;org.springframework.web.util.Log4jConfigListener&lt;/listener-class&gt; <br />
&lt;/listener&gt;&nbsp;<br />
其中第二部分就是能够动态修改log4j.properties的关键，容器会每60秒扫描log4j的配置文件&nbsp;。</font></font><font color="#ff0000"><font color="#000000" size="3">对于log4j的配置文件如何写，这就不多说了，大家可以去google，有一点就是我们如果用RollingFileAppender或者FileAppender时，可以通过${webapp.root}来定位到服务器的发布的该项目下，这是spring把web目录的路径压入到了webapp.root的系统变量。然后，在log4j.properties 里就可以这样定义logfile位置 <br />
log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log <br />
如果有多个web应用，怕webapp.root变量重复，可以在context-param里定义webAppRootKey。</font></font></p>
<p><font color="#ff0000"><font color="#000000" size="3"><font size="3">当我们定义完log4j.properties后，剩下的就是在需要记录的class中new 出Logger了<br />
<br />
</font></font></font></p>
<br />
<img src ="http://www.blogjava.net/gdws/aggbug/161619.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-11-19 14:55 <a href="http://www.blogjava.net/gdws/archive/2007/11/19/161619.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>安装ArcGIS 9.2server插件 java环境的配置。</title><link>http://www.blogjava.net/gdws/archive/2007/11/16/160961.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Fri, 16 Nov 2007 03:38:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/11/16/160961.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/160961.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/11/16/160961.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/160961.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/160961.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 安装ArcGIS 9.2server插件 java环境的配置。&nbsp;&nbsp;<a href='http://www.blogjava.net/gdws/archive/2007/11/16/160961.html'>阅读全文</a><img src ="http://www.blogjava.net/gdws/aggbug/160961.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-11-16 11:38 <a href="http://www.blogjava.net/gdws/archive/2007/11/16/160961.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>myeclipse6.0注册码大放送</title><link>http://www.blogjava.net/gdws/archive/2007/11/16/160917.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Fri, 16 Nov 2007 01:47:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/11/16/160917.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/160917.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/11/16/160917.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/160917.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/160917.html</trackback:ping><description><![CDATA[<strong>myeclipse6.0注册码大放送</strong><br />
<br />
Subscriber: yeming <br />
Subscription Code: lLR7ZL-655444-54516456213945437<br />
找了半天才找了个网上不太那么显眼的,我用过可是使用,不过注意注册时千万别上网否则你就重装吧!<br />
<br />
正常：<br />
<p>Subscriber：Administrator<br />
Subscription Code：NLR8ZC-855550-6552685393219112</p>
<p>可以用,我试过了.&nbsp;<br />
<br />
6.0的：<br />
<font color="#000000"><font face="黑体">Subscriber: <font size="3">www.1cn.biz</font></font><br />
</font><font color="#000000"><font face="黑体" size="3">Subscriber Code: jLR8ZC-655355-5450765457039125<br />
</font></font>或者<br />
Subscriber: <font face="黑体" size="3">www.1cn.biz</font><br />
<font face="黑体" size="3">Subscriber Code: jLR7ZL-655355-5450755330522962</font>&nbsp;<br />
<br />
</p>
<p>MyEclipse 6.0.1 注册码</p>
<p>Subscriber: administrator <br />
Subscription Code: nLR7ZL-655342-54657656405281154注册后：</p>
<p>Subscriber: administrator <br />
Product ID: E2MY (MyEclipse Standard Subscription) <br />
License version: 1.0 <br />
Full Maintenance Included <br />
Subscription expiration date (YYYYMMDD): 20091021 <br />
Number of licenses: 897</p>
<p>下面把 6.0GA / M1 和 5.5GA 版本的&#8220;注册信息&#8221;&#8220;注册码&#8221;&#8220;破解&#8221;给大家：</p>
<p>Subscriber: www.1cn.biz <br />
Subscriber Code: jLR8ZC-655355-5450765457039125 <br />
或者 <br />
Subscriber: www.1cn.biz <br />
Subscriber Code: jLR7ZL-655355-5450755330522962适用于早期的 5.5 M2 版本的：</p>
<p>Subscriber: www.1cn.biz <br />
Subscriber Code: jLR8ZC-956-55-5467865833584547适用于早期的 5.1.1 GA 和 5.5 M1 版本的：</p>
<p>Subscriber: www.1cn.biz <br />
Subscriber Code: jLR8ZC-444-55-4467865481680090注册成功后会发现：</p>
<p>Subscriber: www.1cn.biz <br />
Product ID: E3MP (MyEclipse Professional Subscription) <br />
License version: x.x <br />
Full Maintenance Included <br />
Subscription expiration date (YYYYMMDD): 20090520 <br />
Number of licenses: 800</p>
<p><br />
&nbsp;</p>
<img src ="http://www.blogjava.net/gdws/aggbug/160917.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-11-16 09:47 <a href="http://www.blogjava.net/gdws/archive/2007/11/16/160917.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>myeclipse6.0 下载地址。</title><link>http://www.blogjava.net/gdws/archive/2007/11/16/160915.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Fri, 16 Nov 2007 01:41:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/11/16/160915.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/160915.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/11/16/160915.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/160915.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/160915.html</trackback:ping><description><![CDATA[<p>官方下载地址： <br />
<a href="http://downloads.myeclipseide.com/downloads/products/eworkbench/6.0M1/MyEclipse_6.0M1_E3.3_ManualInstall.zip" target="_new" rel="nofollow">http://downloads.myeclipseide.com/downloads/products/eworkbench/6.0M1/MyEclipse_6.0M1_E3.3_ManualInstall.zip</a> <br />
<br />
本地高速下载地址： <br />
<a href="http://www.rosebush.cn/blog/html/23/t-7423.html" target="_new" rel="nofollow">http://www.rosebush.cn/blog/html/23/t-7423.html</a> <br />
<br />
<a href="http://soft.ghy.cn/software/catalog23/895.html" target="_new" rel="nofollow">http://soft.ghy.cn/software/catalog23/895.html</a> <br />
</p>
<img src ="http://www.blogjava.net/gdws/aggbug/160915.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-11-16 09:41 <a href="http://www.blogjava.net/gdws/archive/2007/11/16/160915.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>netbean 下添加jboss服务？？</title><link>http://www.blogjava.net/gdws/archive/2007/11/14/160586.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Wed, 14 Nov 2007 08:45:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/11/14/160586.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/160586.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/11/14/160586.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/160586.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/160586.html</trackback:ping><description><![CDATA[我选择了 &nbsp; 添加服务器实例 <br />
<br />
然后选择JBoss &nbsp; Application &nbsp; Server &nbsp; 4 <br />
<br />
然后选择JBOSS安装目录 &nbsp; ，此时提示我&#8220;域路径无效或者不能满足最低条件&#8221; <br />
<br />
版本 jboss4.0.2<br />
<br />
请大家帮忙？<br />
<img src ="http://www.blogjava.net/gdws/aggbug/160586.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-11-14 16:45 <a href="http://www.blogjava.net/gdws/archive/2007/11/14/160586.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>环境变量设置详解 </title><link>http://www.blogjava.net/gdws/archive/2007/08/16/137280.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Thu, 16 Aug 2007 07:25:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/08/16/137280.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/137280.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/08/16/137280.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/137280.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/137280.html</trackback:ping><description><![CDATA[<font face=Arial>这里写了一些有关于JAVA调试前环境变量设置的东东，希望能对比自己迟学一点的JAVA迷能有一点点的帮助。<br><br>我们假设JDK装在：<br>C:\j2sdk1.4.2_07<br><br>*&nbsp;WIN&nbsp;98或以下&nbsp;直接在DOS环境下输入命令：<br>set&nbsp;path=C:\j2sdk1.4.2_07\bin&nbsp;(javac.exe\java.exe等工具放在bin文件夹下，设置使系统能找到这些工具)<br>set&nbsp;classpath=C:\j2sdk1.4.2_07\lib<br><br>其实，这样设置它的有效期仅在DOS窗口不关的前提下，每一次打开新的DOS窗口都要这样手工的设置。我们可以把这两句话写入系统根目录下的一个批处理文件autoexec.bat里，系统每次启动的都会读取这个文件，这样就不用很烦的每次都要去设置了。<br><br>*&nbsp;WIN&nbsp;2000\WIN&nbsp;XP下：<br>设置或修改系统环境变量，具体步骤如下：<br>右击我的电脑图标-&gt;属性-&gt;选择标签&#8216;高级&#8217;-&gt;找到&#8216;环境变量&#8217;并单击进入环境变量设置窗口-&gt;在系统变量模块里新建几个变量：<br>1.&nbsp;JAVA_HOME&nbsp;值：C:\j2sdk1.4.2_07&nbsp;<br>2.&nbsp;CLASSPATH&nbsp;值：.;%JAVA_HOME%\lib&nbsp;&nbsp;<br>3.&nbsp;Path：%JAVA_HOME%\bin;&nbsp;(也许系统变量里面已经有了Path变量，那么就修改它好了，在原来的值的前面加上%JAVA_HOME%\bin;)<br><br>可以看看有没有设置成功了，打开命令提示符，直接键入JAVAC回车，如果出现一堆可选参数信息，则设置成功。</font>
<img src ="http://www.blogjava.net/gdws/aggbug/137280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-08-16 15:25 <a href="http://www.blogjava.net/gdws/archive/2007/08/16/137280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CGLIB Enhancement failed:</title><link>http://www.blogjava.net/gdws/archive/2007/03/30/107418.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Fri, 30 Mar 2007 02:09:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/03/30/107418.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/107418.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/03/30/107418.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/107418.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/107418.html</trackback:ping><description><![CDATA[
		<div class="action-body">这个问题是由于jboss中cglib与hibernate中cglib的版本冲突引起的。<br />./server/all/deploy/jboss-hibernate.deployer/cglib-full-2.0.1.jar<br />./server/default/deploy/jboss-hibernate.deployer/cglib-full-2.0.1.jar<br />只要把jboss下的这两个文件删除就可以了，并不影响jboss服务的运行，没有任何错误。<br /></div>
		<div id="comment-19107-closed" style="DISPLAY: none">
				<div style="BACKGROUND: #f0f0f0"> </div>
		</div>
<img src ="http://www.blogjava.net/gdws/aggbug/107418.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-03-30 10:09 <a href="http://www.blogjava.net/gdws/archive/2007/03/30/107418.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AE数据转换的代码</title><link>http://www.blogjava.net/gdws/archive/2007/03/08/102634.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Thu, 08 Mar 2007 08:47:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/03/08/102634.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/102634.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/03/08/102634.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/102634.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/102634.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: AE数据转换的代码&nbsp;&nbsp;<a href='http://www.blogjava.net/gdws/archive/2007/03/08/102634.html'>阅读全文</a><img src ="http://www.blogjava.net/gdws/aggbug/102634.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-03-08 16:47 <a href="http://www.blogjava.net/gdws/archive/2007/03/08/102634.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ArcEngine 渲染的使用</title><link>http://www.blogjava.net/gdws/archive/2007/03/08/102632.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Thu, 08 Mar 2007 08:46:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/03/08/102632.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/102632.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/03/08/102632.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/102632.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/102632.html</trackback:ping><description><![CDATA[
		<strong>
				<font size="4">ArcEngine 渲染的使用<br /><br /></font>
		</strong>
		<p>1.Feature的基本渲染方法<br /> Feature的常用的绘制方法包括：<br />  1.简单绘制<br />  2.唯一值绘制/多字段唯一值绘制<br />  3.点密度/多字段点密度绘制<br />  4.数据分级绘制<br />  5.质量图(饼图/直方图)<br />  6.按比例尺渲染<br />  7.比例符号渲染<br />  <br />  1.简单渲染 <br />  简单渲染是ArcEngine的默认渲染，我们打开一个FeatureClass，建立一个FeatureLayer的时候，<br />如果没有给FeatureLayer设置Renderer那么使用的就是简单渲染。简单渲染对整个图层中的所有Feature<br />使用同一种方式显示。<br />简单渲染在ArcEngine中用ISimpleRenderer来表示。<br /> ISimpleRenderer的使用方式如下： <br /> //假设layer是一个IFeatureLayer，获取IGeoFeatureLayer<br />  IGeoFeatureLayer geoLayer=layer as IGeoFeatureLayer;<br />  //构造SimpleRenderer<br />  ISimpleRenderer renderer=new SimpleRendererClass();<br />  renderer.description="简单的渲染一下";<br />  renderer.Label="符号的标签";<br />  //假设sym是一个和该图层中Geometry类型对应的符号；<br />  renderer.Symbol=sym;<br />  //为图层设置渲染，注意需要刷新该图层。<br />  geoLayer.Renderer=renderer;<br />  2.独立值/多字段独立值渲染<br />  独立值/多字段独立值渲染，根据Feature的某一个字段的数据或某几个字段的组合结果来确定符号。<br />  具有相同值或相同组合值的Feature，使用一样的符号。在使用多个字段的使用，每个字段的取值之间<br />  使用分割符来连接。字段的取值顺序和在Renderer中设置的一样。<br />  基本使用方式如下：<br />  //假设layer是一个IFeatureLayer，获取IGeoFeatureLayer<br />  IGeoFeatureLayer geoLayer=layer as IGeoFeatureLayer;<br />  //构造一个UniqueValueRenderer <br />  IUniqueValueRenderer renderer=new UniqueValueRendererClass();<br />  //假设使用两个字段来渲染<br />  renderer.FieldCount=2;<br />  //假设YSLX字段表示要素类型<br />  //假设YSYT字段表示要数用途<br />  renderer.set_Field(0,"YSLX");<br />  renderer.set_Field(1,"YSYT");<br />  //字段之间使用 | 来连接(默认取值)<br />  renderer.FieldDelimiter="|";<br />  //设置默认符号<br />  renderer.DefaultSymbol=defaultSymbol;<br />  renderer.DefaultLabel="默认Label";<br />  //添加值<br />  renderer.addValue("房屋|民居","民居房屋",MJSymbol);<br />  renderer.addValue("房屋|商业用地","商业用地",SYSymbol);<br />  ...<br />  //还可以通过set_Symbol,set_Heading、set_Value来修改上述设置。<br />  geoLayer.Renderer=renderer.<br />  3.点密度/多字段点密度<br />  点密度图通过在Feature的图形上打点来表示数据的数多，点越密集表示数据量越大。<br />  还可以使用多字段的点密度图。这个使用同一个Feature上就可以显示几种不同的点。<br />  注意点密度图有一个特殊的地方：<br />    点密度图使用的符号是面状符号。而其中有需要包括点状符号。<br />    接口使用如下：<br />     IDotDensityRenderer renderer=new DotDensityRendererClass ();<br />   IRendererFields flds=(IRendererFields)renderer;<br />   flds.AddField("MJ ","面积");<br />   flds.AddField("RK","人口");<br />   IDotDensityFillSymbol ddSym=new DotDensityFillSymbolClass();<br />   ISymbolArray symArray=(ISymbolArray)ddSym;<br />   symArray.AddSymbol(mjSymbol);<br />   symArray.AddSymbol(rkSymbol);<br />   ddSym.Outline =(ILineSymbol)outlineSymbol ;   <br />   ddSym.DotSize =10 ;<br />   ddSym.FixedPlacement=true;   <br />   <br />   renderer.DotDensitySymbol =ddSym;<br />   renderer.DotValue=20 ;<br />   renderer.MaintainSize=this.m_dotdensityParam .MaintainSize ;<br />   IGeoFeatureLayer geoLayer=(IGeoFeatureLayer)layer ;<br />   geoLayer.Renderer =(IFeatureRenderer)renderer;<br /> 4.数据分级绘制(使用IClassBreaksRenderer)<br /> 5.饼图/直方图(使用IChartRenderer)<br /> 6.按比例尺渲染(使IScaleDependentRenderer)<br /> 7.比例符号渲染(使用 IProportionalSymbolRenderer )<br />2.图例的使用<br />  图例的使用通过ILegendInfo接口。每个Renderer都实现了该接口，但是有时候该实现不好用，<br />  所以也可以自己实现该接口。实现过程是比较简单的。<br />3.渲染层次<br />  使用ILevelRender 接口。该接口可以指定一 当前的Level(-1)表示绘制全部。<br />  然后 提供一个符号数组 ,注意每个符号要指定Level .如果不指定就默认为0。</p>
		<p>4.透明度控制<br />  透明度控制使用 ITransparencyRenderer 接口。该接口允许指定一个字段，字段取值用来表示透明度<br />  注意 透明度的取值在0--100之间。<br />5.数据正规化<br />  数据正规化用 IDataNormalization 接口来表示。该接口提供了几种正规化表示方法。<br />6.部分渲染<br />  部分渲染通过使用IDataExclusion  来实现。该接口允许提供过滤语句来过滤掉不需要渲染的Feature。<br />  同时也可以给他们制定特殊的符号。同时控制是否显示<br />7.旋转控制<br />  旋转控制通过使用IRotationRenderer 接口来表示。该接口要求提供旋转角度的字段。同时要求提供旋转的<br />  方法。<br />8.数据样本<br /> IDataSampling  没有使用过。<br />9.外表关联<br /> ITable dispTable=((IDisplayTable)feaLayer).DisplayTable ;//图层<br /> ITable attTable；//外表<br /> IMemoryRelationshipClassFactory fac=new MemoryRelationshipClassFactoryClass ();<br /> IRelationshipClass relClass=fac.Open("JZMJ",(IObjectClass)dispTable,"ZDDJH",<br />   IObjectClass)attTable,"G03",<br />   "Forward","Backward",<br />   esriRelCardinality.esriRelCardinalityOneToOne);<br /> IDisplayRelationshipClass dispRelClass=feaLayer as IDisplayRelationshipClass ;<br /> dispRelClass.DisplayRelationshipClass(relClass,esriJoinType.esriLeftInnerJoin);<br />10.统计分析<br />   ITableHistogram  tableHistogram=new BasicTableHistogramClass ();<br />  tableHistogram.Table =((IDisplayTable)layer).DisplayTable  ;<br />  tableHistogram.Field =fieldName ;<br />  object valueArray=null, freq=null;<br />  IBasicHistogram basicHistogram=(IBasicHistogram)tableHistogram;<br />  basicHistogram.GetHistogram(out valueArray,out freq);<br />  IClassify classify=null;<br />   int breakNum=6;<br />   //分类方法<br />   switch(ClassifyMethod )<br />   {<br />    case ClassifyMethodName.lsClassifyMethodEqualInterval:<br />    {<br />     <br />      EqualIntervalClass  eq=new EqualIntervalClass ();<br />      eq.Classify (valueArray,freq,ref breakNum);<br />      classify=(IClassify)eq;<br />     <br />     break;<br />    }<br />    case ClassifyMethodName.lsClassifyMethodStandardDeviation:<br />    {<br />     <br />      StandardDeviationClass sd=new StandardDeviationClass ();<br />      IStatisticsResults stat= histogram as IStatisticsResults ;<br />      classify=sd as IClassify;<br />      classify.SetHistogramData (valueArray,freq);<br />      IDeviationInterval di=sd as IDeviationInterval ;<br />      di.DeviationInterval=1;<br />      di.Mean=stat.Mean;<br />      di.StandardDev=stat.StandardDeviation;<br />      classify.Classify (ref breakNum);<br />     <br />     break;<br />    }<br />    case ClassifyMethodName.lsClassifyMethodQuantile:<br />    {<br />     <br />      Quantile qc=new QuantileClass ();<br />      qc.Classify (valueArray,freq,ref breakNum);<br />      classify=qc as IClassify ;<br />     <br />     break;<br />    }<br />    case ClassifyMethodName.lsClassifyMethodNaturalBreaks:<br />    {<br />     <br />      NaturalBreaksClass nb=new NaturalBreaksClass ();<br />      nb.Classify (valueArray,freq,ref breakNum);<br />      classify=nb as IClassify ;<br />     <br />     break;<br />    }<br />    case ClassifyMethodName.lsClassifyMethodDefinedInterval:<br />    {<br />     DefinedIntervalClass di=new DefinedIntervalClass ();<br />     di.IntervalRange =this.m_classBreaksParam .Interval ;<br />     di.Classify (valueArray,freq,ref breakNum);<br />     classify=di as IClassify ;<br />     break;<br />    }<br />    default:<br />    {<br />    <br />     EqualIntervalClass  eq=new EqualIntervalClass ();<br />     eq.Classify (valueArray,freq,ref breakNum);<br />     classify=(IClassify)eq;<br />     break;<br />    <br />    }<br />   }   <br />   object o=classify.ClassBreaks ;<br />   System.Array breakArray= o as System.Array;<br />   现在breakArray中就是统计后的数据了。</p>
<img src ="http://www.blogjava.net/gdws/aggbug/102632.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-03-08 16:46 <a href="http://www.blogjava.net/gdws/archive/2007/03/08/102632.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ArcEngine影像图配准</title><link>http://www.blogjava.net/gdws/archive/2007/03/08/102630.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Thu, 08 Mar 2007 08:43:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/03/08/102630.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/102630.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/03/08/102630.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/102630.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/102630.html</trackback:ping><description><![CDATA[
		<strong>
				<font size="4">ArcEngine影像图配准<br /><br /></font>
		</strong>
		<p>影像图配准主要包括以下几个方面<br />1.打开影像图<br />2.配准<br />3.影像图入库/保存<br />1.打开影像图的代码以前已经写过了。<br />2.配准 <br />  配准 主要使用IGeoReference这个接口来完成工作。<br />  还有使用ActiveView来进行坐标转换，将MapControl中鼠标的点击位置 转换为<br />  地图和影像图上的坐标。<br />  下面介绍IGeoReference接口<br />   首先RasterLayer实现了这个接口<br />   CanGeoRef 监测该图层是否可以做配准<br />   PointsTransform 将鼠标的位置 转换为栅格文件上的相对坐标。<br />   Rectify 将纠正的结果保存为一个新的栅格文件 相当于另存为 <br />   Register 纠正的结果生成World文件 和栅格文件保存在同一个目录下<br />   Reset 取消纠正 但是Register 之前的操作不能恢复。<br />   <br />   最重要的是下面三个<br />   Shift  一点纠正 就是平移<br />   TwoPointsAdjust 两点配准 有一定的缩放<br />   Warp 三点或以上配准 <br />   <br />   注意事项 <br />   1.每次Register是一个标志阶段<br />    这每次配准的过程中 必须把上次Register 以来的所有配准点数据都使用上。<br />    例如：<br />    首先Register了<br />    然后 1.使用了一点平移<br />         2.接下来 又接受了一个点 这个时候就要使用 两点配准。<br />         3.接下来 又接受了一个点 这个时候就要使用 三点配准了。<br />   2.配准一般还有一个附加的功能 <br />     就是 让用户保存每次的配准过程 并且 提供每次配准过程的精度。这个需要自己补充。<br />3.入库/金字塔<br />  直接来代码： <br />     IRasterProps props=(IRasterProps)this.pRasterLayer.Raster;<br />    m_rasEnv=props.Extent;<br />    IBasicRasterSdeConnection pBasic=new BasicRasterSdeLoader();<br />    //提供连接信息<br />    pBasic.ServerName ="服务期名称" ;<br />    pBasic.Instance ="端口号" ;<br />    pBasic.UserName ="用户名" ;<br />    pBasic.Password ="密码" ;    <br />    //提供影像图<br />    pBasic.Raster =this.pRasterLayer .Raster ;  <br />    //名称<br />    pBasic.SdeRasterName=rasterNameInDB;<br />    <br />    IRasterSdeServerOperation pRo=(IRasterSdeServerOperation)pBasic;<br />    //导入数据<br />    try<br />    {     <br />     pRo.Create();<br />     pRo.ComputeStatistics();<br />    }<br />    catch(Exception ex)<br />    {<br />     System.Windows .Forms .MessageBox .Show ("影像数据入库失败!"+ex.Message );<br />     return;<br />    }<br />    //建立金字塔<br />    IRasterSdeStorage2  pRs=(IRasterSdeStorage2)pRo;<br />    pRs.PyramidOption=esriRasterSdePyramidOptEnum.esriRasterSdePyramidBuildSkipFirstLevel;<br />    pRs.PyramidResampleType=rstResamplingTypes.RSP_BilinearInterpolation;<br />    pRo.BuildPyramids();<br />    这个影像图 就这样到数据库中去了<br />     <br />    注意 <br />    一般自己还要建立一个关于影像图的原数据表 。用来记录那些影像图是属于自己的。还有名称的转换问题<br />    因为中文名称是不可以的。  </p>
<img src ="http://www.blogjava.net/gdws/aggbug/102630.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-03-08 16:43 <a href="http://www.blogjava.net/gdws/archive/2007/03/08/102630.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jboss出现问题汇集？</title><link>http://www.blogjava.net/gdws/archive/2007/01/18/94714.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Thu, 18 Jan 2007 09:36:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/01/18/94714.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/94714.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/01/18/94714.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/94714.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/94714.html</trackback:ping><description><![CDATA[
		<p>1.Java</p>
		<p>启动Jboss时出现的问题<br />出错信息:<br />java.net.BindException: Address already in use: JVM_Bind:80<br /> at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:302)<br /> at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:184)<br />.....<br />原因:80端口被占用,经分析,是因为IIS启动了.<br />解决办法:关闭IIS的http服务,重新启动JBOSS.OK<br />------------------------------------------------------------------------------------------------<br />出错信息：<br />java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagAttributeInfo<br />原因：servlet.jar版本冲突<br />解决办法：检查jre/lib/ext下的servlet.jar如果版本不对，则替换。<br />------------------------------------------------------------------------------------------------<br />出错信息：<br />Failed to boot JBoss: <br />org.jboss.deployment.DeploymentException: url file:/d:/jboss-4.0.2/default,all,minimal/JBoss/conf/jboss-service.xml could not be opened, does it exist? <br />诊断：<br />1.在外部启动jboss是正常的，说明错误和eclipse有关。<br />2.发现jboss的server目录中多了一个文件夹，为"default,all,minimal"难怪找不到。估计是eclipse中server配置混乱了。<br />解决办法：<br />在eclipse中，删除Jboss的配置，新建一个server，在向导的第三页正确填写端口号和Server Configuration(一般选择default即可)。<br />然后再从eclipse中启动jboss，一切正常了。<br />------------------------------------------------------------------------------------------------<br />在使用Taglib标签的时候报如下错误：<font size="2">According to TLD, tag test:select must be empty, but is not<br />原因：jsp中使用标签的时候没有正确书写。<br />解决：&lt;test:select&gt;应该写成&lt;test:select/&gt;<br /></font>-------------------------------------------------------------------------------------------------<br />2.PHP:<br />Warning: Cannot modify header information - headers already sent by (output started at................................<br />原因：是在使用header("Location: $url"); 之前不能有输出。比如echo<br />            注意：有空的html行都不行，因为它当做是输出。<br />解决1：把输出和重定向语句换位置；<br />解决2：使用javascript脚本 ：&lt;Script language=javascript&gt;window.location.href='yoururl'&lt;/script&gt;<br />3.SQL Server<br />----java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Underlying input stream returned zero bytes<br /> at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)<br />原因：text字段不能插入空值（好像包括空字符串和空格都不行，这点还有待考证）<br />解决：在插入时写入一个默认值，比如“无”，或者修改数据库字段的默认值为“无”。<br />SQL Server突然不能启动了。提示："在本计算机无法启动 MSSQLSERVER服务。错误1069:由于登录失败而无法启动。"<br />原因：的确是登录失败。可能是由于修改了登录密码，而服务中的密码没有同步更新而导致。<br />解决：打开控制面板-&gt;管理工具-&gt;服务-&gt;MSSQLSERVER-&gt;属性-&gt;登录身份-&gt;把新密码输入，然后应用，确定即可。</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<font size="2">
						<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
								<font face="Times New Roman">SQL server </font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">视图的</span>
						<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
								<font face="Times New Roman">bug</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：当视图中字段较多，并且有的表中选择了</span>
						<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
								<font face="Times New Roman">*</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时，在视图设计中查询是没有问题的，但用查询分析器或者在外部其他地方查询，则可能发现字段值和字段有错乱的情况。</span>
						<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						</span>
				</font>
		</p>
		<p>
				<font size="2">
						<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">解决办法：去掉所有</span>
						<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
								<font face="Times New Roman">*</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，将字段一个一个输出。</span>
				</font>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<br />
				</span>----Underlying input stream returned zero bytes</p>
		<p>原因：表中有text类型的字段，字段值为空（null）或者空字符串，就出错了。不知道算不算bug，但挺让人恶心的<br />解决：设置默认值为诸如"(无内容)"之类的内容，或者在写入的时候设置值。<br /></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
				</span>
		</p>
		<p> 4.subversion<br />在浏览器中访问<a href="http://localhost/svn">http://localhost/svn</a>时报<br />"You don't have permission to access" /svn on this server.<br />原因：Apache中设置的问题。原设置如下：<br />&lt;Location /svn&gt;<br />DAV svn<br />SVNParentPath e:/svnrep<br />AuthType Basic<br />AuthzSVNAccessFile D:/Apache2/conf/svn/svnaccess<br />AuthName "Subversion 资料库"<br />AuthUserFile D:/Apache2/conf/svn/passwords<br />Require valid-user <br />&lt;/Location&gt;<br />初始化资料库用的　svnadmin create e:\svnrep\svnprjroot<br />解决：修改SVNParentPath为SVNPath e:/svnrep/svnprjroot，一切搞定。<br />结论：还不好下结论说是怎么回事，因为在集成域用户的配置中使用ParentPath是没有问题的。</p>
		<p> </p>
<img src ="http://www.blogjava.net/gdws/aggbug/94714.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-01-18 17:36 <a href="http://www.blogjava.net/gdws/archive/2007/01/18/94714.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse及其插件介绍和下载</title><link>http://www.blogjava.net/gdws/archive/2007/01/18/94642.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Thu, 18 Jan 2007 07:01:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/01/18/94642.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/94642.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/01/18/94642.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/94642.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/94642.html</trackback:ping><description><![CDATA[
		<strong>关键词</strong>： <a href="http://tag.bokee.com/tag/Eclipse" target="_blank">Eclipse</a>    <a href="http://tag.bokee.com/tag/%B2%E5%BC%FE" target="_blank">插件</a>                                           
<p>0.Eclipse下载<br />EMF,GEF - Graphical Editor Framework,UML2,VE - Visual Editor都在这里下载<br /><a href="http://www.eclipse.org/downloads/index.php">http://www.eclipse.org/downloads/index.php</a><br /> <br />0.5.lomboz J2EE<nobr><a class="iAs" oncontextmenu="return false;" onmousemove="kwM(0);" onmouseover="kwE(event,0);" style="COLOR: #0000ff; BORDER-BOTTOM: #000000 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="window.open('http://www.baidu.com/s?wd=site:(bokee.com)插件','_blank');" onmouseout="kwL(event);" target="_blank">插件</a></nobr>,开发JSP,EJB<br /><a href="http://forge.objectweb.org/projects/lomboz">http://forge.objectweb.org/projects/lomboz</a><br />1.MyEclipse J2EE开发插件，支持SERVLET/JSP/EJB/<nobr><a class="iAs" oncontextmenu="return false;" onmousemove="kwM(1);" onmouseover="kwE(event,1);" style="COLOR: #0000ff; BORDER-BOTTOM: #000000 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="window.open('http://www.baidu.com/s?wd=site:(bokee.com)数据库','_blank');" onmouseout="kwL(event);" target="_blank">数据库</a></nobr>操纵等 <br /><a href="http://www.myeclipseide.com/">http://www.myeclipseide.com/</a><br /> <br />2.Properties Editor  编辑java的属性文件，并可以自动存盘为Unicode格式 <br /><a href="http://propedit.sourceforge.jp/index_en.html">http://propedit.sourceforge.jp/index_en.html</a><br />  <br />3.Colorer Take  为上百种类型的文件<nobr><a class="iAs" oncontextmenu="return false;" onmousemove="kwM(2);" onmouseover="kwE(event,2);" style="COLOR: #0000ff; BORDER-BOTTOM: #000000 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="window.open('http://www.baidu.com/s?wd=site:(bokee.com)按语','_blank');" onmouseout="kwL(event);" target="_blank">按语</a></nobr>法着色 <br /><a href="http://colorer.sourceforge.net/">http://colorer.sourceforge.net/</a><br />  <br />4.XMLBuddy 编辑xml文件<br /><a href="http://www.xmlbuddy.com/">http://www.xmlbuddy.com/</a><br />  <br />5.Code Folding  加入多种<nobr><a class="iAs" oncontextmenu="return false;" onmousemove="kwM(4);" onmouseover="kwE(event,4);" style="COLOR: #0000ff; BORDER-BOTTOM: #000000 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="window.open('http://www.baidu.com/s?wd=site:(bokee.com)代码','_blank');" onmouseout="kwL(event);" target="_blank">代码</a></nobr>折叠功能（比eclipse自带的更多） <br /><a href="http://www.coffee-bytes.com/servlet/PlatformSupport">http://www.coffee-bytes.com/servlet/PlatformSupport</a><br />  <br />6.Easy Explorer  从eclipse中访问选定文件、目录所在的文件夹 <br /><a href="http://easystruts.sourceforge.net/">http://easystruts.sourceforge.net/</a><br />  <br />7.Fat Jar 打包插件，可以方便的完成各种打包任务，可以包含外部的包等 <br /><a href="http://fjep.sourceforge.net/">http://fjep.sourceforge.net/</a><br />  <br />8.RegEx Test 测试正则<nobr><a class="iAs" oncontextmenu="return false;" onmousemove="kwM(5);" onmouseover="kwE(event,5);" style="COLOR: #0000ff; BORDER-BOTTOM: #000000 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="window.open('http://www.baidu.com/s?wd=site:(bokee.com)表达式','_blank');" onmouseout="kwL(event);" target="_blank">表达式</a></nobr><br /><a href="http://brosinski.com/stephan/archives/000028.php">http://brosinski.com/stephan/archives/000028.php</a><br />  <br />9.JasperAssistant 报表插件（强，要钱的） <br /><a href="http://www.jasperassistant.com/">http://www.jasperassistant.com/</a><br />  <br />10.Jigloo GUI Builder ＪＡＶＡ的ＧＵＩ编辑插件 <br /><a href="http://cloudgarden.com/jigloo/">http://cloudgarden.com/jigloo/</a><br />  <br />11.Profiler 性能跟踪、测量工具，能跟踪、测量ＢＳ程序 <br /><a href="http://sourceforge.net/projects/eclipsecolorer/">http://sourceforge.net/projects/eclipsecolorer/</a><br />  <br />12.AdvanQas 提供对if/else等条件语句的提示和快捷帮助（自动更改结构等） <br /><a href="http://eclipsecolorer.sourceforge.net/advanqas/index.html">http://eclipsecolorer.sourceforge.net/advanqas/index.html</a><br />  <br />13.Log4E Log4j插件，提供各种和Log4j相关的任务，如为方法、类添加一个logger等 <br /><a href="http://log4e.jayefem.de/index.php/Main_Page">http://log4e.jayefem.de/index.php/Main_Page</a><br />  <br />14.VSSPlugin VSS插件 <br /><a href="http://sourceforge.net/projects/vssplugin">http://sourceforge.net/projects/vssplugin</a><br />  <br />15.Implementors 提供跳转到一个<nobr><a class="iAs" oncontextmenu="return false;" onmousemove="kwM(3);" onmouseover="kwE(event,3);" style="COLOR: #0000ff; BORDER-BOTTOM: #000000 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="window.open('http://www.baidu.com/s?wd=site:(bokee.com)方法的','_blank');" onmouseout="kwL(event);" target="_blank">方法的</a></nobr>实现类，而不是接中的功能（实用!） <br /><a href="http://eclipse-tools.sourceforge.net/implementors/">http://eclipse-tools.sourceforge.net/implementors/</a><br />  <br />16.Call Hierarchy 显示一个方法的调用层次（被哪些方法调，调了哪些方法） <br /><a href="http://eclipse-tools.sourceforge.net/call-hierarchy/index.html">http://eclipse-tools.sourceforge.net/call-hierarchy/index.html</a><br />  <br />17.EclipseTidy 检查和格式化HTML/XML文件 <br /><a href="http://eclipsetidy.sourceforge.net/">http://eclipsetidy.sourceforge.net/</a><br />  <br />18.Checkclipse 检查代码的风格、<nobr><a class="iAs" oncontextmenu="return false;" onmousemove="kwM(6);" onmouseover="kwE(event,6);" style="COLOR: #0000ff; BORDER-BOTTOM: #000000 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="window.open('http://www.baidu.com/s?wd=site:(bokee.com)写法','_blank');" onmouseout="kwL(event);" target="_blank">写法</a></nobr>是否符合规范 <br /><a href="http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm">http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm</a><br />  <br />19.Hibernate Synchronizer Hibernate插件，自动映射等 <br /><a href="http://www.binamics.com/hibernatesync/">http://www.binamics.com/hibernatesync/</a><br />  <br />20.VeloEclipse  Velocity插件 <br /><a href="http://propsorter.sourceforge.net/">http://propsorter.sourceforge.net/</a><br />  <br />21.EditorList 方便的列出所有打开的Editor <br /><a href="http://editorlist.sourceforge.net/">http://editorlist.sourceforge.net/</a><br />  <br />22.MemoryManager 内存占用率的监视 <br /><a href="http://cloudgarden.com/memorymanager/">http://cloudgarden.com/memorymanager/</a><br /> <br />23.swt-designer java的GUI插件<br /><a href="http://www.swt-designer.com/">http://www.swt-designer.com/</a><br /> <br />24.TomcatPlugin 支持Tomcat插件 <br /><a href="http://www.sysdeo.com/eclipse/tomcatPlugin.html">http://www.sysdeo.com/eclipse/tomcatPlugin.html</a><br /> <br />25.XML Viewer <br /><a href="http://tabaquismo.freehosting.net/ignacio/eclipse/xmlview/index.html">http://tabaquismo.freehosting.net/ignacio/eclipse/xmlview/index.html</a><br /> <br />26.quantum 数据库插件<br /><a href="http://quantum.sourceforge.net/">http://quantum.sourceforge.net/</a><br /> <br />27.Dbedit 数据库插件<br /><a href="http://sourceforge.net/projects/dbedit">http://sourceforge.net/projects/dbedit</a><br /> <br />28.clay.core 可视化的数据库插件 <br /><a href="http://www.azzurri.jp/en/software/index.jsp">http://www.azzurri.jp/en/software/index.jsp</a><br /><a href="http://www.azzurri.jp/eclipse/plugins">http://www.azzurri.jp/eclipse/plugins</a><br /> <br />29.hiberclipse hibernate插件 <br /><a href="http://hiberclipse.sourceforge.net/">http://hiberclipse.sourceforge.net/</a><br /><a href="http://www.binamics.com/hibernatesync">http://www.binamics.com/hibernatesync</a><br /> <br />30.struts-console Struts插件<br /><a href="http://www.jamesholmes.com/struts/console/">http://www.jamesholmes.com/struts/console/</a><br /> <br />31.easystruts Struts插件<br /><a href="http://easystruts.sourceforge.net/">http://easystruts.sourceforge.net/</a><br /> <br />32.veloedit Velocity插件<br /><a href="http://veloedit.sourceforge.net/">http://veloedit.sourceforge.net/</a><br /> <br />33.jalopy 代码整理插件<br /><a href="http://jalopy.sourceforge.net/">http://jalopy.sourceforge.net/</a><br /> <br />34.JDepend 包关系分析<br /><a href="http://andrei.gmxhome.de/jdepend4eclipse/links.html">http://andrei.gmxhome.de/jdepend4eclipse/links.html</a><br /> <br />35.Spring IDE Spring插件<br /><a href="http://springide-eclip.sourceforge.net/updatesite/">http://springide-eclip.sourceforge.net/updatesite/</a><br /> <br />36.doclipse 可以产生xdoclet 的代码提示<br /><a href="http://beust.com/doclipse/">http://beust.com/doclipse/</a><br /><br /></p><p><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">JSEclipse</span></p><p><span style="FONT-FAMILY: 宋体">插件主页：<span lang="EN-US"><a href="http://www.interaktonline.com/Products/Eclipse/JSEclipse/Overview/"><span><font color="#ffa500">http://www.interaktonline.com/Products/Eclipse/JSEclipse/Overview/</font></span></a></span></span></p><p><span style="FONT-FAMILY: 宋体">插件介绍：<span lang="EN-US">JSEclipse</span>是个<span lang="EN-US">Eclipse</span>下的免费<span lang="EN-US">Javascript</span>脚本编辑器<span lang="EN-US"><br /><br />subversion</span>版本控制，相当于<span lang="EN-US">CVS</span>安装：<span lang="EN-US"><a href="http://subclipse.tigris.org/install.html"><span><font color="#ffa500">http://subclipse.tigris.org/install.html</font></span></a></span></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">Name: Subclipse<br />URL: http://subclipse.tigris.org/update_1.0.x<br /></span><span lang="EN-US" style="FONT-FAMILY: 宋体">CSS Editor for Eclipse<br /><a href="http://csseditor.sourceforge.net/"><span><font color="#ffa500">http://csseditor.sourceforge.net/</font></span></a><br /><br />FacesIDE<br />FacesIDE</span><span style="FONT-FAMILY: 宋体">是一个用于开发<span lang="EN-US">JSF</span>的<span lang="EN-US">Eclispe</span>插件<span lang="EN-US">.</span>它可以可视化编辑<span lang="EN-US">faces-config.xml</span>文件并且提供代码编辑与校验<span lang="EN-US">,</span>预览<span lang="EN-US">JSF</span>的<span lang="EN-US">JSP</span>文件<span lang="EN-US">.FacesIDE</span>包含<span lang="EN-US">MyFaces</span>来作为<span lang="EN-US">JSF</span>的实现<span lang="EN-US"><br /><a href="http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=FacesIDE"><span style="FONT-SIZE: 10pt; COLOR: black">http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=FacesIDE</span></a></span></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">Eclipse SQLExplorer plugin</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">一个数据库管理插件<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://sourceforge.net/projects/eclipsesql"><span style="FONT-SIZE: 10pt; COLOR: black">http://sourceforge.net/projects/eclipsesql</span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">Poperties Editor</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">一个在编辑完成后可以将资源文件中的中文编码格式转换为<span lang="EN-US">unicode</span>编码的插件，在开发国际化应用程序的时候非常有用<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://propedit.sourceforge.jp/eclipse/updates/"><span style="FONT-SIZE: 10pt; COLOR: black">http://propedit.sourceforge.jp/eclipse/updates/</span></a></span></p><p><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">eclipseME</span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://eclipseme.org/updates/"><span style="FONT-SIZE: 10pt; COLOR: black">http://eclipseme.org/updates/</span><span><font color="#ffa500"></font></span></a></span></p><p><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">Eclipse</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">加速插件<span lang="EN-US">KeepResident</span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://suif.stanford.edu/pub/keepresident/"><br /><span style="FONT-SIZE: 10pt; COLOR: black">http://suif.stanford.edu/pub/keepresident/</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />MyEclipse J2EE</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">开发插件，支持<span lang="EN-US">SERVLET/JSP/EJB/</span>数据库操纵等<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://www.myeclipseide.com/"><span style="FONT-SIZE: 10pt; COLOR: black">www.myeclipseide.com</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />Properties Editor </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">编辑<span lang="EN-US">java</span>的属性文件，并可以自动存盘为<span lang="EN-US">Unicode</span>格式<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://propedit.sourceforge.jp/index_en.html"><span style="FONT-SIZE: 10pt; COLOR: black">http://propedit.sourceforge.jp/index_en.html</span><span><font color="#ffa500"></font></span></a><br /><a href="http://propedit.sourceforge.jp/eclipse/updates/"><span style="FONT-SIZE: 10pt; COLOR: black">http://propedit.sourceforge.jp/eclipse/updates/</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />Colorer Take </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">为上百种类型的文件按语法着色<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://colorer.sourceforge.net/"><span style="FONT-SIZE: 10pt; COLOR: black">http://colorer.sourceforge.net/</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />XMLBuddy </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">编辑<span lang="EN-US">xml</span>文件<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://www.xmlbuddy.com/"><span style="FONT-SIZE: 10pt; COLOR: black">www.xmlbuddy.com</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />Code Folding </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">加入多种代码折叠功能（比<span lang="EN-US">eclipse</span>自带的更多）<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://www.coffee-bytes.com/servlet/PlatformSupport"><span style="FONT-SIZE: 10pt; COLOR: black">http://www.coffee-bytes.com/servlet/PlatformSupport</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />Easy Explorer </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">从<span lang="EN-US">eclipse</span>中访问选定文件、目录所在的文件夹<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://easystruts.sourceforge.net/"><span style="FONT-SIZE: 10pt; COLOR: black">http://easystruts.sourceforge.net/</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />Fat Jar </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">打包插件，可以方便的完成各种打包任务，可以包含外部的包等<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://fjep.sourceforge.net/"><span style="FONT-SIZE: 10pt; COLOR: black">http://fjep.sourceforge.net/</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />RegEx Test </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">测试正则表达式<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://brosinski.com/stephan/archives/000028.php"><span style="FONT-SIZE: 10pt; COLOR: black">http://brosinski.com/stephan/archives/000028.php</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />JasperAssistant </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">报表插件（强，要钱的）<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://www.jasperassistant.com/"><span style="FONT-SIZE: 10pt; COLOR: black">http://www.jasperassistant.com/</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />Jigloo GUI Builder </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">ＪＡＶＡ的ＧＵＩ编辑插件<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://cloudgarden.com/jigloo/"><span style="FONT-SIZE: 10pt; COLOR: black">http://cloudgarden.com/jigloo/</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />Profiler </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">性能跟踪、测量工具，能跟踪、测量ＢＳ程序<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://sourceforge.net/projects/eclipsecolorer/"><span style="FONT-SIZE: 10pt; COLOR: black">http://sourceforge.net/projects/eclipsecolorer/</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />AdvanQas </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">提供对<span lang="EN-US">if/else</span>等条件语句的提示和快捷帮助（自动更改结构等）<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://eclipsecolorer.sourceforge.net/advanqas/index.html"><span style="FONT-SIZE: 10pt; COLOR: black">http://eclipsecolorer.sourceforge.net/advanqas/index.html</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />Log4E Log4j</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">插件，提供各种和<span lang="EN-US">Log4j</span>相关的任务，如为方法、类添加一个<span lang="EN-US">logger</span>等<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://log4e.jayefem.de/index.php/Main_Page"><span style="FONT-SIZE: 10pt; COLOR: black">http://log4e.jayefem.de/index.php/Main_Page</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />VSSPlugin VSS</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">插件<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://sourceforge.net/projects/vssplugin"><span style="FONT-SIZE: 10pt; COLOR: black">http://sourceforge.net/projects/vssplugin</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />Implementors </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">提供跳转到一个方法的实现类，而不是接中的功能（实用<span lang="EN-US">!</span>）<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://eclipse-tools.sourceforge.net/implementors/"><span style="FONT-SIZE: 10pt; COLOR: black">http://eclipse-tools.sourceforge.net/implementors/</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />Call Hierarchy </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">显示一个方法的调用层次（被哪些方法调，调了哪些方法）<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://eclipse-tools.sourceforge.net/call-hierarchy/index.html"><span style="FONT-SIZE: 10pt; COLOR: black">http://eclipse-tools.sourceforge.net/call-hierarchy/index.html</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />EclipseTidy </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">检查和格式化<span lang="EN-US">HTML/XML</span>文件<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://eclipsetidy.sourceforge.net/"><span style="FONT-SIZE: 10pt; COLOR: black">http://eclipsetidy.sourceforge.net/</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />Checkclipse </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">检查代码的风格、写法是否符合规范<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm"><span style="FONT-SIZE: 10pt; COLOR: black">http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />Hibernate Synchronizer Hibernate</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">插件，自动映射等<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://www.binamics.com/hibernatesync/"><span style="FONT-SIZE: 10pt; COLOR: black">http://www.binamics.com/hibernatesync/</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />spring updatesite </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">插件<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://springide.org/updatesite/"><span style="FONT-SIZE: 10pt; COLOR: black">http://springide.org/updatesite/</span><span><font color="#ffa500"></font></span></a></span></p><p><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">VeloEclipse Velocity</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">插件<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://propsorter.sourceforge.net/"><span style="FONT-SIZE: 10pt; COLOR: black">http://propsorter.sourceforge.net/</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />EditorList </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">方便的列出所有打开的<span lang="EN-US">Editor</span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://editorlist.sourceforge.net/"><span style="FONT-SIZE: 10pt; COLOR: black">http://editorlist.sourceforge.net/</span><span><font color="#ffa500"></font></span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体"><br />MemoryManager </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">内存占用率的监视<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://cloudgarden.com/memorymanager/"><span style="FONT-SIZE: 10pt; COLOR: black">http://cloudgarden.com/memorymanager/</span><span><font color="#ffa500"></font></span></a></span></p><p><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">Eclipse</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">的游戏插件<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://eclipse-games.sourceforge.net/"><span style="FONT-SIZE: 10pt; COLOR: black">http://eclipse-games.sourceforge.net/</span><span><font color="#ffa500"></font></span></a></span></p><p><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">JBoss-IDE</span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://jboss.sourceforge.net/jbosside/updates/"><span style="FONT-SIZE: 10pt; COLOR: black">http://jboss.sourceforge.net/jbosside/updates/</span><span><font color="#ffa500"></font></span></a></span></p><p><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">自动反编译<span lang="EN-US">class</span>，安装后要设定<span lang="EN-US">class</span>文件缺省关联到<span lang="EN-US">jode</span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://www.technoetic.com/eclipse/update"><span style="FONT-SIZE: 10pt; COLOR: black">http://www.technoetic.com/eclipse/update</span><span><font color="#ffa500"></font></span></a></span></p><p><span lang="EN-US" style="FONT-FAMILY: 宋体"></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">jigloo swing/sw</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">设计工具，里面自带的<span lang="EN-US">form/anchor</span>布局很好用！<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://cloudgarden.soft-gems.net/update-site/"><span style="FONT-SIZE: 10pt; COLOR: black">http://cloudgarden.soft-gems.net/update-site/</span><span><font color="#ffa500"></font></span></a></span></p><p><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">jinto</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">的资源文件编辑工具，同时编辑多种语言，而且自动转换成<span lang="EN-US">iso8859-1</span>编码。很好用！<span lang="EN-US"></span></span><span lang="EN-US" style="FONT-FAMILY: 宋体"><a href="http://www.guh-software.de/eclipse/"><span style="FONT-SIZE: 10pt; COLOR: black">http://www.guh-software.de/eclipse/</span><span><font color="#ffa500"></font></span></a></span></p><img src ="http://www.blogjava.net/gdws/aggbug/94642.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-01-18 15:01 <a href="http://www.blogjava.net/gdws/archive/2007/01/18/94642.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate的一对多关联实例</title><link>http://www.blogjava.net/gdws/archive/2007/01/09/92636.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Tue, 09 Jan 2007 08:14:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/01/09/92636.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/92636.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/01/09/92636.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/92636.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/92636.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Hibernate的一对多关联实例																				 								            我的例子是一个全国省和市的数据表，省为一个表，市为一个表，所使用的数据库是MySQL 4.1.11。表的结构如下：																		 1										CREATE										 										TABLE	...&nbsp;&nbsp;<a href='http://www.blogjava.net/gdws/archive/2007/01/09/92636.html'>阅读全文</a><img src ="http://www.blogjava.net/gdws/aggbug/92636.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-01-09 16:14 <a href="http://www.blogjava.net/gdws/archive/2007/01/09/92636.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate一对多单向关系</title><link>http://www.blogjava.net/gdws/archive/2007/01/09/92599.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Tue, 09 Jan 2007 06:41:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/01/09/92599.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/92599.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/01/09/92599.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/92599.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/92599.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1.   								数据库				schema														teachers														表						:																create table teachers								(														  id          number(1...&nbsp;&nbsp;<a href='http://www.blogjava.net/gdws/archive/2007/01/09/92599.html'>阅读全文</a><img src ="http://www.blogjava.net/gdws/aggbug/92599.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gdws/" target="_blank">帅子</a> 2007-01-09 14:41 <a href="http://www.blogjava.net/gdws/archive/2007/01/09/92599.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate一对一数据关联(二) 唯一外键关联</title><link>http://www.blogjava.net/gdws/archive/2007/01/08/92413.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Mon, 08 Jan 2007 08:55:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/01/08/92413.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/92413.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/01/08/92413.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/92413.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/92413.html</trackback:ping><description><![CDATA[Hibernate一对一数据关联(二) 唯一外键关联<br />一.单向一对一关联<br />1.数据模型如下图所示：<br /><img src="http://photo5.fotolog.net.cn/userimages/65/73/s/seecolor/49/500_oYeBDVyb.jpg" /><br /><br />2.数据表sql<br /><span style="COLOR: #0000ff">DROP</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">TABLE</span><span style="COLOR: #000000"> T_User;<br /></span><span style="COLOR: #0000ff">DROP</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">TABLE</span><span style="COLOR: #000000"> T_Group;<br /><br /></span><span style="COLOR: #0000ff">CREATE</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">TABLE</span><span style="COLOR: #000000"> T_Group (<br />       id </span><span style="FONT-WEIGHT: bold; COLOR: #000000">INT</span><span style="COLOR: #000000"> </span><span style="COLOR: #808080">NOT</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000"> AUTO_INCREMENT<br />     , name </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">)<br />     , </span><span style="COLOR: #0000ff">PRIMARY</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">KEY</span><span style="COLOR: #000000"> (id)<br />);<br /><br /></span><span style="COLOR: #0000ff">CREATE</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">TABLE</span><span style="COLOR: #000000"> T_User (<br />       id </span><span style="FONT-WEIGHT: bold; COLOR: #000000">INT</span><span style="COLOR: #000000"> </span><span style="COLOR: #808080">NOT</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000"> AUTO_INCREMENT<br />     , name </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">)<br />     , age </span><span style="FONT-WEIGHT: bold; COLOR: #000000">INT</span><span style="COLOR: #000000"><br />     , group_id </span><span style="FONT-WEIGHT: bold; COLOR: #000000">INT</span><span style="COLOR: #000000"> </span><span style="COLOR: #808080">NOT</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000"><br />     , </span><span style="COLOR: #0000ff">PRIMARY</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">KEY</span><span style="COLOR: #000000"> (id)<br />     , </span><span style="COLOR: #0000ff">INDEX</span><span style="COLOR: #000000"> (group_id)<br />     , </span><span style="COLOR: #0000ff">CONSTRAINT</span><span style="COLOR: #000000"> FK_T_User_1 </span><span style="COLOR: #0000ff">FOREIGN</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">KEY</span><span style="COLOR: #000000"> (group_id)<br />                  </span><span style="COLOR: #0000ff">REFERENCES</span><span style="COLOR: #000000"> T_Group (id)<br />);<br /><br /></span>&lt;/DIV&gt;<br />3.POJO类<br />TUser.java<br /><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000"> cn.blogjava.start;<br /><br /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> TUser  </span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000"> java.io.Serializable {<br />    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Fields    </span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">     </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> Integer id;<br />     </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> Integer age;<br />     </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> String name;<br />     </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> TGroup group;<br /><br /><br />    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Constructors</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Integer getAge() {<br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> age;<br />    }<br /><br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> setAge(Integer age) {<br />        </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.age </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> age;<br />    }<br /><br /><br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> TGroup getGroup() {<br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> group;<br />    }<br /><br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> setGroup(TGroup group) {<br />        </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.group </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> group;<br />    }<br /><br />    </span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"> default constructor </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> TUser() {<br />    }<br />    <br />    </span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"> constructor with id </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> TUser(Integer id) {<br />        </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.id </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> id;<br />    }<br /><br />    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Property accessors</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Integer getId() {<br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.id;<br />    }<br />    <br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> setId(Integer id) {<br />        </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.id </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> id;<br />    }<br /><br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String getName() {<br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.name;<br />    }<br />    <br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> setName(String name) {<br />        </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.name </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> name;<br />    }<br />}</span><br />TGroup.java<br /><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000"> cn.blogjava.start;<br /><br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.io.Serializable;<br /><br /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> TGroup </span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000"> Serializable {<br />    <br />    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> Integer id;<br />    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> String name;<br />    <br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Integer getId() {<br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> id;<br />    }<br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> setId(Integer id) {<br />        </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.id </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> id;<br />    }<br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String getName() {<br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> name;<br />    }<br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> setName(String name) {<br />        </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.name </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> name;<br />    }<br />    <br />}<br /></span>&lt;/DIV&gt;<br />3.配置文件<br />hibernate.cfg.xml<br /><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 /></span><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #ff00ff">DOCTYPE hibernate-configuration PUBLIC<br />        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"<br />        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">hibernate-configuration</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">session-factory</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="hibernate.connection.driver_class"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">com.mysql.jdbc.Driver</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="hibernate.connection.password"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">1234</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="hibernate.connection.url"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">jdbc:mysql://localhost:3306/sample</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="hibernate.connection.username"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">root</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="hibernate.dialect"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">org.hibernate.dialect.MySQLDialect</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">mapping </span><span style="COLOR: #ff0000">resource</span><span style="COLOR: #0000ff">="cn/blogjava/start/TUser.hbm.xml"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">mapping </span><span style="COLOR: #ff0000">resource</span><span style="COLOR: #0000ff">="cn/blogjava/start/TGroup.hbm.xml"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000">        <br />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">session-factory</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">hibernate-configuration</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span>&lt;/DIV&gt;<br />TGroup.hbm.xml<br /><span style="COLOR: #0000ff">&lt;?</span><span style="COLOR: #ff00ff">xml version="1.0"</span><span style="COLOR: #0000ff">?&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #ff00ff">DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br />"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">hibernate-mapping</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">class </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="cn.blogjava.start.TGroup"</span><span style="COLOR: #ff0000"> table</span><span style="COLOR: #0000ff">="T_Group"</span><span style="COLOR: #ff0000"> catalog</span><span style="COLOR: #0000ff">="sample"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">id </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="id"</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">="integer"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">column </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="id"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">generator </span><span style="COLOR: #ff0000">class</span><span style="COLOR: #0000ff">="native"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">id</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="name"</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">="string"</span><span style="COLOR: #ff0000"> column</span><span style="COLOR: #0000ff">="name"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">class</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">hibernate-mapping</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span>&lt;/DIV&gt;<br />TUser.hbm.xml<br /><span style="COLOR: #0000ff">&lt;?</span><span style="COLOR: #ff00ff">xml version="1.0"</span><span style="COLOR: #0000ff">?&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #ff00ff">DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br />"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">hibernate-mapping</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">class </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="cn.blogjava.start.TUser"</span><span style="COLOR: #ff0000"> table</span><span style="COLOR: #0000ff">="T_User"</span><span style="COLOR: #ff0000"> catalog</span><span style="COLOR: #0000ff">="sample"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">id </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="id"</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">="integer"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">column </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="id"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">generator </span><span style="COLOR: #ff0000">class</span><span style="COLOR: #0000ff">="native"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">id</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="name"</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">="string"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">column </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="name"</span><span style="COLOR: #ff0000"> length</span><span style="COLOR: #0000ff">="100"</span><span style="COLOR: #ff0000"> not-null</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="age"</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">="java.lang.Integer"</span><span style="COLOR: #ff0000"> column</span><span style="COLOR: #0000ff">="age"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">many-to-one </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="group"</span><span style="COLOR: #ff0000"> <br />                    class</span><span style="COLOR: #0000ff">="cn.blogjava.start.TGroup"</span><span style="COLOR: #ff0000"> <br />                    column</span><span style="COLOR: #0000ff">="GROUP_ID"<br /></span><span style="COLOR: #ff0000">                    cascade="all"<br />                    unique</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #ff0000"> <br />         </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">class</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">hibernate-mapping</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span>&lt;/DIV&gt;<br />4.测试代码<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">package cn.blogjava.start;<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" />import java.util.List;<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" />import junit.framework.Assert;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import junit.framework.TestCase;<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" />import org.hibernate.HibernateException;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import org.hibernate.Session;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import org.hibernate.SessionFactory;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import org.hibernate.Transaction;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />import org.hibernate.cfg.Configuration;<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" />public class HibernateTest extends TestCase {<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" />    Session session = null;<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" />    protected void setUp() {<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        try {<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            Configuration config = new Configuration().configure();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            SessionFactory sessionFactory = config.buildSessionFactory();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            session = sessionFactory.openSession();<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" />        } catch (HibernateException e) {<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            e.printStackTrace();<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" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    protected void tearDown() {<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        try {<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            session.close();        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        } catch (HibernateException e) {<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            e.printStackTrace();<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" />    <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" />     * 对象持久化测试(Insert方法)<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" />    public void testInsert() {<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        Transaction tran = null;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        try {<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" />            TUser user = new TUser();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            user.setName("byf");<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            user.setAge(new Integer(26));<br /><img src="http://www.blogja