博文

在阐述Java程序员应当学习BlazeDS的几条理由(2013-04-11 13:57:00)

摘要:首先,感谢你的阅读,本人观点:学习编程是个漫长的过程并不是一时就会很厉害的,关键是坚持,快乐地学习,在这里分享我的一些笔记给你; 在阐述Java程序员应当学习BlazeDS的几条理由时,我以一个假想的苏打分派系统来展示如何让已有的Java程序转变为RIA应用。通过这个例子,我同时还会讲解到BlazeDS在已有Java应用或新建Java应用中的多种不同用法。 开源 Flex软件开发工具箱(SDK)的核心是个开源框架,专门用来开发、维护那些在不同浏览器、不同操作系统下界面都相同的RIA应用。Flex发布采用的是Mozilla公共许可证(MozillaPublicLicense)。编译后的Flex应用在AdobeFlash平台下运行。 BlazeDS是连接Flex和Java的索桥,是项针对远程调用和消息传递的开源技术。在Java应用服务器上,它以servlet的形式存在,因此可以在任何标准Java网络应用中运用它。BlazeDS以LGPL(LesserGNUPublicLicense)公共许可证书发布。在发布BlazeDS的同时,Adobe还公布了AMF(ActionScriptMessageFormat)规格说明,BlazeDS、Java和Flex客户端间以这种简洁的二进制格式实现通信。 完善的社区支持 Flex社区非常活跃,社区贡献了大量项目。Flex.org,这个配以社区新闻的Adobe站点几乎每天都有新的社区贡献;Yahoo!上的Flex用户组的成员也已经超过了11000。 再比如GoogleCode上的Flexlib项目,已经提交了大量的开源UI组件。Swiz和Mate项目贡献了优化事件处理的框架;还有GorillaLogic贡献了自动化UI测试的FlexMonkeym项目。 带来广阔的就业前景 据Adobe的Flex“传道士”——JamesWard看来,Flex高级开发员的市场需求非常大,学习Flex能让你拥有极具市场竞争力的开发技能。 更高的业务效益回报 总体上,开发企业web应用不是个轻松的活,这基本上是众所周知的事实。Flex和BlazeDS提供的不仅仅是功能强大的开发工具,而且开发技术本身相对也非常简单。开发效率可以得到大幅度的提升,产品因此可以很快推向市场。Flex和Flash带来的用户体......

阅读全文(3038) | 评论:2

java 文件中的 import 编译处理(2013-04-07 15:41:00)

摘要:首先,感谢你的阅读,本人观点:学习编程是个漫长的过程并不是一时就会很厉害的,关键是坚持,快乐地学习,在这里分享我的一些笔记给你; 有些人写了一阵子 Java,可是对于 Java 的 package 跟 import 还是不太了解。很多人以为原始码 .java 文件中的 import 会让编译器把所 import 的程序通通写到编译好的 .class 档案中,或是认为 import 跟 C/C++ 的 #include 相似,实际上,这是错误的观念。 让我们先了解一下,Java 的 package 到底有何用处。 其实,package 名称就像是我们的姓,而 class 名称就像是我们的名字。package 名称有很多 。 的,就好像是复姓。比如说 java.lang.String,就是复姓 java.lang,名字为 String 的类别;java.io.InputStream 则是复姓 java.io,名字为 InputStream 的类别。 Java 会使用 package 这种机制的原因也非常明显,就像我们取姓名一样,光是一间学校的同一届同学中,就有可能会出现不少同名的同学,如果不取姓的话,那学校在处理学生数据,或是同学彼此之间的称呼,就会发生很大的困扰。相同的,全世界的 Java 类别数量,恐怕比台湾人口还多,而且还不断的在成长当中,如果类别不使用套件名称,那在用到相同名称的不同类别时,就会产生极大的困扰。幸运的是,Java 的套件名称我们可以自己取,不像人的姓没有太大的选择 ( 所以有很多同名同姓的 ),如果依照 Sun 的规范来取套件名称,那理论上不同人所取的套件名称不会相同 ( 请参阅 “命名惯例”的相关文章 ),也就不会发生名称冲突的情况。 可是问题来了,因为很多套件的名称非常的长,在写程序时,会多打好多字,花费不少时间,比如说: java.io.InputStream is = java.lang.System.in; java.io.InputStreamReader isr= new java.io.InputStreamReader(is); java.io.BufferedReader br = new java.io.BufferedReader(isr); 实在是不美观又麻烦。于是......

阅读全文(3604) | 评论:0

IT行业就业“寒冬”季节,达内出现春暖花开的场景(2013-04-01 14:01:00)

摘要:乐于分享,以下文章由小编分享给大家; 近年来,大学生就业难已是一个老生常谈的话题。2012年高校毕业生近700万,对于百万毕业人数的预测,甚至延续到了很多年后:根据国家的规划看,到2020年,届时大学毕业生还要再增加200万,大学毕业生就业难问题,将在今后10年内长期存在。受各方面影响,IT行业就业也不得不随大流进入“寒冬”季节。 然而,一方面是大学生人才过剩,形成了大批毕业生“被待业”的现状;另一方面是信息技术产业人才缺失,据权威机构预测,2012年中国IT人才年缺口超过100万,2013年将继续大幅度增加。面对待业大学生就业难与IT行业招聘难的“两难”情况,IT培训机构也纷纷使出浑身解数,希望能够为IT就业“寒冬”雪中送炭。据调查统计,达内广州通过企业定制java培训班这种策略,在帮助IT就业问题上可谓取得了良好的效果。 据悉,“企业定制”以就业为根本核心,以专业学员为主体,在充分了解到企业用人需求的前提下,量身为企业定制培训班,将满足企业要求的学员输送到企业订制班中培训,真正实现企业和学员的“零距离”对接。达内广州的老师总结说,通过这种企业定制培训班策略,在大大降低企业招聘成本的同时,也为达内广州学员就业提供了可靠的保障。 达内广州通过每月100多家企业上门定制培训班和每月4000多家直接推荐面试企业,为达内广州学员提供了就业直通道。据不完全统计,在这些定制培训班的企业中,不乏亚信联创、电讯盈科、Infosys、中软国际、新浪网、方正国际、通力凯顿等国内外IT行业巨头和业内名企。通过企业定制培训班,每年有数以万计的IT人才入职名企,IT就业“寒冬”可谓是春暖花开。 这一模式得到了定制企业的一致好评。“达内毕业的学员,专业水准比较好,起点高,上手快。这就为我们节省了不少磨合的时间,能够满足企业快速发展的需要,截止到现在累计有300多名达内学员入职我们公司,我们也把达内作为我们企业招生的主要渠道,只要有符合我公司要求的学员,我们均会派招聘人员前往达内各地培训中心进行招聘,不希望错过好的员工。” INFOSYS公司人事经理在谈到运用企业定制培训班这种策略时,对达内做了一番评价。 作为IT培训领军企业,达内广州相信,企业定制培训班策略将会成今后IT培训机构的潮流模式,将会吸引更多的IT优势企业和龙头、骨干企业。IT就业“寒冬”就会不再那......

阅读全文(1871) | 评论:1

个人分享对Struts1.2比较(2013-03-25 10:16:00)

摘要:以下是本人的一些分享,我热爱编程,希望能多交编程的爱好者,如果你也是其中一名,那么请加好友,大家关注一下,下面的文章是自己觉得一些有用的东西,留下来给自己当笔记,当然也希望能帮助到你,首先感谢你的阅读~! Struts2的简介 1)Struts框架来自于Apache,是一个基于MVC模式的Web开发框架,开始于2001年,推出了Struts1.x,稳定的版本是Struts1.2 同期的Webwork框架普及和知名度不如Struts,但其设计思想更加先进. 2006年Apache基于Webwork的设计核心推出了Struts2, Struts2框架=Struts2核心+XWork 2)Struts2的核心组件: StrutsPrepareAndExecuteFilter:Struts2前端控制器(核心控制器),负责接收默认以.action结尾的请求,将请求分发给Action,并根据Result的结果跳转页面. Action: 业务控制器(用户控制器),由开发者创建, 负责处理与业务相关的控制逻辑,返回一个代表视图页面的 逻辑名称(Result) Result: 表示视图页面与逻辑名称的映射关系. 3)学习Struts2框架的方式: 使用-->原理 2.搭建Struts2环境时,我们一般需要做以下几个步骤的工作: 1》找到开发Struts2应用需要使用到的jar文件. 2》编写Struts2的配置文件 3》在web.xml中加入Struts2框架启动配置 3.掌握Struts2开发的基本步骤1:找到开发Struts2应用需要使用到的jar文件 (基于struts2.1.8开发包) 1)配置Struts2的核心库文件: struts-core-*.jar : struts2核心库 webwork-*.jar : Webwork核心库 ognl-*.jar :ognl类似于EL,用于JSP页面 freemarker-*.jar:构建页面的底层技术 commons-fileupload-*.jar :支持文件上传的库 2)掌握Struts2开发的基本步骤2:编写Struts2的配置文件 Struts2默......

阅读全文(2030) | 评论:1

我们重点分析Web开发转发的问题(2013-03-18 10:19:00)

摘要:以下是本人的一些分享,我热爱编程,希望能多交编程的爱好者,如果你也是其中一名,那么请加好友,大家关注一下,下面的文章是自己觉得一些有用的东西,留下来给自己当笔记,当然也希望能帮助到你,首先感谢你的阅读~! 对于学java的初学者来说。Web开发中请求和响应的处理可能是比较头疼的一件事,尤其是对于和转发两者之间的用法,很多初学者可能会认为:用和转发是习惯问题,喜欢用哪个就用哪个。其实不然,用和转发不是一个习惯的问题,而是在某种情况下必须要用转发的问题。那么我们分析下和转发。 什么是转发? 一个web组件(servlet/jsp) 将未完成的处理交给另外一个web组件继续完成。 一般应用的场合:一个servlet处理请求之后,将处理结果交给一个jsp,让jsp依据处理结果生成相应的界面。 如果是按照通俗一点的按照流程里说就是这样:发送请求 -->服务器处理请求-->进行请求的重新设置,例如通过request.setAttribute(name,value)-->根据转发的地址,获取该地址的jsp网页-->响应请求给浏览器。 编程的时候怎么写?这个比要复杂一点: ① 将处理结果绑订定到request对象上。 request.setAttribute(String name,Object obj); //如果name对应的值不存在,则返回null。 Object request.getAttribute(String name); request.removeAttribute(String name); ② 获得转发器 //uri:是要转发的目的地,目的地只能是同一个应用的内部。 RequestDispatcher rd = request.getRequestDispatcher(String uri); ③ 转发 rd.forward(request,response); 需要注意的是: 转发之前,不要有任何的刷新操作,否则会出错。 转发之前,如果response当中缓存有数据,会先清空。 转发的特点 ① 转发的目的地只能是同一个应用内部的各个组件之间。 ② 转发之后,浏览器地址栏的地址不会变。 在互联网时代,JAV......

阅读全文(3037) | 评论:2

JSP技术分享:常用禁止缓存的四种方法(2012-12-25 12:08:00)

摘要: 以下是常用禁止缓存的四种方法: 1、客户端缓存要在head中加入类似如下内容: <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"> 或 <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> 2、在服务器的动态网页中禁止缓存,要加入类似如下脚本: response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0); 3、设置有限时间的缓存: int minutes = 10; Date d = new Date(); String modDate = d.toGMTString(); String expDate = null; expDate = (new Date(d.getTime() + minutes * 60000))。toGMTString(); response.setHeader("Last-Modified", modDate); response.setHeader("Expires", expDate); response.setHeader("Cache-Control", "public"); //  ......

阅读全文(1735) | 评论:0

Spring获取WebApplicationContext为null解决方案(2012-12-24 11:14:00)

摘要: 在web.xml中配置Spring,配置如下     <servlet>     <servlet-name>springServlet</servlet-name>     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>     <init-param>     <param-name>contextConfigLocation</param-name>     <param-value>/WEB-INF/applicationContext.xml</param-value>     </init-param>     <load-on-startup>1</load-on-startup>     </servlet>     在Servlet中通过WebApplicationContextUtils.getWebApplicationContext(getServletContext())获取WebApplicationContext对象为null.这是由于除了配置DispatcherServlet,还需要配置ContextLoaderServlet,否则无法获取WebApplicationContext.配置方法如下,在web.xml中加入     <servlet>     <servlet-name>context</servlet-......

阅读全文(1985) | 评论:0

Java如何读写txt文件的代码(2012-12-21 15:09:00)

摘要: 有关Java如何读写txt文件这个问题经常在面试时会被问到,不懂或不熟悉的同志们可是要记好了哟!先来看下具体实现吧! package common; import java.io.*; import java.util.ArrayList; public class IOTest { public static void main (String args[]) { ReadDate(); WriteDate(); } /** * 读取数据 */ public static void ReadDate() { String url = “e:/2.txt”; try { FileReader read = new FileReader(new File(url)); StringBuffer sb = new StringBuffer(); char ch[] = new char[1024]; int d = read.read(ch); while(d!=-1){ String str = new String(ch,0,d); sb.append(str); d = read.read(ch); } System.out.print(sb.toString()); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * 写入数据 */ public static void WriteDate() { try{ File file = new File(“D:/abc.txt”); if (file.exists()) { file.delet......

阅读全文(2632) | 评论:0

java 获取网页源码(2012-12-21 15:03:00)

摘要: package gogo.cool;     02     03 import java.io.BufferedReader;     04 import java.io.IOException;     05 import java.io.InputStreamReader;     06 import java.net.HttpURLConnection;     07 import java.net.URL;     08     09 public class test1 {     10     11     public static void main(String[] a) throws IOException {     12     13         String url = “http://www.baidu.com”;     14     15         System.out.println(getHTML(url, “gbk”)); // 使用原网页里声明的gb2312反而会出现乱码     16     17     }     18    ......

阅读全文(2373) | 评论:0

Java中23种设计模式详解(2012-12-20 14:21:00)

摘要: 通常,一个设计模式描述了一个被证实可行的方案。这些方案非常普遍,是具有完整定义的最常用的模式。一般模式有4个基本要素:模式名称(pattern name)、问题(problem)、解决方案(solution)、效果(consequences)。 常见的Java设计模式有以下23种: 1、抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 2、适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口或类不兼容而不能一起工作的类可以一起工作。 3、桥梁模式(Bridge):将抽象部分与它的实现部分分离,广州达内使它们都可以独立地变化。 4、建造模式(Builder):将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示。 5、责任链模式(Chain of Responsibility):为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。 6、命令模式(Command):将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。 7、合成模式(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。 8、装饰模式(Decorator):动态地给一个对象添加一些额外的职责。就扩展功能而言,它能生成子类的方式更为灵活。 9、门面模式(Facade):为子系统中的一组接口提供一个一致的界面,门面模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 10、工厂方法(Factory Method):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method 使一个类的实例化延迟到其子类。 ......

阅读全文(2317) | 评论:0