2005年8月8日

     摘要: 今天看了一天原来他们写的代码,越看越郁闷,主要是没有设计文档,而且里面很多被舍弃的功能,但是代码没有去掉,而且也没有写注释,不知道干什么用的,也许是我太菜了吧?简单分析一下这个模块的代码吧模块名称叫“信息简报  ”,功能包括五个部分:信息接受,信息发送,分类管理,组管理,权限配置。其中用户部分会用到公共模块,日志部分就是直接使用System.out.pring通过JBOSS输出...  阅读全文
posted @ 2005-08-12 13:24 恏人 阅读(341) | 评论 (0)编辑 收藏
     摘要: 今天老大给了我一个任务,要我一个星期之内看懂一个模块的代码。打开第一个类就遇到了JDBC,数据库还是Oracle,2个都不懂,只好先学习一下JDBC这个东西JDBCTM 是一种用于执行 SQL 语句的 JavaTM API(有意思的是,JDBC 本身是个商标名而不是一个缩写字;然而,JDBC常被认为是代表 “Java ...  阅读全文
posted @ 2005-08-11 13:16 恏人 阅读(642) | 评论 (0)编辑 收藏

从今天开始,我准备把GOF的23种设计模式重新学习一下,并且用Java语言全部描述一次。

Abstract Factory(抽象工厂)      对象创建型模式
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 

posted @ 2005-08-10 23:13 恏人 阅读(211) | 评论 (0)编辑 收藏
    今天把Structs和EJB稍微了解了一下。
   Structs是apache 组织jakarta 项目的一个子项目,用以改善 web 系统的结构,是一个基于J2EE的Web形式MVC模式实现。Structs是由一组类、Servlet和Taglib组成。Structs有其自己的控制器(Controller),基本组件是ActionServlet中定义的Servlet,由ActionMapping定义的,ActionMapping类表示的是Action对象的名字和位置。当一个请求进入控制器时,它将请求的路径映射到Action的位置,并且将请求传送给Action。Structs另外一个重要部分是标签(TagLib),主要由页面制作人员使用。
    EJB(Enterprise JavaBean ) 是设计成运行在服务器上,并由客户机调用的非可视远程对象。可通过多个非可视 JavaBean 构建 EJB。它们有一个部署描述符,其目的与 JavaBean 属性相同:它是以后可由工具读取的 bean 的描述。EJB 还独立于平台,一旦编写好,还可以在任何支持 Java 的平台(包括客户机和服务器)上使用。
j2ee.png
     如果不使用EJB,在EJB服务层实现的业务核心将由普通JavaBeans实现,不能很好的保证负责MVC的JavaBeans和负责业务核心的JavaBeans清晰地分开。
     采用EJB,Web完全只是一个MVC模式的实现,关键业务核心是在EJB的服务层实现,这样做的优点是,Web只负责界面相关部分,因为,如果是一个智能客户端,如Swing或J2ME,在不需要修改任何业务核心的情况下能够方便地更换。同样,提供Web Services功能,也只是在 Web层修改,不会涉及EJB方面的修改,同样保证了系统的稳定性,保证了系统升级和未来的扩展性。
    EJB容器(如JBoss)已经提供了对象池和缓存机制,所以,没有事务机制的无状态Session Bean的性能肯定要强于普通JavaBeans。EJB容器不但在单机中提供了对象池和缓存,而且可以跨服务器实现动态负载平衡,这些都无需开发者自己开发任何软件代码。
    EJB提供的事务机制非常周全,但事务机制带来的缺点是性能的降低,在一般企业应用或数据库系统应用中,EJB不会对你构成很重的包袱。

通过一天的学习,虽然没有写出Structs和EJB的实现代码,但是基本上对这两个东西有了初步的了解
posted @ 2005-08-09 16:31 恏人 阅读(191) | 评论 (0)编辑 收藏
      为了第一天的上班,提前一个小时起床,准备好了,顺便吃了一个早餐(1年没有吃过早餐了,感觉不错)。左等右等终于等到XX路中巴,一群人拥过去,只上了2个人,剩下的都没有上起,只能等下一辆,晕死,没办法打的吧
     好不容易提前一分钟赶到公司,~_~开发人员才来2个人(窃笑,我就喜欢这样,原来我老迟到)。办公室的人叫我等,我就等,谁叫我是新来的呢。不知道什么时候有个人搬着一台不知道是什么年代的古董显示器进了开发室,不会就是我的电脑吧,虽然我不会JAVA,但是我搞开发也有2年了,苍天啊
     大概10点左右,被叫进了经理室,递给我一份合同,说要签2年的卖身契。第一反应就是这么久啊,我在原来的公司是一年一年的签。经理稍微解释了一下,想想也是,无所谓了,到时候想跑照样跑。翻翻合同,一条看起来不起眼的条款让我蒙了,星期六居然要上班,我差点就拒绝签了,经理在一边解释说,那个不是上班,只是技术交流,有事情可以请假,欲哭无泪啊。
     出了经理室,就感觉有被卖身的感觉,总不是滋味。办完相关手续,把我带到一电脑旁边,15的显示器,我差点就叫起来了,那人忙解释一下说,这个只是暂时的,新显示器下午就到,汗~~~~,瞧瞧配置先,815EP的板子,C1.1G的CPU,512M的内存,晕死,难道开发Java这么低的配置也成
    下午配置了一下开发环境,看到同事都在用一个WT  P的插件(一个创建、部署和调试 Geronimo 应用程序的很基本的开发环境),试试感觉还不错,但是总是出现项目重新部署不上去的问题?问一同事也解决不了,看来还得用Lomboz了。剩下的时间看了一下JavaBean和Session编程
    JavaBean其实就是一些类,把业务逻辑从JSP中分离出来。在JSP中使用一个标签引用JavaBean,先通过<%@ page import="mypack.BookDB"%>导入JavaBean类,然后使用标签引用(<jsp:useBean id="bookDB" scope="application" class="mypack.BookDB" />),这个东西就相当于BookDB bookDB = new BookDB,实例化一个类而已,在JSP可以直接使用这个类了(bookDB.Method();),后面的参数就更简单了,scope是范围,包括:page, request, session, application,默认属性值是page。
   Session相对来说要熟悉一些,是用来跟踪用户状态的一个机制。在Servlet API中定义了javax.servlet.http.HttpSession接口。当一个Session开始时,Servlet容器将创建一个HttpSession对象。默认情况下,JSP网页都是支持Session的,也可以通过显示声明支持Session:(<%@ page session="true"%>),最大的问题就是当客户端禁止了Cookie就麻烦一些。需要重写客户请求的URL,把Session ID添加到URL信息中。HttpServletResponse接口提供了重写URL的方法<a href="<%=response.encodeURL("next.jsp")%>">。Session的持久化我原来在.Net中没有发现有这个功能(可能是我菜吧^_^)。需要配置FileStore、JDBCStore,现在暂时还用不上,以后在研究吧。
posted @ 2005-08-08 23:57 恏人 阅读(319) | 评论 (0)编辑 收藏

统计