随笔-153  评论-235  文章-19  trackbacks-0
 

RIA(Rich Internet Application,富互联网应用系统)技术允许我们在因特网上以一种象使用Web一样简单的方式来部署富客户端程序。这是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。无论将来RIA是否能够如人们所猜测的那样完全代替HTML应用系统,对于那些采用胖客户端技术运行复杂应用系统的机构来说,RIA确实提供了一种廉价的选择。

RIA的产生背景

  基于HTML的应用程序之所以变得流行是由于应用系统的部署成本低、结构简单,且HTML易于学习和使用。很多用户和开发人员都乐于放弃由桌面计算机带来的用户界面改进,来实现对新数据和应用系统的快速访问。与丧失一些重要的UI功能相比,基于Web的方式所带来的好处要更大得多。

  然而,某些应用系统并不完全适合采用HTML技术。复杂的应用系统可能要求多次提取网页来完成一项事务处理,在某些领域中,如医药和财务领域,这往往导致交互速度低得无法接受。让我考虑一个项目管理系统:我们可以将其实现为一个HTML应用系统,但是如果用户可以看到并且操作图表、进度表和各种层次结构,那么显然会工作得更好。

  此外,虽然HTML开始走向简单,但是即使简单的交互活动也仍然需要用很多的脚本来完成。即使一个输入窗体经过仔细的布置和全面的脚本设计它从浏览器所能发送的也仅仅是简单的"名字/值"对。如果一个HTML窗体能够以XML文档形式发送和接收更复杂的数据结构,那就好多了。

  RIA利用相对健壮的客户端描述引擎,这个引擎能够提供内容密集、响应速度快和图形丰富的用户界面。除了提供一个具有各种控件(滑标、日期选择器、窗口、选项卡、微调控制器和标尺等)的界面之外,RIA一般还允许使用SVG(Scalable Vector Graphics,可伸缩向量图)或其他技术来随时构建图形。一些RIA技术甚至能够提供全活动的动画来对数据变化作出响应。

  RIA的另一个好处在于,数据能够被缓存在客户端,从而可以实现一个比基于HTML的响应速度更快且数据往返于服务器的次数更少的用户界面。对于无线设备和需要偶尔连接的设备来说,将来的趋势肯定是向富客户端的方向发展,并且会逐渐远离基于文本的Web客户端。那些运行在膝上设备上的应用系统,可以被设计成以离线方式工作,或者至少当连接丢失的时候能基本上以离线的方式工作。



看详细的介绍(来源):http://develop.csai.cn/web/200610261348351031.htm
posted @ 2007-12-30 14:05 流浪汗 阅读(267) | 评论 (0)编辑 收藏
        CEO(Chief executive officer)首席执行官 类似总经理、总裁,是企业的法人代表。

  COO(Chief operating officer)首席运营官 类似常务总经理

  CFO(Chief financial officer)首席财务官 类似财务总经理

  CTO(Chief technology officer)首席技术官 类似总工程师

  CIO(Chief information officer)首席信息官 主管企业信息的收集和发布

http://edu.yesky.com/344/3049844.shtml

posted @ 2007-12-26 11:21 流浪汗 阅读(313) | 评论 (0)编辑 收藏
      这学期的项目中,用hibernate和oracle。表结构我们不能改,这样的遗留系统用hibernate有点麻烦。汗!别人把可变长的字符类型设计为CHAR,郁闷死。这样所有?形式的sql语句基本上无效(不是恰好这么长就找不到数据),这是oracle的JDBC限定了(mysql的JDBC不会)。然后就想到在=号左边用TRIM可以解决PrepareStatement找不到数据的问题。

     麻烦来了。同学用100W行数据来测试。发现比较卡。然后追踪hibernate的SQL日志发现有trim的语句就慢。然后把此SQL语句在PL/SQL客户端试下,发现在26秒才能找到结果。汗!这么严重!去了TRIM不到1秒的事情。

     字段类型的设计不好,就这样...

可以看下 oracle jdbc char 字段 PreparedStatement 查询问题
posted @ 2007-12-26 10:42 流浪汗 阅读(1189) | 评论 (0)编辑 收藏
      项目中有applet,现在想只编译applet包下面的内容。

部分代码:
    <target name="compile.applet" depends="compile.java">
        
<mkdir dir="${deploy.applet.dir}" />
        
<javac destdir="${deploy.applet.dir}" encoding="UTF-8" source="1.4"
            srcdir
="${src.java.dir}" includes="**/applet/**/*.java">

            
<classpath refid="project.classpath" />
        
</javac>
    
</target>

同时也相复制特定子目录下的文件夹:
    <target name="deploy.applet" depends="compile.java">
        
<copy todir="${deploy.applet.dir}" preservelastmodified="true">
            
<fileset dir="${build.java.dir}">
                
<include name="**/applet/**/*.class"/>
            
</fileset>
        
</copy>
    
</target>


两个都用到inclue方便。
posted @ 2007-12-15 12:13 流浪汗 阅读(496) | 评论 (0)编辑 收藏
      今天同学想rebuild项目源码,但出现上面情况。上网找一下说与系统时间有问题。今天他机器有点问题,时间回到“前几天”的状态,面rebuild前的class文件的时间比“前几天”的状态新了。改正时间就行了。

^_^
posted @ 2007-12-13 23:13 流浪汗 阅读(3813) | 评论 (2)编辑 收藏
     今天上课看到老师用Xbrowser连接linux,好玩。回来试下

Enable XDMCP

修改 /etc/gdm/custom.conf,将 [xdmcp] 部分的 Enable 设置为 1,即:
      [xdmcp]
      Enable=true
      Port=177
    
修改 /etc/gdm/custom.conf,将 [security] 部分的 DisallowTCP 设置为 false,即:
      [security]
      DisallowTCP=false

保存即可。

修改 /etc/inittab,将运行级别设置为5(默认是这样),即:
      id:5:initdefault:

我机器没有防火墙,所以这么简单,可以用Xbrowser看了,^_^

转载:http://www.math.ecnu.edu.cn/~jypan/Teaching/Linux2007/Xmanager.txt
---------------------------------------------------------
用 Xmanager 远程连接 Fedore Core

========================================
法一:直接开启一个 gnome-session
1. 点击桌面图标 Xmanager Enterprise
2. 点击 Xmanager - Passive,在屏幕右下角出现Xmanager的图标
3. 右击Xmanager图标 --> Tools --> Xstart
4. Host: 远程服务器IP地址
   Protocol: SSH
   输入username 和 passwd
   Execution Command:
     gnome-session --display=本地主机IP:0.0
   点击 Run
===========================================================
法二:开启一个登录窗口
服务器:Fedora Core 4/Fedora Core 6
终端:Xmanager 2.1.00.34

服务器配置:(Gnome)
------------------------
1. 配置 XDM
  (1). Change runlevel to 5
    修改 /etc/inittab,将运行级别设置为5,即:
      id:5:initdefault:

  (2). Enable XDMCP
    修改 /etc/X11/gdm/gdm.conf,将 [xdmcp] 部分的 Enable 设置为 1,即:
      [xdmcp]
      Enable=1
   
    修改 /etc/X11/gdm/gdm.conf,将 [security] 部分的 DisallowTCP 设置为 false,即:
      [security]
      DisallowTCP=false

    注:如果服务器是FC5或FC6,则配置文件为 /etc/gdm/custom.conf

2. 配置防火墙 (TCP/UDP Ports) / 若已经关闭防火墙,则忽略这一步
      Open UDP port 177 from the PC to the remote host direction.
      Open incoming TCP ports 6000~6010 from the remote host to your PC.

3. 重新启动服务器,即输入下面的命令即可:
   # init 3; init 5

-------------------------


终端配置
------------------------
1、点击 Xmanager Enterprise 图标,打开 Xbrowser
   这时 Xbrowser 窗口中会显示局域网中所有的可用服务器
   (若没有显示,则表示服务器配置有问题)
   直接双击你想使用的服务器即可开启一个登录窗口


终端配置(通过ssh登陆)
------------------------
如果只能通过 ssh 登录,则需要进行一些配置
首先配置 Xshell
1、打开 Xshell,右击你想要连接的 session,
   如果没有的话,就创建一个新的 session

2、右击 session,选择“Properties”,
   Connection 部分:
     “Name”中输入session的名字(随便写)
     “Method”为“SSH”,“Host”为服务器IP地址
     “Port Number”为“22”
  
   User Authentication 部分
     “Method”为“Password”
     “User Name”/“Password”为你的帐号和密码

3、点击 Connection 部分中“Method”后面的“Setup”
   选择“Tunneling”,点击“TCP/IP Forwarding”中的“Add”,
   出现对话框,进行下面的操作:
     “Type”改为“Outgoing”,
     “Listen Port”取“6020”
     “Destination Host”改为“localhost”
     “Destination Port”取“6020”
     (注:Listen/Destination Port 可以是6020至6255中任意一个没有使用的值)
    保存设置

    Xshell 配置完成,下面开始配置 Xbrowser
------------------------
1、点击 Xmanager Enterprise 图标,打开 Xbrowser
   选择 “Tools”--> “Option”
   在“New Address”输入服务器的IP地址,然后点击“Add”,
   保存设置。
 
2、回到 Xbrowser 窗口,这时能看到你增加的服务器图标。
   右击服务器图标,选择“Save As”,创建一个新的 session,
   然后右击这个 session,选择“Properties”。
   在 “Proxy”部分打勾,Host为 “0.0.0.0”,
   Port Number 为“6020”
   (注:这个值应该与Xshell配置中第三步的“Listen Port”相同)

3、点击“X Server”,把
   “Allocate display number automatically”前面的勾去掉,
   在“Display Number box”中输入 “20”
   (这个数字应等于上一步中的Port Number减去6000)
   保存设置

4、双击该服务器图标即可开启一个登录窗口

参见:
http://www.netsarang.com/products/xmg_tutorial9.html
http://www.netsarang.com/products/xmg_faq.html

-----------------------------------------------



posted @ 2007-11-20 13:45 流浪汗 阅读(2004) | 评论 (0)编辑 收藏
WebBrowser是IE内置的浏览器控件,无需用户下载.

一、WebBrowser控件
  <object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>
二、WebBrowder控件的方法
//打印

WebBrowser1.ExecWB(6,1);

//打印设置

WebBrowser1.ExecWB(8,1);

//打印预览

WebBrowser1.ExecWB(7,1);

关于这个组件还有其他的用法,列举如下:
WebBrowser.ExecWB(1,1) 打开
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1) 保存网页
Web.ExecWB(6,1) 打印
Web.ExecWB(7,1) 打印预览
Web.ExecWB(8,1) 打印页面设置
Web.ExecWB(10,1) 查看页面属性
Web.ExecWB(15,1) 好像是撤销,有待确认
Web.ExecWB(17,1) 全选
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 关闭窗体无提示
但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了:把不想打印的部份隐藏起来:
样式内容:
<style type="text/css" media=print>
.noprint{display : none }
</style>
然后使用样式就可以:
<p class="noprint">不需要打印的地方</p>

-----以上转载: http://blog.csdn.net/minjunyu/archive/2007/07/08/1682757.aspx-------------------

示例代码:

<HTML><HEAD><TITLE>javascript打印-打印页面设置-打印预览代码</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312" />
<SCRIPT language=javascript> 
  
function printsetup(){ 
  
// 打印页面设置 
  wb.execwb(8,1); 
  } 
  
function printpreview(){ 
  
// 打印页面预览 
     
  wb.execwb(
7,1); 
      
     
  } 

  
function printit() 
  { 
  
if (confirm('确定打印吗?')) { 
  wb.execwb(
6,6
  } 
  } 
  
</SCRIPT>
<style type="text/css" media=print>
.noprint
{display : none }
</style>

</HEAD>
<BODY>

<DIV align=center>
<OBJECT id=wb height=0 width=0 
classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 name=wb></OBJECT>
net.blogjava.chenlb do print 中文 ^_^
<class="noprint">
<INPUT onclick=javascript:printit() type=button value=打印 name=button_print /> 
<INPUT onclick=javascript:printsetup(); type=button value=打印页面设置 name=button_setup /> 
<INPUT onclick=javascript:printpreview(); type=button value=打印预览 name=button_show />
</p>
</DIV>
</BODY>
</HTML>

posted @ 2007-11-18 22:53 流浪汗 阅读(1216) | 评论 (0)编辑 收藏
     CRUD是 Create(创建)、Read(读取)、Update(更新)和Delete(删除)的缩写。
posted @ 2007-11-18 18:17 流浪汗 阅读(2218) | 评论 (0)编辑 收藏
     blogjava的随笔管理里有Agg View一直不知道什么意思? 今天找一下,原来是Rss阅读器的阅读计数。

游子的博客

http://www.cnitblog.com/liaoqingshan/archive/2006/04/24/9413.html
posted @ 2007-11-14 19:17 流浪汗 阅读(418) | 评论 (0)编辑 收藏
      N久没能用上远程桌面了,就是因为报“由于网络错误,连接被中断,请重新连接到远程计算机。”郁闷,很多时候需要用远程桌面,因老是不用了,所以改用pcAnywhere,这pcAnywhere不爽,别人也要安装。还是用windows远程桌面好。

     今天,找到了 liyunliang的博客
--------------------------------------原文------------------------------------------

 问: 远程桌面连接出现"由于网络错误,连接被中断,请重新连接到远程计算机"错误!,xp2系统,网络是通的,系统日志显示严重错误“RDP 协议组件 "DATA ENCRYPTION" 在协议流中发现一个错误并且中断了客户端连接。”
  
答:已经修复好了,删除了certificate子键,起动机器之后就好了!

 
  这是因为Certificate子键负责终端服务通信中数据信息的认证和加密,它一旦被损坏,终端服务的协议组件就会检测到错误,中断客户机与终端服务器之间的通信。导致Certificate子键损坏的原因很多,如管理员安装和卸载某些系统软件、对终端服务参数的不合理配置等。这时我们需要重置该键值中的内容,才能修复终端服务。
  
  进入注册表编辑器窗口,展开“HKEY_LOCAL_MA CHINE\SYSTEM\CurrentCon trolSet\Services\TermService\ Parameters”,找到名为“Certificate”的子键,将它删除,重新启动XP系统或Windows 2000 Server服务器,系统就会重新生成“Certificate”子键,这样客户端就能正常连接到终端服务器了。
  
     在终端服务器出现无法连接的问题后,我们首先要判断这是不是网络故障引起的,检测远程客户端和XP系统(Windows 2000 Server服务器)是否能够正常连接到网络;然后就要检查终端服务器的加密级别是否设置过高。排除上述原因后,就有可能是“Certificate”子键损坏了。此外,“HKEY_LOCAL _MACHINE\SYSTEM\Cur rentControlSet\Services\Term Service\Parameters”下的“X509 Certificate”和“X509 Certificate ID”损坏了也有可能导致终端服务出现问题,它们的修复方法与“Certificate”子键损坏后的修复方法是相同的。

-------------------------------------end----------------------------------------------

^_^

原文地址:http://hi.baidu.com/liyunliang/blog/item/ecdf37e98393143eb90e2d07%2Ehtml
posted @ 2007-11-04 21:56 流浪汗 阅读(5228) | 评论 (4)编辑 收藏
仅列出标题
共16页: First 上一页 3 4 5 6 7 8 9 10 11 下一页 Last