Tempo

BlogJava 首页 新随笔 联系 聚合 管理
  1 Posts :: 6 Stories :: 0 Comments :: 0 Trackbacks

置顶随笔 #

小弟想用JAVA实现操作系统ping的功能,代码如下:
InetAddress address = InetAddress.getByName("192.168.1.1");
while(true){ System.out.println(address.isReachable(1000));
 }
利用操作系统执行ping 192.168.1.1 -t,输出的结果表示本机和该IP的连接一直都是正常的,但我实现的代码返回的结果却时而为true,时而为false.小弟在网上仔细的搜索过相关方面的知识,但都没有提到这样的一个问题,望有处理过类似问题的大虾指点一二!
posted @ 2009-10-01 11:48 Tempo 阅读(823) | 评论 (0)编辑 收藏

2010年3月9日 #

1、使用ActionSupport(示例下载 )


       org.springframework.web.struts.ActionSupport 类提供了一个getWebApplicationContext() 方法,可用于手动创建一个 Spring 环境。

       这种方式很简单并且易于理解。但将 Struts Action与 Spring 框架耦合在一起。如果想替换掉 Spring,那么必须重写代码。 并且,由于 Struts Action不在 Spring 的控制之下,所以它不能获得 Spring AOP 的优势。当使用多重独立的 Spring 环境时,这种方式可能有用, 但是在大多数情况下,这种方法不如另外两种方法合适。

 


2、覆盖 RequestProcessor (示例下载 )


       使用 org.springframework.web.struts.DelegatingRequestProcessor 类来覆盖 Struts
的 RequestProcessor 处理程序,可将 Spring 从 Struts Action 中分离出来。在struts-config中的配置如下:

<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/> 
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
  <set-property property="csntextConfigLocation" value="/WEB-INF/beans.xml"/>
</plug-in>

       优点是由于 Struts Action 注意不到 Spring 的存在,所以不需要重写 Struts 代码就可以使用其他控制反转容器来替换掉 Spring。

 

 

3、将Action管理委托给Spring (示例下载 )


       通过在struts-config中注册Action时使用org.springframework.web.struts.DelegatingActionProxy类来实现,该方式的优点如下:
             a):没有 Spring 的话,所有的 Struts 动作都必须是线程安全的。如果设置 <bean> 标记的 singleton 属性   为“false”,那么不管用何种方法,应用程序都将在每一个请求上有一个新生成的动作对象。
             b):可以利用 Spring 的生命周期方法。例如,当实例化 Struts 动作时,<bean> 标记的 init-method 属性 被用于运行一个方法。类似地,在从容器中删除 bean 之前,destroy-method 属性执行一个方法。这些方法是管理昂贵对象的好办法,它们以一种与 Servlet 生命周期相同的方式进行管理。
              c):Struts Action不了解 Spring,不对代码作任何改变就可用于非 Spring 应用程序中。RequestProcessor 的改变不会影响它,并且它可以利用 Spring AOP 特性的优点。



已有 0 人发表留言,猛击->>这里<<-参与讨论


JavaEye推荐




文章来源:http://complex.javaeye.com/blog/611042
posted @ 2010-03-09 11:05 Tempo 阅读(162) | 评论 (0)编辑 收藏

2009年10月5日 #


最近用flex做了一两个项目,如题,现在谈谈我所了解的flex在项目中的优缺点。


    优点:
       1、FLEX最大的优点当然得属跨平台跨浏览器了,在不同平台下的不同浏览器下效果一样,这无疑是很具有诱惑力的
       2、平台自带大量UI Component,让你开发时可信手摘来,降低了开发这些UI的成本,如Tree,LinkButton等
       3、良好的拖拽支持
       4、普及高,使用flash的人群也已经很庞大了
       5、良好的用户体验
       6、遵循ECMAScript标准,有过JS基础的开发人员能快速的上手
       7、多媒体的支持
    缺点:
       1、无法脱离插件
       2、内存泄漏
       3、官方提供的开发工具编译速度太慢,当module过多时,这无疑会成为一种噩梦
       4、数据展示方面功能体验很强大,但在flex应用上输入数据体验较差,主要是输入速度太慢了!
       5、如果需要拓展某种UI或实现一中flex所不具有的UI,那么需要开发人员具有一定的原as基础,成本被加大
       6、swf文件太大,即使经过一系列的"减肥"过程,依然大得有些不好接受
       7、
    引用
    RIA富媒体讲的就是灵活,比如flex要想实现视频通话,那是相当麻烦的.首先要开发一个ActiveX插件要用户安装,然后再与这个插件互相通信,而且这里的与插件通信也是比较麻烦的

       8、数据通信主要是采用 Httpservice和soa的模式进行,这样的模式传输效率不高,当然也不能说很低

    总结:
       以上就是我所了解的flex在项目中的优缺点,希望有过flex的朋友们不吝赐教,呵呵.
文章来源:http://probe.javaeye.com/blog/481894
posted @ 2009-10-05 12:14 Tempo 阅读(1084) | 评论 (0)编辑 收藏


废话不说,看代码:
package
{
import flash.display.Sprite;

import mx.controls.DataGrid;

public class RowColorDataGrid extends DataGrid
{
public function RowColorDataGrid()
{
super();
}

override protected function drawRowBackground(s:Sprite,rowIndex:int, y:Number, height:Number, color:uint, dataIndex:int):void{
if(dataIndex<super.dataProvider.length){
super.drawRowBackground(s, rowIndex, y, height, 0x49FFAD, dataIndex);
}else{
super.drawRowBackground(s, rowIndex, y, height, color, dataIndex);
}
}
}
}

先自定义一个DataGrid类,该类继承自DataGrid类。然后在自己的代码中引用该类即可,如下:
<?xml version="1.0"?>
<!-- DataGrid control example. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:probe="*">

<mx:XMLList id="employees">
<employee>
<name>Christina Coenraets</name>
<phone>555-219-2270</phone>
<email>ccoenraets@fictitious.com</email>
<active>true</active>
</employee>
<employee>
<name>Joanne Wall</name>
<phone>555-219-2012</phone>
<email>jwall@fictitious.com</email>
<active>true</active>
</employee>
<employee>
<name>Maurice Smith</name>
<phone>555-219-2012</phone>
<email>maurice@fictitious.com</email>
<active>false</active>
</employee>
<employee>
<name>Mary Jones</name>
<phone>555-219-2000</phone>
<email>mjones@fictitious.com</email>
<active>true</active>
</employee>
</mx:XMLList>

<mx:Panel title="行着色DataGrid" height="100%" width="100%"
paddingTop="10" paddingLeft="10" paddingRight="10">
<probe:RowColorDataGrid id="dg" width="100%" height="100%" rowCount="5" dataProvider="{employees}">
<probe:columns>
<mx:DataGridColumn dataField="name" headerText="Name"/>
<mx:DataGridColumn dataField="phone" headerText="Phone"/>
<mx:DataGridColumn dataField="email" headerText="Email"/>
</probe:columns>
</probe:RowColorDataGrid>

<mx:Form width="100%" height="100%">
<mx:FormItem label="Name">
<mx:Label text="{dg.selectedItem.name}"/>
</mx:FormItem>
<mx:FormItem label="Email">
<mx:Label text="{dg.selectedItem.email}"/>
</mx:FormItem>
<mx:FormItem label="Phone">
<mx:Label text="{dg.selectedItem.phone}"/>
</mx:FormItem>
</mx:Form>

</mx:Panel>
</mx:Application>
文章来源:http://probe.javaeye.com/blog/481709
posted @ 2009-10-05 12:14 Tempo 阅读(587) | 评论 (0)编辑 收藏


最近由于项目的需要,用flex实现了一个双Y轴的Chart,现在将代码拿出来晒晒!
<?xml version="1.0"?>
<!-- Simple example to demonstrate the LineChart and AreaChart controls. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

<mx:Script>
<![CDATA[

import mx.collections.ArrayCollection;

[Bindable]
private var expensesAC:ArrayCollection = new ArrayCollection( [
{ Month: "Jan", Wage: 2000, Fine: 100},
{ Month: "Feb", Wage: 1000, Fine: 50},
{ Month: "Mar", Wage: 1500, Fine: 70},
{ Month: "Apr", Wage: 1800, Fine: 30},
{ Month: "May", Wage: 2400, Fine: 50} ]);
]]>
</mx:Script>
<mx:SolidColor id="sc1" color="blue" alpha=".3"/>
<mx:Stroke id = "s1" color="blue" weight="2"/>

<mx:Panel title="LineChart and AreaChart Controls Example"
height="100%" width="100%" layout="horizontal">

<mx:LineChart id="linechart" height="100%" width="100%"
paddingLeft="5" paddingRight="5"
showDataTips="true" dataProvider="{expensesAC}">

<mx:horizontalAxis>
<mx:CategoryAxis categoryField="Month"/>
</mx:horizontalAxis>

<mx:verticalAxis>
<mx:LinearAxis id="first" minimum="0" maximum="200"/>
</mx:verticalAxis>

<mx:secondVerticalAxis>
<mx:LinearAxis id="second" minimum="500" maximum="3000"/>
</mx:secondVerticalAxis>

<mx:series>
<mx:LineSeries verticalAxis="{first}" yField="Fine" form="curve" displayName="Fine"/>
<mx:ColumnSeries verticalAxis="{second}" yField="Wage" displayName="Wage" stroke="{s1}" fill="{sc1}"/>
</mx:series>
</mx:LineChart>
</mx:Panel>
</mx:Application>
文章来源:http://probe.javaeye.com/blog/481686
posted @ 2009-10-05 12:14 Tempo 阅读(425) | 评论 (0)编辑 收藏

     摘要: Oracle 分析函数使用介绍    分析函数是oracle816引入的一个全新的概念,为我们分析数据提供了一种简单高效的处理方式.在分析函数出现以前,我们必须使用自联查询,子查询或者内联视图,甚至复杂的存储过程实现的语句,现在只要一条简单的sql语句就可以实现了,而且在执行效率方面也有相当大的提高.下面我将针对分析函数做一些具体的说明. 今天我主要给大家介绍一...  阅读全文
posted @ 2009-10-05 12:14 Tempo 阅读(121) | 评论 (0)编辑 收藏

仅列出标题