自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鱼与飞鸟

学习、工作、娱乐三位一体

  • 博客(114)
  • 资源 (4)
  • 收藏
  • 关注

翻译 ArrayList和LinkedList区别

 ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references)。例如我们可以用ArrayList来存储一系列的String或者Integer。那么ArrayList和LinkedList在性能上有什么差别呢?什么时候应该用ArrayList什么时候又该用LinkedList呢?一.时间复杂度首先一点关键的是,ArrayList的内部实现是基于基

2008-04-07 15:22:00 8517 7

原创 javax.naming.NoInitialContextException错误的解决方案

         我用的J2EE服务器是Sun的免费服务器Application Server PE,在运行一个简单的例子时总是报如下的错误:javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter,

2008-04-06 21:55:00 18912 6

原创 关于EJB的一些常见问题(一)

 一.EJB和J2EE有什么区别答:J2EE和EJB都是服务器的规范。不过EJB实际上是J2EE的一个子集。换句话说,J2EE服务器必须包括一个 EJB容器。每个J2EE服务器都必须包含一个EJB容器,除此之外,还要有一个能运行servlet和jsp的web容器。一个很形象的比喻,EJB之于J2EE就如果米老鼠之于迪士尼。二.能不能脱离EJB兼容的应用服务器来使用EJB组件答:绝对不行

2008-04-04 14:52:00 1636

原创 关于j2ee sdk 1.4.3安装时点击下一步程序无反应的解决方案

        想在机器上安装一个j2ee sdk练习下EJB是如何部署的,但是下载的j2ee sdk在安装的时候每次点下一步之后就没有反应了,很是纳闷,因为之前装过一次,很顺利的就成功了,搞的我差点就重装系统了,今天上网,偶然之间发现了其相应的解决方案,更详细的信息在http://wiki.java.net/bin/view/Projects/InstallProblems 可以查看,这里列出了

2008-03-30 12:06:00 2262 1

原创 在Eclipse中使用JAD进行反编译

        在用Eclipse开发中有时候想要看已经封装好的第三方的class文件的源代码,这个时候如果装上Jad插件,只要把鼠标放在想看的类或方法名上,然后按住ctrl点击,就可以看到它的源代码了。具体的步骤如下:        1.下载Jad.exe和相关的插件net.sf.jadclipse_3.2.4.jar        2.按照安装Eclipse插件的步骤将 net.sf.

2008-02-27 15:42:00 2642 1

原创 servlet线程安全问题

 我们都知道Servlet是多线程运行的,那么如何让一个Servlet线程安全呢?通常比较常用的措施有如下一些:1.对于那些特定于某个请求的数据使用局部变量。例如一个登陆应用,每次登陆(也就是一个请求)所采用的用户名和密码可能是不同的,对于这些数据(如用户名、密码)应该使用局部变量来存储,而不应该使用全局变量(即实例变量)。2.只对那些不会发生变化的数据使用全局变量。3.对于那些可

2008-01-21 15:27:00 1719

原创 Beginning J2EE 1.4 From Novice to Professional读后感

        断断续续的看完了这本书,这应该是俺看完的第二本英文书了,怎么说呢,感觉一般,顶多只能算入手级别,完全达不到精通的层次,而且书中涵盖的内容太多了,诸如JSP、Servlet、JDBC、DB、Web Service、Design Pattern等等,真正讲EJB的只有4-5章左右,个人觉得可以作为一本入门的书籍来看看,看完之后有一个感触就是EJB的编码不难,但是部署确实很复杂的,而且不

2008-01-15 17:43:00 1516

原创 J2EE学习笔记八:消息驱动bean

消息驱动bean的主要用于接受和处理异步消息,这些信息可能来自一个外部的系统或者同一个应用中的其它组件,之所以称它们为异步,那时因为这些消息可以在任何时候到达,而不同于一般的远程方法调用的结果,是立马直接得到的。同UI的事件处理工作方式类似,消息驱动bean用于监听发送给它的异步消息。值得注意的是,与远程调用方法不同,异步消息的发送者不会停下来去等待对方的响应。消息驱动bean是J2EE中的一

2008-01-14 17:42:00 5984

原创 J2EE学习笔记七:EJB查询语言(EJB Query Language)

实体Bean为底层数据库提供了一个面向对象的抽象,同时它还能够创建一些业务方法,通过这些方法可以操作实体Bean中包含的数据。为了提高数据操作的方便性以及效率,J2EE提供了一种类SQL的语言EJB Query Language,缩写为EJB-QL,这就像我们在Hibernate中所使用的HQL(Hibernate Query Language)一样。通过利用EJB-QL,我们可以在实体bean的

2008-01-09 10:38:00 2375

原创 Struts2学习:拦截器篇(一)

Struts2中自带的默认拦截器栈已经能够满足大多数应用的需要了,大多数的应用都不必再增加自己的拦截器或者改变已有的拦截器栈。在Struts2中,许多action通常都有一些共同的需要关心的问题,比如有一些action它们都需要对页面上的输入进行验证,有一些action需要对上传的文件进行一下预处理,还有一些action可能需要防止重复提交(double submit),还有很多action需要在

2007-12-11 11:22:00 1902

原创 J2EE学习笔记六:本地与远程接口

本地接口(Local Interface)是EJB的特征之一,它的主要目的是提高位于同一EJB容器中的企业bean(enterprise bean)之间相互访问的性能。比如说,一个会话bean要调用某个实体bean中的一些方法,并且这个会话bean和实体bean存在于同一个EJB服务器中,那么使用本地接口速度就会更快并且耗费更少的资源,因为此时会话bean和实体bean在同一个JVM中运行,它们使

2007-12-05 13:49:00 2334 1

原创 Sun Application Server PE 8.0中公用类的存放位置

        在对照例子运行一个EJB的例子时,不想利用默认的JNDI连接数据库,想自己创建一个JNDI连接本地的Mysql数据库,所用到的DataSource类是 com.mysql.jdbc.jdbc2.optional.MysqlDataSource,这时候涉及到一个问题就是将包括此类的jar包放入哪个位置?上网查了下相关资料,比较少,这时可以看一下/Sun/AppServer/domai

2007-12-04 12:37:00 1561

原创 J2EE学习笔记五:entity bean概念

    Entity Bean提供了一个关系数据库的面向对象的抽象,它能同时从面向对象技术和面向过程技术中获益。既然Entity Bean和Session Bean都是Enterprise Bean,那么它们必然具备一定的相同点:Entity Bean也要有一个Home Interface、Bean Interface和Bean Class,如下图所示:    Session Bean

2007-11-28 17:26:00 3327

原创 J2EE学习笔记四:开发第一个Session Bean

一、基础知识要开发一个Session Bean,我们需要创建两个Java接口和一个Java类,这些接口和类分别叫做:home interface、bean interface、bean class,如下图所示:Home Interface:为了让session bean的客户端能够获得一个它的bean接口的引用,我们必须要使用bean的Home Interface。一个EJB的Ho

2007-11-19 19:56:00 1953

原创 J2EE学习笔记三:EJB基础概念和知识

EJB正是J2EE的旗舰技术,因此俺直接跳到这一章来了,前面的几章都是讲Servlet和JSP以及JDBC的,俺都懂一些。那么EJB和通常我们所说的Java Bean有啥区别呢?书中是这样说的:JavaBeans和Enterprise JavaBeans是两个不同的东西,但是因为一些相似些,它们具有共同的名字。JavaBeans是用Java构建的组件,可以用于应用的任意一层上,它们通常都和Serv

2007-11-19 13:49:00 2035 1

原创 J2EE学习笔记二:配置一个简单的J2EE测试环境

如前所述,不同的供应商都给出了自己的J2EE解决服务,如IBM的websphere,BEA的weblogic等等,书中的所有范例都是运行在一个参考实现(reference implemention)之上的,这个参考实现是由Sun公司免费提供的,它是完全符合J2EE规范的一个实现。应该注意到,这个参考实现仅仅是一个工作模型,它并不适合用于企业级部署,它并没有提供任何J2EE规范之外的企业级特征,如c

2007-11-18 19:42:00 1827 1

原创 J2EE学习笔记一:相关概念和基础知识

      最近在看一本关于J2EE的英文书,名字很牛逼,叫做:Beginning J2EE 1.4:From Novice to Professional,从J2EE菜鸟到高手,为了成为传说中的高手,我决定拜读此书,希望通过此书能够对J2EE有一定的了解,俺不奢望成为高手,能够开发出EJB就行咯,^_^,为了留下痕迹,决定做下学习笔记。一、什么是J2EE         刚学Java

2007-11-18 18:45:00 2338

原创 Struts2配置文件中传递参数的一个小问题

        最近在Struts2中配置action时,经常要在配置文件中给一个页面或者action传递若干个参数,如下面所示:    /orderFlow/outHotelAction!initOrder.action?cancelOrderId=${forwordparam}                   如上红色部分所示,cancelOrderId是我们通过url传递的一个参

2007-11-18 13:34:00 7456 4

原创 DWR学习笔记(一):第一个dwr应用

DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).按照Getahead官方网站上的步骤,可以按照如下的步骤来尝试第一个DWR应用:1. 

2007-11-06 13:46:00 1900 1

原创 JSTL基础功能

    这里主要讨论了JSTL的一些基础功能,主要包括:处理复选框参数、从表单中读取日期、错误处理、验证用户输入。一.处理复选框参数这个功能比较简单,主要是利用JSTL中paramValues这个隐式变量,它和param是相对应个,只不过前者用来处理多个同名参数,而后者是用来处理单个参数的。看下面的例子:    country.jsp:给出了一组多选框,用于选择国家DOCTYPE

2007-10-30 15:31:00 2243

原创 关于Form的method属性get和post是有区别滴

        之前就特意查了一下,大部分的区别网上都说了,譬如参数传递方式、编码方式之类,今天一部小心就感受了一把它们的一个很容易忽视的差别,那就是在当method为get时,action属性中url后面的参数是忽视滴,比如说action=insert.jsp?name=tobby  method=get,当我们提交之后真正的url中是没有name=tobby的,它会根据表单中的内容重新组装一个

2007-10-26 20:38:00 2882

原创 说说相对路径与绝对路径

        虽然在web开发的过程中经常使用相对路径,但是一直没有怎么对相对路径做一个系统的理解,记得在刚开始用tomcat的时候就一直理解不了以斜杠开头的相对路径和没有斜杠的相对路径之间的差别,尽管用的时候都能够用正确。最近看JSTL in Action,才总算有了一个清楚的认识。1.什么是绝对路径绝对路径是与相对路径相对立的,通常一个完整的URL包括两个部分:●      sc

2007-10-21 13:55:00 2513 2

原创 Oracle中的树状查询(递归查询)

数据库中有一个表,结构很简单,如下所示:表名:TBInvoice字段:id      name      parent_id每一行记录表示一个发票,parent_id表示它的父对象id,假设现在表中有如下数据:id          name          parent_id1                                       张三    

2007-09-30 15:06:00 4539

原创 Struts2:类型转换之批量封装Set集合类型的属性

这个应该是属于Struts2类型转换的话题,本篇主要是讨论如何将页面上表单的值批量封装到一个Set集合中去,因为项目中用的是Hibernate,基本上所有的集合类型用的都是Set类型。至于如何批量封装数据到其它的集合类型如(List,Map)可以参看这篇文章,说的很详细了:http://hi.baidu.com/wava/blog/item/01d58926c42dac158b82a134.htm

2007-09-25 13:09:00 4937 5

翻译 Struts2学习:类型转换篇

框架中常规的类型转换对我们而言是透明的,我们无需关心,一般来说我们所要做的是确保HTML中input的命名能够在OGNL表达式中使用。在HTML中,并没有数据类型的概念,任何数据都被当做字符串或者字符串数组来传递。Struts2为我们提供了一些内建的类型转换,譬如说基本类型之间的转换、”1984-08-27”格式的字符串能够被正确的转换为Date类型等等。但是这些内建的类型转换有时并不能满足我们的

2007-09-25 10:49:00 4286

原创 Spring学习:使用Spring调度任务

并非应用系统中发生的所有事情都是由用户的动作引起的。有时候,系统自己也会发起一个动作。比方说最近的项目中,要求系统每到晚上12点就检查数据库中所有订单的状态,将所有草稿状态的订单的状态修改为超时取消。这个时候我们就可以利用Spring为我们提供的任务调度功能了。今天自己试用了一把Spring的任务调度,我的逻辑很简单,让后台每过一分钟就打印一句“This is My Schedule Test

2007-09-21 20:09:00 4134

原创 Struts2学习(九):集成Hibernate

在Struts2中集成了Spring之后再集成Hibernate就非常容易了,在这里我们需要用到Spring提供的ORM模块。通过这个模块Spring提供了对Hibernate、JDO、OJB和iBatis的集成。在与Hibernate集成时我们需要用到Spring的LocalSessionFactoryBean类,这个类可以看作是连接Spring与Hibern ate的桥梁。一.首先我们

2007-09-20 17:28:00 1556

原创 设置模式窗口的属性如高度、宽度等

今天试着用了一下模式窗口,语法和通常的打开窗口(window.open)比较类似,它调用的方法是:window.showModalDialog(sURL [, vArguments] [, sFeatures]),在这里我主要想说的是关于如何修改这个窗口的属性如大小等等。这次犯了典型的经验主义的错误,以为和window.open一样,我用了width,height等来进行设置,事实证明这是错滴

2007-09-17 12:03:00 3956 1

原创 struts2学习:配置篇之通配符映射

应用程序越大,它里面action mapping的数量也越多,通过使用通配符,我们可以将一些相似的mapping绑在一起,用一个比较通用的mapping来表示,在前面关于action配置的那章里面也提到了这个通配符的使用,这里再系统的说一下。如下所示,有一个配置好了的action mapping:    name="/edit*"    class="org.apache.stru

2007-09-15 20:45:00 5577 1

原创 Struts2学习:配置篇之异常映射

异常映射是处理Action类异常的一个有力工具,通过异常映射我们可以提供更加友好的用户界面,而不是一堆错误代码信息。Action方法抛出的异常能够被自动捕捉然后经过映射指向一个预定义好了的Result。声明式的策略对于抛出运行时异常的框架尤其有用。和框架的很多其它部分一样,我们需要使用一个拦截器来启动异常映射功能。在struts-default.xml文件中已经为我们把这个拦截器准备好了,因此

2007-09-14 13:53:00 4140 1

原创 include标签与include指令的比较

很早以前学习Jsp时就对include指令与inclue标签之间的异同搞的不是很清楚,因为毕竟用起来感觉差不多的,今天特地查了下资料,总的来说它们之间的差别是非常微妙的,可以用如下一句话概括:指令会首先找到要包含的目标文件,然后把它插入到我们的JSP页面中,就像我们将目标文件中的内容复制粘贴过来了一样;而则恰恰相反,它是在JSP页面执行的时候才去寻找目标文件,在具体的行为上有如下差别:1.假设

2007-09-13 14:43:00 3377

原创 搭建JSTL运行环境

在应用中要使用JSTL标签库以及它的表达式语言只需如下几步即可:1.  将jstl.jar和standard.jar包含到应用程序中(WEB-INF/lib目录下);2.  修改web.xml,在其中加入如下片段:    taglib>        taglib-uri>coretaglib-uri>        taglib-location>/WEB-INF/c-rt.

2007-09-11 11:49:00 3534

原创 Struts2学习:在struts2中集成Spring

Spring的官方定义是:一个轻量级的IoC和Aop容器框架,它使用了一种叫做依赖注入的技术。所谓依赖注入,就是指将创建对象以及协议依赖对象之间合作的责任从对象自身中转移到“工厂”中去,这个“工厂”通常由IoC容器提供。Struts2与Spring的集成要用到Spring插件包,这个包是同Struts2一起发布的。Spring插件是通过覆盖(override)Struts2的ObjectFac

2007-09-09 16:43:00 2527

原创 Sturts2学习:理解bean元素的作用

在看struts2的bean元素配置时一直对这个元素的作用不是很清楚,尽管官方文档说它有两个作用:对象注入和值注入,当时说的都相当抽象。于是上网查了很多资料,并且查了下webwork in action这本书,发现bean元素是struts2里面才引入的,无意间又看了下官方文档中plug-in这节,这才对bean元素的作用有了一点领悟,下面谈下个人理解。在这之前,首先说下struts2中的依赖注入

2007-09-08 18:16:00 2841

翻译 struts2学习:配置篇值请求处理元素

     对请求进行处理的元素主要有interceptors、Action以及Result。下面分别对其进行讲述。    1.拦截器配置(interceptors)通过使用拦截器,我们可以在action中的方法执行之前先执行一些我们事先定义好了的方法,也可以在action中的方法执行之后立即执行一些我们事先定义好了的方法。在开发的过程中,拦截器将是一个强有力的工具。拦截器有很多很多的功

2007-09-07 19:40:00 2358 1

原创 struts2学习:配置篇之namespace

把namespace单独拉出来讲一方面是因为它实际上不是一个element,而只是一个attribute,前面已经说了,它是package的一个attribute;另外一方面是因为这个属性是我接触Struts2的时候第一个研究的,印象很深,鉴于这两个原因我决定单独说一下它。在struts1中是没有命名空间这个概念的,通过命名空间我们可以将所有的action配置划分为一个个逻辑单元,每个单元都有

2007-09-06 20:15:00 20617 10

翻译 Struts2学习:配置篇之管理层配置元素(一)

在web应用程序中我们都是使用部署描述符来初始化一些资源如servlet、过滤器、监听器等等,这个部署描述符就是那广为人知的web.xml了。同样的,框架也使用一个配置文件来初始化它自己的资源,这些资源主要包括:1.拦截器(Interceptor):对请求进行预处理和后加工;2.Action Classes:负责调用商业逻辑和数据访问层;3.Results:负责返回视图(view),如

2007-09-05 15:06:00 4864 1

翻译 Struts2学习:配置篇之静态内容

在struts2框架中有一些它所需要的公共的静态内容,比如说js文件和一些css文件。当框架需要这些静态内容的时候,FilterDidpatcher会自动提供给我们。那么FilterDidpatcher是如何知道我们在请求静态内容的呢?任何请求只要以“/struts/”开头,那么FilterDidpatcher就会认为它是在请求静态内容。注意这里所说的请求是指从应用上下文后面开始的部分,比如说请求

2007-09-04 09:22:00 3213 1

翻译 Struts2学习:配置篇之配置文件

从一个struts开发者的角度来看,框架唯一必须的配置文件是web.xml,如上篇所说的0配置,它就只需要web.xml文件。通过web.xml文件,我们可以完全控制struts来配置它自身以及我们的应用程序。默认情况下,struts会装载一系列的内部配置文件来配置它自己,然后装载另外一系列的文件来配置应用程序,尽管只要一个web.xml文件就可以了,但是我们在开发一个完整的struts应用时通常

2007-09-03 19:30:00 3505

翻译 Struts2学习:配置篇之“0配置”和Annotation

Struts2官方文档在讲述配置的时候,一开始就来了个“0配置”(Zero Configuration),大意就是说在struts应用中不使用任何xml文件或者properties文件,元数据(Metadate)都用通过约定(convention)和注解(annotation)来表达的,而且这是struts2的一个新特性,目前仍在测试中,相关文档也很粗略。接下来的一部分讲述的就是Annotatio

2007-09-02 18:03:00 6136 4

Junit

内含Junit相关jar包以及帮助文档,这时最新版本4.4

2008-03-17

Eclipse的Jad插件

Eclipse的Jad插件

2008-02-27

Jad.exe

Java反编译利器,非常好用

2008-02-27

JSTL In Action部分笔记

最近在JSTL in action 的英文版,顺便翻译了一部分,算是个笔记吧,大家一起进步

2007-10-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除