javafever


我无富贵命,所喜性天然。壁立三千字,家无半吊钱。蝉鸣深巷里,人语短屋前。收拾英雄气,耕作两分田。

#

古琴

一直以为,古琴已经不是一种乐器。

对古琴的仰慕,持续了十多年,并且至今是有增无减。古琴带给我的震撼,不是从声波对我的耳膜的刺激中来的。从初识古琴时听到的“阳关三叠”,到后来百听不厌的“梅花三弄”,以致如今略有所悟得“潇湘水云”,我一直在很用心的体会这个独特乐器所带来的意境。如果说开始听琴时还有些附庸风雅,那现在我已经是真正体会到古琴的妙处了。

初识妻时,给她听了很多古琴的曲子。妻是文人,那时对古琴仰慕的一塌糊涂。后来,有一次,乐器店的老板进了一具古琴,我便带她一同去听,结果,我和她的感受截然相反。

古琴悦己,古筝悦人,我想,把古琴仅仅当作一种乐器的人是弹不好古琴的。

古琴是一种“道器”、“德器”,以致我见到古琴时,真的怕自己一辈子都没有机会有资格拥有它。

posted @ 2005-08-14 21:03 javaFever 阅读(402) | 评论 (0)编辑 收藏

步韵一位朋友的词

点绛唇

几片扁舟,几番天色又飘淼。几人同道,几许听秋草。
月色苍茫,携琴欲远眺。知音少,也是玩笑,莫惹些烦恼。

原词如下:

点绛唇.忆

一树丹枫,一江秋水波微淼。一条长道,一桥连滩草。
黯淡斜晖,无语西楼眺。思年少,尽情欢笑,哪有些烦恼。

posted @ 2005-08-13 22:24 javaFever 阅读(357) | 评论 (0)编辑 收藏

ExadelStudio2.5插件使用(三)

{创建ManagedBean}
在Exadel下创建一个Managed Bean的方法十分简单。首先,在包资源管理器下面定位到/WebContent/WEB-INF/faces-config.xml文件,双击打开它。默认情况下是用源码方式打开,可以通过窗口下部的“Tree”标签以树状图形方法打开它,定位到“Managed Bean”,点击右键,选择“New->Managed Bean...”,如下图:

Image00000.jpg

这时Exadel会打开一个对话框要求你输入这个Managed Bean的存活期、类名称和名称等属性,注意,
1、请选中“Generate Source Code”选项,Exadel会为你产生类的代码。
2、类名称应该是全名,即名括包的名称。

Image00003.jpg

单击“Finish”按钮后,可以在包资源管理器里找到这个Managed Bean的源码文件。

Image00004.jpg

Managed Bean 和普通的JavaBean没有任何区别,TableTest类只有一个属性——data,它返回表Authors中的所有记录,源码如下(注意使用了前面配置的数据源):
/*
 * TableTest.java
 * javafever @ 2005-8-9
 
*/

package jtest;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;
import javax.sql.DataSource;


public class TableTest {
    
    
private Connection con = null
;
    
private Result data = null
;
    
    
public void setData(Result data) 
{
        
this.data =
 data;
    }

    
    
public void connect() throws SQLException, NamingException {
        
if (con != nullreturn
;
        Context ctx 
= new
 InitialContext();
        DataSource ds 
= (DataSource) ctx.lookup("java:comp/env/jdbc/jtest"
);
        con 
=
 ds.getConnection();
    }

    
    
public void disconnect() throws SQLException {
        
if (con != null
{
            con.close();
            con 
= null
;
        }

    }

    
    
public Result getData() throws SQLException, NamingException {
        
try 
{
            connect();
            Statement stmt 
=
 con.createStatement();
            ResultSet rs 
= stmt.executeQuery("select * from authors"
);
            
return
 ResultSupport.toResult(rs);
        }

        
finally {
            disconnect();
        }

        
    }

    
    
public TableTest() {
    }

}


再次打开faces-config.xml文件,使用“Tree”方式编辑,选中“Managed Bean -> table”,在右边的“Preperties”编辑区里增加一个属性,增加属性的对话框如下。注意,Value Kind选择“null-value”。

Image00010.jpg

{建立JSP页面}
接下来创建页面来显示这个表格。(如果按照上一节创建了/WebContent/index.jsp文件,请先删除它。)在资源管理器的“/WebContent”节点上选择建立JSP文件,对话框如下,注意,Template选择“JSFBasePage”会生成一些默认的代码,方便你书写JSP程序。

Image00005.jpg

创建的代码如下:

Image00007.jpg

如果你不是使用的“Exadel Studio”透视图,现在请使用它,并打开“Exadel Palette”视图。“Exadel Studio”视图如下,它提供了一些JSF组件的图标。单击这些图标可以在Jsp编辑器里快速的生成JSF代码。

Image00006.jpg

比如,点击“dataTable”,生成的代码如下:

Image00008.jpg

最终的代码:

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

<html>
    
<head>
        
<title></title>
    
</head>
    
<body>
        
<f:view>
            
<h:dataTable value="#{table.data}" var="data">
                
<h:column>
                    
<f:facet name="header">
                        
<h:outputText value="First Name"/>
                    
</f:facet>
                    
<h:outputText value="#{data.au_fname}"/>
                
</h:column>
                
<h:column>
                    
<f:facet name="header">
                        
<h:outputText value="Last Name"/>
                    
</f:facet>
                    
<h:outputText value="#{data.au_lname}"/>
                
</h:column>
                
<h:column>
                    
<f:facet name="header">
                        
<h:outputText value="Phone"/>
                    
</f:facet>
                    
<h:outputText value="#{data.phone}"/>
                
</h:column>
                
<h:column>
                    
<f:facet name="header">
                        
<h:outputText value="Address"/>
                    
</f:facet>
                    
<h:outputText value="#{data.address}"/>
                
</h:column>
            
</h:dataTable>
        
</f:view>
    
</body>    
</html>
  

{运行}
最后,运行/ant/build.xml。启动Tomcat,访问http://localhost:8888/jtest/index.jsf,结果如下:

Image00011.jpg

Exadel提供一个Web Browser,通过下面的方式使用。

Image00012.jpg

Image00009.jpg



posted @ 2005-08-10 21:03 javaFever 阅读(748) | 评论 (0)编辑 收藏

气愤

今天公司组织职工进行体检,在30所职工医院。结束后才发现,医院抽血好象不是用的一次性针头,大惧!以后再也不到职工医院看病了。

老婆今天回家了,衣来伸手饭来张口的幸福生活就此结束,今天开始又是吃伙食团,幸好我上次检查已经有了乙肝抗体,呵呵。

posted @ 2005-08-09 20:58 javaFever 阅读(256) | 评论 (0)编辑 收藏

ExadelStudio2.5插件使用(二)

{建立应用jtest}
建立一个名为jtest的Exadel JSF Project,模板选用JSFBlank。

{配置Tomcat数据源}
我使用的是Tomcat5.5.10,数据库是SQLServer2000_SP3(好象都是比较新的版本,难怪有人说我喜新厌旧)。
我的Web应用程序名叫jtest,所以我修改{TOMCAT_HOME}/conf/Catalina/localhost/jtest.xml文件,在里面增加数据源配置。文件内容如下:

<Context docBase="E:/java/jtest/WebContent"
  path
="/jtest"
  reloadable
="true">
 
<Resource name="jdbc/jtest"
   type
="javax.sql.DataSource"
   password
="1"
   driverClassName
="com.microsoft.jdbc.sqlserver.SQLServerDriver"
   maxIdle
="2"
   maxWait
="5000"
   username
="sa"
   url
="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"
   maxActive
="4"/>
</Context>

在包资源管理器中找到WebContent/WEB-INF/web.xml,打开,安装Exadel后会自动使用Exadel的XML编辑器打开XML文档,如果是web.xml和faces-config.xml,还会有相应的图形化工具。使用图形化工具来管理很方便,大大提高了开发效率。由于这个web.xml比较简单,所以我直接编写源文件,最终的文件内容如下:

<?xml version="1.0"?> 
<web-app version="2.4"
 
xmlns
="http://java.sun.com/xml/ns/j2ee"
 
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
 
xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 

    
<context-param>

        
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        
<param-value>server</param-value>
    
</context-param>

    
<context-param>
        
<param-name>javax.faces.CONFIG_FILES</param-name>
        
<param-value>/WEB-INF/faces-config.xml</param-value>
    
</context-param>

    
<listener>
        
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    
</listener>

    
<!-- Faces Servlet -->
    
<servlet>
        
<servlet-name>Faces Servlet</servlet-name>
        
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        
<load-on-startup> 1 </load-on-startup>
    
</servlet>


    
<!-- Faces Servlet Mapping -->
    
<servlet-mapping>
        
<servlet-name>Faces Servlet</servlet-name>
        
<url-pattern>*.jsf</url-pattern>
    
</servlet-mapping>
    
    
<resource-ref>
     
<description>DataSource</description>
     
<res-ref-name>jdbc/jtest</res-ref-name>
     
<res-type>javax.sql.DataSource</res-type>
     
<res-auth>Container</res-auth>
    
</resource-ref>
    
</web-app>

除了<resource-ref>标签里定义数据源是我自己手动增加的内容以外,其它都是Exadel自动产生的,真是很方便。
在配置的过程中遇到点小麻烦:我的OS是Windows2003,JDBC是微软官方的,开始SQLServer2000没有打SP3,怎么也配不成功,结果一打SP3就行了,浪费了不少光阴。

{测试数据源}
最后,写一个index.jsp文件来测试数据源有没有工作,文件内容如下:

 1<%@ page language="java" %>
 2<html>
 3<head>
 4<title>jtest</title>
 5</head>
 6<body>
 7<h2>Result</h2>
 8
 9<%

10javax.naming.Context ctx = new javax.naming.InitialContext();
11javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup("java:/comp/env/jdbc/jtest"
);
12java.sql.Connection con =
 ds.getConnection();
13java.sql.Statement stmt =
 con.createStatement();
14java.sql.ResultSet rs = stmt.executeQuery("select count(*) as c from authors"
);
15if (rs.next()) out.println("count is:" + rs.getInt("c"
));
16
rs.close();
17
stmt.close();
18
con.close();
19%>

20


将文件存放在/WebContent/目录下,然后运行/ant/build.xml,最后启动Tomcat,如果能看到结果,表示配置一切OK。

posted @ 2005-08-09 20:21 javaFever 阅读(727) | 评论 (1)编辑 收藏

ExadelStudio2.5 插件的使用(一)

最近一个月,一直在用Exadel做JSF的练习,发现它的确是一个非常好的Eclipse插件,尤其是对编写JSP页面,几乎没有其它工具比它更好用。

{安装}
安装就不说了,从Exadel的网站上下载,运行Exe或者Jar文件即可。

{配置Exadel}
在“首选项”->“Exadel”->“Running”的“Tomcat”选项卡中配置好Tomcat的路径。ExadelStudio2.5支持Tomcat、JBoss、JRun和J2EESDK。不过,ExadelStudioPro3.0就支持几乎所有的应用服务器了。
在“首选项”->“Exadel”->“JSF”->“Project”选项卡中可以配置你使用的JSF的版本、Servlet的版本以及你的JSF项目模板。还有一个选项是在Tomcat的Server.xml文件中注册你的Web上下文。不过由于Tomcat5.0以后可以使用独立的上下文配置文件,所以我一般不喜欢使用这个选项。

{新建一个JSF项目}
在刚才的配置中,JSF项目模板有两个选项,一个的“JSFBlank”,另一个是“JSFKickStart”。JSFBlank将建立一个空白的JSF项目,Exadel会自动在你的项目路径中产生你需要的文档。
首先,它会把需要的JSF库放到应用的/WEB-INF/lib目录下,在项目中的路径为/WebContent/WEB-INF/lib。
第二,它会自动设置好项目的构建路径,让Eclipse能轻松地使用JSF库。
第三,它会自动产生几个重要的文档:Web.xml、faces-config.xml和build.xml。其中web.xml和faces-config.xml放在/WebContent/WEB-INF/下面,而build.xml放在/ant目录下面。
注意,如果你需要对你的ManagedBean进行的调试的话,请记住将build.xml的compiler任务中javac的debug属性设为“on”。
Exadel还会产生一个JavaSource目录,所有ManagedBean的源码都应该存放在这里。还有build和deploy目录是ant用来执行编译和部署的。deploy里是最终的部署路径,当然,你要是不喜欢的话,尽管在build.xml里把它换成其它的。

如果想一句代码都不写就体会一下JSF的概貌的话,可以将Exadel的JSF项目模板设置为“JSFKickStart”,这时Exadel会为你产生一个比空白JSF项目稍稍多一点功能的项目模板,它有一个欢迎页面和一个ManagedBean。虽然没有多大用处,但可以很清晰地看到JSF项目的书写方法。

posted @ 2005-08-08 21:04 javaFever 阅读(801) | 评论 (0)编辑 收藏

郁闷的一天

到S公司两个月了,这两天,公司搞了个令我郁闷的新员工培训。

说郁闷,有几个原因。当然,最重要的原因是要和那一大堆刚从大学里分配来的小孩子们坐在一起,听年纪比我还小的什么经理呀之类的讲些肤浅的技术。第二,我们公司的副总工,就是我们部门的老大,给我们讲软件开发技术时,带有强烈的个人主观色彩,把Java,尤其是EJB批得一无是处,把WebService奉为放之四海皆准的真理,而且以前也发现他有把自己的主观意见强加给下属的趋向,郁闷。

不过也有好处,总算轻松了两天,没干什么活。

ExadelStudioPro3.0到期了,没办法,只好用免费的ExadelStudio2.5,不过,对我来说,主要用它做JSF,倒是够用了,唯一不爽的就是要换回成Eclipse3.0。

SQLServer的JDBC驱动在SQLExplorer和Exadel的Database Explorer里老有问题,不知道怎么回事,JDBC本身应该没有问题,在Tomcat配连接池的情况下也跑得上好的。

posted @ 2005-08-06 00:06 javaFever 阅读(165) | 评论 (0)编辑 收藏

记住为javac作业添加debug="on"

前段时间在做一个JSF练习时,总是不能对类文件进行跟踪调试,Eclipse弹出“cannot install breakpoint”错误对话框。依照该错误对话框的提示,将项目的complier设为使用workspace的,并且在workspace的java->complier选项中选中“add line number attribute to generate class files”,仍然不能解决问题。结果今天才发现,原来,项目的build.xml文件中,javac没有使用debug="on",翻看ant的文档,原来javac默认debug="false"。

posted @ 2005-08-03 20:48 javaFever 阅读(882) | 评论 (0)编辑 收藏

南乡子(霜重暮江寒)

南乡子

霜重暮江寒
一叶扁舟影自单
渐行渐远渐无意
催眠
收拾心事向管弦

何必理衣冠
老子偏爱独倚栏
懒问世间沉浮事
何盼
记取蓑翁钓鱼杆

这是1999年步韵一位网友的词,不过原词和当时和的词已经记不清了,只能依稀记得两句。很久没有写词了,故依原词意,重作此词。

posted @ 2005-08-03 13:03 javaFever 阅读(273) | 评论 (0)编辑 收藏

搬家

受不了CSDN不停地出问题,搬到这里落户来了,希望能让我坚持写Blog。

posted @ 2005-08-02 22:34 javaFever 阅读(203) | 评论 (0)编辑 收藏

仅列出标题
共5页: 上一页 1 2 3 4 5 下一页