﻿<?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团队</title><link>http://www.blogjava.net/gdws/</link><description>j2se,j2ee开发组</description><language>zh-cn</language><lastBuildDate>Wed, 09 Jul 2008 08:10:59 GMT</lastBuildDate><pubDate>Wed, 09 Jul 2008 08:10:59 GMT</pubDate><ttl>60</ttl><item><title>祝大家5.1节日快乐</title><link>http://www.blogjava.net/gdws/archive/2008/04/30/197476.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Wed, 30 Apr 2008 03:40:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2008/04/30/197476.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/197476.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2008/04/30/197476.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/197476.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/197476.html</trackback:ping><description><![CDATA[            一年一度的劳动节到了,到处都流露着节日的气息,政府,企业,学校等都在响应国家放假3天.<br /> 又是一个回家欢庆的节日、又是一个家人团圆、朋友相聚的节日、又是一个可以好好放松、休养生息的节日！<br />  做为开发人员希望大家出去玩玩,放松一下.<img src ="http://www.blogjava.net/gdws/aggbug/197476.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-30 11:40 <a href="http://www.blogjava.net/gdws/archive/2008/04/30/197476.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ajax 入门 4 </title><link>http://www.blogjava.net/gdws/archive/2008/04/25/195956.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/195956.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/195956.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2008/04/25/195956.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/195956.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/195956.html</trackback:ping><description><![CDATA[这次我们来一步一步的仿造一个google的搜索栏,由于本人学的也很浅相信大家不会看得很迷糊,由于我们没有链接数据库,我采用一个硬编码来编写被匹配的内容,正常情况下应该是从数据库中取出一个表的”被搜索最多次数”的10个内容然后进行匹配<br />import java.util.ArrayList;<br />import java.util.List;<br /><br /><br />public class ListFactory {<br />    public static List getList(){<br />        List list = new ArrayList();<br />        list.add("ibm");<br />        list.add("hp");<br />        list.add("dell");<br />        list.add("desk");<br />        return list;<br />    }<br /><br />}<br /><br />这个工厂生成了一个list,里面存储了需要匹配的内容<br />有了匹配信息我们还需要一个servlet来对它进行匹配<br /><br />新建一个servlet<br />映射地址 searchAction<br /><br />import java.io.IOException;<br />import java.io.PrintWriter;<br />import java.util.List;<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 SearchAction extends HttpServlet {<br /><br />    /**<br />     * Constructor of the object.<br />     */<br />    public SearchAction() {<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 />        //转发至doPost();<br />        doPost(request,response);<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 />        String temps="";<br />        response.setContentType("text/html");<br />        PrintWriter out = response.getWriter();<br />        //从工厂类中取出要匹配的list<br />        List list = ListFactory.getList();<br />        //ajax发送过来的请求值,也就是页面上现在输入的内容<br />        String inputtext = request.getParameter("inputtext");<br />        //遍历list<br />        for(int i=0;i&lt;list.size();i++){<br />            String temp = (String) list.get(i);<br />            //如果在匹配内容头中找到当前输入的字符串,且输入不是空串<br />//indexOf 返回字串的位置,为0 则表示 123中找到了12 ,而找不到23因为23的indexOf<br />//为1<br />            if(temp.indexOf(inputtext)==0 &amp;&amp; inputtext!=null &amp;&amp; inputtext.trim().length()!=0){<br />                //将匹配上的list内容添加到缓存字符串<br />                temps=temps+temp+"&lt;br&gt;";<br />            }<br />        }<br />        //输出缓存字符串<br />        out.write(temps);<br />        out.flush();<br />        out.close();<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 />有了工厂类(替代数据库),有了控制器,现在开始写前台的页面和ajax<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&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;111&lt;/div&gt;<br />      &lt;/td&gt;<br />    &lt;/tr&gt;<br />    &lt;tr&gt;<br />      &lt;td&gt; &lt;/td&gt;<br />    &lt;/tr&gt;<br />  &lt;/table&gt;<br />  &lt;/body&gt;<br />&lt;/html&gt;<br /><br />这个页面中唯一需要注意的是 作为输出匹配框的 div 层<br />&lt;div id="outdiv" style=" display:none; width:119px; height:20; position:absolute; left: 16px; top: 41px; background-color:#ECEDFF"&gt;111&lt;/div&gt;<br />此层一开始被设置为隐藏,111可以不写,其实写什么都看不到,因为它根本没有被显示<br />Display:none 类似的属性还有 visible,它们的区别在此不说了,百度一下,你就知道<br />文本框设置一个键盘事件<br />onKeyUp="getXML()"<br />每次键盘抬起就调用一次函数<br /><br />在开始写脚本文件之前需要先导入prototype库,在我的ajax入门3 里有提及<br /><br />正常导入它以后我们就开始 编写 test.js 文件<br /><br />//键盘抬起时激活的函数<br />function getXML(){<br />    //局部请求地址<br />    var url="searchAction";<br />    //获取用户当前输入的内容<br />    var inputvalue=$("itext").value;<br />    //使用prototype函数构造xmlhttprequest对象<br />    var myAjax = new Ajax.Request(<br />    url,<br />    {<br />        //请求方法为post<br />        method:'post',<br />        //设置参数为 inputtext=inputvalue<br />        parameters:"inputtext="+inputvalue,<br />        //设置回调函数<br />        onComplete:showResponse,<br />        //是否异步<br />        asynchronous:true<br />    }<br />    );<br />}<br /><br />function showResponse(xmlrequest){<br />//还是需要注意回调函数的参数,使用此参数的responseText属性获取服务器//servlet返回的文本内容,要取得XML请参考我之前的 ajax 入门文章<br />    var text = xmlrequest.responseText;<br />    //如果返回的被匹配上的内容不为空<br />    if(text!=""){<br />        //显示该层,关于element.show也是prototype的函数<br />        Element.show("outdiv");<br />    }else{<br />//如果没匹配上就隐藏该层,注意我们的思路是每次键盘抬起都进行一次请求,<br />//然后进行判断,不匹配就隐藏<br />        Element.hide("outdiv");<br />    }<br />    //将匹配的内容输出到 div 层<br />    $("outdiv").innerHTML=xmlrequest.responseText;<br />}<br /><br /><br />以下内容为更新:<br /><br /><br /><br />这里我们可以再稍微丰富一下比如将servlet的doPost改写成<br /><br />    public void doPost(HttpServletRequest request, HttpServletResponse response)<br />            throws ServletException, IOException {<br />        String temps="";<br />        response.setContentType("text/html");<br />        PrintWriter out = response.getWriter();<br />        List list = ListFactory.getList();<br />        String inputtext = request.getParameter("inputtext");<br />        for(int i=0;i&lt;list.size();i++){<br />            String temp = (String) list.get(i);<br />            if(temp.indexOf(inputtext)==0 &amp;&amp; inputtext!=null &amp;&amp; inputtext.trim().length()!=0){<br />                temps=temps+temp+"$";<br />            }<br />        }<br />        out.write(temps);<br />        out.flush();<br />        out.close();<br />    }<br /><br />也就是使用"$"字符来将返回的几个匹配分割<br /><br />然后在javascript中对其进行解析<br /><br />function showResponse(xmlrequest){<br />    var text = xmlrequest.responseText;<br />    var texts = text.split("$");<br />    if(text!=""){<br />        Element.show("outdiv");<br />    }else{<br />        Element.hide("outdiv");<br />    }<br />    var temp = "";<br />    var outdiv = $("outdiv");<br />    for(var i = 0;i &lt; texts.length-1;i++){<br />        temp = temp + "&lt;span style=cursor:hand onclick='inMessage(this)'&gt;" +texts[i]+ "&lt;/span&gt;" +"&lt;br&gt;";<br />    }<br />    outdiv.innerHTML = temp;<br />}<br /><br /><br />function inMessage(obj){<br />    //alert(obj.innerHTML);<br />    $(itext).value = obj.innerHTML;<br />    Element.hide("outdiv");<br />}<br /><br />这样每次出现下拉列表之后列表中的项目都可以被选择,点击之后内容就会录入到搜索框中了 <br /><img src ="http://www.blogjava.net/gdws/aggbug/195956.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/195956.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><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>6</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>16</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>6</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>4</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>Eclipse整合JBoss4.0.0服务器开发－配置篇</title><link>http://www.blogjava.net/gdws/archive/2007/01/18/94595.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Thu, 18 Jan 2007 03:30:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/01/18/94595.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/94595.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/01/18/94595.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/94595.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/94595.html</trackback:ping><description><![CDATA[之前在网上看了很多关于这方面的文章，经过自己的一些测试，终于……，嘿，结果你也知道，OK了，开心地说，所以想给大家分享分享劳动果实！<br /><br />其实我也跟大家一样，是一个喜欢追求时尚的爷们，所以当前配置是Eclipse3.1＋JBoss4.0.0，说实在的，我对那些所谓的汉化版是较为鄙视的，学学E文也好嘛，不要老让老外们牵着鼻子，做什么事都迟他们一步，俺们能看懂E文，老外们看不懂中文（说实在的，中文比E文高级多了，所以也更难学），自然他们就会慢慢地跟着俺们的屁股追了，废话不多说，现在让我们切入正题吧！（有什么不懂的，记得给我回复哦）<br /><br />这个配置要分四步走，具体如下：<br /><br />首先，巧妇难为无米之炊，没有工具谈整合开发，可要比叫男人生小孩痛苦得多。所以，我们都下载相应工具。<br />Eclipse3.1下载：http://www.eclipse.org/downloads/index.php（若大的3.1，够醒目吧，哈！）<br />JBoss4.00下载：http://www.jboss.org/products/jbossas/downloads（哈，什么版本都有吧）<br />Lomboz下载：http://forge.objectweb.org/project/showfiles.php?group_id=97（很多版本，择优吧）<br />以上的三个网站，希望大家收藏起来，以后如果有新的版本，都可以在这上面看到，更新方便得多哦。<br /><br />其次，将三个宝（压缩包）分别解压，eclipse-SDK-3.1-win32.zip解压至D:\Eclipse3.1目录（别告诉我你没有D盘），jboss-4.0.0.zip 解压至D:\jboss-4.0.0目录<br /><br />再次，搭建Eclipse＋Lomboz环境。<br />可能这个时候有朋友对Lomboz这东东还不太理解（俺当初就菜成这副模样，不骗你），其实呢，在百度（严重支持国货）里Search一下就知道了，它是一个通用插件，通过它，Eclipse可以整合各种服务器，不过这东东好像不太好配置，主要是因为版本问题，还好我运气没那么背，第一次就捡狗屎运的配置成功了（而且还在第二天找了个GF），这里有两个搭配（emf-sdo-runtime-I200412160800.zip＋org.objectweb.lomboz_3.1.0.N20041219.zip 和 emf-sdo-runtime-I200503181320.rar＋org.objectweb.lomboz_3.1.0.N20050106.zip），至于选择哪种就随你的便了，不过后一个版本要靠新一些（Why? Ask me? See the data!），然后给两个ZIP文件解压，将features目录下的所有内容拷贝到D:\Eclipse3.1\features目录，将plugins目录下的所有内容拷贝到D:\Eclipse3.1\plugins目录。（关键步骤到了）这时，进入D:\Eclipse3.1\configuration，删除org.eclipse.update文件夹（很多配置好的却没有显示都是没删这东东惹的祸），OK，启动Eclipse，选择菜单栏的Window，在下拉菜单中选择Preferences，弹出的Preferences属性框中，你看到了什么？？是不是多了个Lomboz配置选项，对就这玩意，选择它，配置tool.jar的路径，我的配置是C:\Java\jdk1.5.0_04\lib\tools.jar（偶的JDK1.5装在C:\Java\jdk1.5.0_04目录下），再展开Lomboz项，这时你会看到Server Definitions，这个才是真正配置启动服务器类型的选项（例如JBoss、Weblogic、Tomcat、Resin、Websphere），下面就专门来讲解这个配置。<br /><br />Server Definitions配置详解：<br />Server types：在下拉菜单中选择需要配置的服务器（有版本区别），在此我选择JBOSS 4.0.0<br />注：Server types下拉菜单默认最高支持到JBOSS 3.2.x，这方面的配置见附属说明。<br />Application Server Directory：D:/jboss-4.0.0（你的Jboss安装路径）<br />Classpath Variable：D:/jboss-4.0.0（你的Jboss安装路径）<br />其它项，全取默认值<br /><br />如果你不幸是用Linux的朋友，哦，对不起，忘记事先说明了，偶用的是Windows（晕死）平台，兄弟们，这可是偶摸了一天两夜才难产出来的自创性文章，如果其中某环节出了什么差池，可别扁我哦！<br /><br />附属说明：在D:\Eclipse3.1\plugins\com.objectlearn.jdt.j2ee_3.0.1\servers目录下有一系列配置文件，你可以在此目录下新建一个jboss400.server的文件，用Editplus打开它编辑，文件内容如下：<br /><br /><br />&lt;serverDefinition <br />name="JBOSS 4.0.0"<br />ejbModules="true"<br />webModules="true"<br />earModules="true"&gt;<br />&lt;property id="serverRootDirectory"<br />label="Application Server Directory:"<br />type="directory"<br />default="D:/jboss-4.0.0" /&gt;<br />&lt;property id="serverAddress"<br />label="Address:"<br />type="string"<br />default="127.0.0.1" /&gt;<br />&lt;property id="serverPort"<br />label="Port:"<br />type="string"<br />default="8080" /&gt;<br />&lt;property id="serverConfig"<br />label="Server Configuration (minimal/default/all):"<br />type="string"<br />default="default" /&gt;<br />&lt;property id="classPathVariableName"<br />label="Classpath Variable Name:"<br />type="string"<br />default="JBOSS400" /&gt;<br />&lt;property id="classPath"<br />label="Classpath Variable:"<br />type="directory"<br />default="D:/jboss-4.0.0" /&gt;<br />&lt;serverHome&gt;${serverRootDirectory}&lt;/serverHome&gt;<br />&lt;webModulesDeployDirectory&gt;${serverRootDirectory}/server/${serverConfig}/deploy&lt;/webModulesDeployDirectory&gt;<br />&lt;ejbModulesDeployDirectory&gt;${serverRootDirectory}/server/${serverConfig}/deploy&lt;/ejbModulesDeployDirectory&gt;<br />&lt;earModulesDeployDirectory&gt;${serverRootDirectory}/server/${serverConfig}/deploy&lt;/earModulesDeployDirectory&gt;<br />&lt;jndiInitialContextFactory&gt;org.jnp.interfaces.NamingContextFactory&lt;/jndiInitialContextFactory&gt;<br />&lt;jndiProviderUrl&gt;jnp://${serverAddress}:1099&lt;/jndiProviderUrl&gt;<br />&lt;startClass&gt;org.jboss.Main&lt;/startClass&gt;<br />&lt;startWorkingDirectory&gt;${serverRootDirectory}/bin&lt;/startWorkingDirectory&gt;<br />&lt;startVmParameters&gt;&lt;/startVmParameters&gt;<br />&lt;startProgramArguments&gt;-c ${serverConfig}&lt;/startProgramArguments&gt;<br />&lt;stopClass&gt;org.jboss.Shutdown&lt;/stopClass&gt;<br />&lt;stopWorkingDirectory&gt;${serverRootDirectory}/bin&lt;/stopWorkingDirectory&gt;<br />&lt;stopVmParameters&gt;&lt;/stopVmParameters&gt;<br />&lt;stopProgramArguments&gt;-S&lt;/stopProgramArguments&gt;<br />&lt;serverClassPath&gt;<br />&lt;jar type="variable"&gt;JDK_TOOLS&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/bin/run.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/bin/shutdown.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/client/jboss-j2ee.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/javax.servlet.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/lib/jboss-boot.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/lib/jboss-system.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/lib/concurrent.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jboss.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jnpserver.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jpl-pattern.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jpl-util.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jboss-transaction.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/bcel.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/lib/jdom.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/lib/xercesImpl.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/lib/xml-apis.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/lib/gnu-regexp.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/lib/getopt.jar&lt;/jar&gt;<br />&lt;/serverClassPath&gt;<br />&lt;clientClassPath&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/client/jboss-j2ee.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/client/jnp-client.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/client/jboss-client.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/client/jboss-common-client.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/client/jbosssx-client.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/client/log4j.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/client/jnet.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/default/lib/jnpserver.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/client/jboss-jaas.jar&lt;/jar&gt;<br />&lt;/clientClassPath&gt;<br />&lt;projectClassPath&gt;<br />&lt;jar type="variable"&gt;JDK_TOOLS&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/bin/run.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/bin/shutdown.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/client/jboss-j2ee.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/javax.servlet.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/lib/jboss-boot.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/lib/jboss-system.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/lib/concurrent.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jboss.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jnpserver.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jpl-pattern.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jpl-util.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jboss-transaction.jar&lt;/jar&gt;<br />&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/bcel.jar&lt;/jar&gt;<br />&lt;/projectClassPath&gt;<br />&lt;adminTool&gt;<br />&lt;web&gt;&lt;deploy /&gt;&lt;undeploy /&gt;<br />&lt;/web&gt;<br />&lt;ejb&gt;&lt;deploy /&gt;&lt;undeploy /&gt;<br />&lt;/ejb&gt;<br />&lt;ear&gt;&lt;deploy /&gt;&lt;undeploy /&gt;<br />&lt;webModule&gt;&lt;deploy /&gt;&lt;undeploy /&gt;<br />&lt;/webModule&gt;<br />&lt;ejbModule&gt;&lt;deploy /&gt;&lt;undeploy /&gt;<br />&lt;/ejbModule&gt;<br />&lt;/ear&gt;<br />&lt;/adminTool&gt;<br />&lt;adminToolPath&gt;<br />&lt;/adminToolPath&gt;<br />&lt;/serverDefinition&gt;<br /><br /><img src ="http://www.blogjava.net/gdws/aggbug/94595.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 11:30 <a href="http://www.blogjava.net/gdws/archive/2007/01/18/94595.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java 程序编码规范</title><link>http://www.blogjava.net/gdws/archive/2007/01/16/94265.html</link><dc:creator>帅子</dc:creator><author>帅子</author><pubDate>Tue, 16 Jan 2007 09:53:00 GMT</pubDate><guid>http://www.blogjava.net/gdws/archive/2007/01/16/94265.html</guid><wfw:comment>http://www.blogjava.net/gdws/comments/94265.html</wfw:comment><comments>http://www.blogjava.net/gdws/archive/2007/01/16/94265.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gdws/comments/commentRss/94265.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gdws/services/trackbacks/94265.html</trackback:ping><description><![CDATA[
		<div style="FLOAT: right">
				<script type="text/javascript">
						<!--
				google_ad_client = "pub-6023164661521343";
				google_ad_width = 300;
				google_ad_height = 250;
				google_ad_format = "300x250_as";
				google_ad_type = "text_image";
				google_ad_channel ="";
				google_color_border = "CCCCCC";
				google_color_bg = "FFFFFF";
				google_color_link = "000000";
				google_color_url = "666666";
				google_color_text = "333333";
				//-->
				</script>
				<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
				</script>
				<iframe name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-6023164661521343&amp;dt=1168941219890&amp;lmt=1168941116&amp;format=300x250_as&amp;output=html&amp;url=http%3A%2F%2Fwww.dvpx.com%2Farticle_display.aspx%3Fid%3D8%26Fid%3D4&amp;color_bg=FFFFFF&amp;color_text=333333&amp;color_link=000000&amp;color_url=666666&amp;color_border=CCCCCC&amp;ad_type=text_image&amp;ref=http%3A%2F%2Fwww.dvpx.com%2Farticle.aspx%3FFid%3D4%26page%3D9&amp;cc=523&amp;u_h=768&amp;u_w=1024&amp;u_ah=740&amp;u_aw=1024&amp;u_cd=32&amp;u_tz=480&amp;u_his=1&amp;u_java=true" frameborder="0" width="300" scrolling="no" height="250" allowtransparency="">
				</iframe>
		</div>所有的程序开发手册都包含了各种规则。一些习惯自由程序人员可能对这些规则很不适应，但是在多个开发人员共同写作的情况下，这些规则是必需的。这不仅仅是为了开发效率来考虑，而且也是为了后期维护考虑。 <br /><br />命名规范 <br />定义这个规范的目的是让项目中所有的文档都看起来像一个人写的，增加可读性，减少项目组中因为换人而带来的损失。（这些规范并不是一定要绝对遵守，但是一定要让程序有良好的可读性） <br /><br /><br />Package 的命名 <br />Package 的名字应该都是由一个小写单词组成。  <br />Class 的命名 <br />Class 的名字必须由大写字母开头而其他字母都小写的单词组成  <br />Class 变量的命名 <br />变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。  <br />Static Final 变量的命名 <br />Static Final 变量的名字应该都大写，并且指出完整含义。  <br />参数的命名 <br />参数的名字必须和变量的命名规范一致。  <br />数组的命名 <br />数组应该总是用下面的方式来命名：  <br /><br />byte[] buffer; <br />        <br /><br />  <br />而不是：  <br /><br />byte buffer[]; <br />        <br /><br />  <br /><br />方法的参数 <br />使用有意义的参数命名，如果可能的话，使用和要赋值的字段一样的名字：  <br /><br />SetCounter(int size){ <br />    this.size = size; <br />} <br />        <br /><br />  <br /><br /><br /><br /><br />Java 文件样式 <br />所有的 Java(*.java) 文件都必须遵守如下的样式规则 <br /><br /><br />版权信息 <br />版权信息必须在 java 文件的开头，比如：  <br /><br />/** <br /> * Copyright ?2000 Shanghai XXX Co. Ltd. <br /> * All right reserved. <br /> */ <br />        <br /><br />  <br />其他不需要出现在 javadoc 的信息也可以包含在这里。 <br /><br /><br />Package/Imports <br />package 行要在 import 行之前，import 中标准的包名要在本地的包名之前，而且按照字母顺序排列。如果 import 行中包含了同一个包中的不同子目录，则应该用 * 来处理。  <br /><br />package hotlava.net.stats; <br /><br />import java.io.*; <br />import java.util.Observable; <br />import hotlava.util.Application; <br />        <br /><br />  <br />这里 java.io.* 使用来代替InputStream and OutputStream 的。 <br /><br /><br />Class <br />接下来的是类的注释，一般是用来解释类的。  <br /><br />/** <br /> * A class representing a set of packet and byte counters <br /> * It is observable to allow it to be watched, but only <br /> * reports changes when the current set is complete <br /> */ <br />        <br /><br />  <br />接下来是类定义，包含了在不同的行的 extends 和 implements  <br /><br />public class CounterSet <br />        extends Observable <br />        implements Cloneable <br />        <br /><br />  <br /><br />Class Fields <br />接下来是类的成员变量：  <br /><br />/** <br /> * Packet counters <br /> */ <br />protected int[] packets; <br /><br />  <br />public 的成员变量必须生成文档（JavaDoc）。proceted、private和 package 定义的成员变量如果名字含义明确的话，可以没有注释。 <br /><br /><br />存取方法 <br />接下来是类变量的存取的方法。它只是简单的用来将类的变量赋值获取值的话，可以简单的写在一行上。  <br /><br />/** <br /> * Get the counters <br /> * @return an array containing the statistical data.  This array has been <br /> * freshly allocated and can be modified by the caller. <br /> */ <br />public int[] getPackets() { return 