分类:
2009-05-29 17:34:33
export ANT_HOME=/usr/local/ant
export JAVA_HOME=/usr/local/jdk1.3
export PATH=${PATH}:${ANT_HOME}/bin |
ant [options] [target [target2 [target3] ...]]
Options:
-help print this message
-projecthelp print project help information
-version print the version information and exit
-quiet be extra quiet
-verbose be extra verbose
-debug print debugging information
-emacs produce logging information without adornments
-logfile file use given file for log output
-logger classname the class that is to perform logging
-listener classname add an instance of class as a project listener
-buildfile file use specified buildfile
-find file search for buildfile towards the root of the filesystem and
use the first one found
-Dproperty=value set property to value |
讲解:encoding="UTF-8"表示XML文件采用UTF-8编码格式,如果要使用GBK编码,
需定义为encodeing="GBK"。
3.
讲解:此部分为文件内容的简介,包括文件名称、创建日期、最后修改日期、创建文件的作者、版权。
componentName 表示 文件名称
yyyy-m-dd 表示 创建日期、最后修改日期的格式,如2002-5-1
developerName 表示 创建文件的作者
CompanyName 表示 公司名称或URL
11.
…
254.
讲解:此部分定义了一个名称为componentName的项目元素,缺省的任务为"core"任务,
根目录为当前目录。componentName表示组件的名称,这里指EJB的名称。 |
17.
…
63.
讲解:此部分用于初始化所有的变量
18.
讲解:导入项目根目录下build.properties中的全局变量,开发人员也可以在此文件中重新定义全局变量。
19.
20.
21.
value="${jboss.home}/server/${jboss.configuration}/deploy" />
…
27.
…
41.
42.
43.
讲解:定义和Jboss Application Server有关的变量,包括lib目录、client目录、
deploy目录和J2EE Application部署要用到的一些变量。
22.
讲解:定义组件的名称
23.
讲解:定义源代码目录路径
24.
讲解:定义资源目录路径
25.
讲解:定义库目录路径
26.
讲解:定义build目录路径
28.
讲解:定义源代码的主目录路径
29.
讲解:定义存放EJB的源代码目录路径
30.
讲解:定义存放JavaBean的源代码目录路径
31.
讲解:定义存放Servlet的源代码目录路径
32.
讲解:定义存放WEB部分文件(包括JSP程序、HTML文件、图片、CSS文件、JS脚本等)的目录路径
33.
讲解:定义存放组件API的开发文件目录路径
34.
讲解:定义存放EJB的编译代码目录路径
35.
讲解:定义存放JavaBean的编译代码目录路径
36.
讲解:定义WEB目录的类目录路径
37.
讲解:定义WEB目录的库目录名称
38.
讲解:定义压缩文档的名称
45.
讲解:定义项目的组件目录路径
47.
讲解:这段为注释,说明以下是定义当前组件的变量
48.
讲解:定义当前组件的名称
49.
value="${ProjectName.components.home}/componentName"/>
讲解:定义当前组件的目录路径
50.
value="${ProjectName.componentName.home}/lib/ejb"/>
讲解:定义当前组件的EJB编译目录路径
51.
value="${ProjectName.componentName.home}/build/componentName-ejb.jar"/>
讲解:定义当前组件内的EJB包的路径
52.
value="${ProjectName.componentName.home}/build/componentName-ejb-client.jar"/>
讲解:定义当前组件内的EJB客户端包的路径
54.
讲解:这段为注释,说明以下是定义引入其它组件的变量
55.
value="referencesComponentName"/>
讲解:定义指定组件的名称
56.
value="${ProjectName.components.home}/referencesComponentName"/>
讲解:定义指定组件的目录路径
57.
value="${ProjectName.referencesComponentName.home}/lib/ejb"/>
讲解:定义指定组件的EJB编译目录路径
58.
value="${ProjectName.referencesComponentName.home}
/build/referencesComponentName-ejb.jar"/>
讲解:定义指定组件内的EJB包的路径
59.
value="${ProjectName.referencesComponentName.home}
/build/referencesComponentName-ejb-client.jar"/>
讲解:定义指定组件内的EJB客户端包的路径
61.
value="${jboss.client}/jboss-j2ee.jar:${jboss.client}
/jnp-client.jar:${jboss.client}/jnp-client.jar:${jboss.client}
/jbossmq-client.jar:${jboss.client}/jbosssx-client.jar:${jboss.client}
/concurrent.jar:${jboss.client}/jaas.jar:${jboss.lib}
/jboss-jmx.jar:${jboss.home}/server/${jboss.configuration}
/lib/jbosssx.jar:${jboss.home}/server/${jboss.configuration}
/lib/mail.jar:${servlet-lib.path}:${ejb-classes.dest}:
${web-classes.dest}:${ProjectName.componentName.classbindir}:
${ProjectName.componentName.ejbjar.client}:
${ProjectName.referencesComponentName.classbindir}:
${ProjectName.referencesComponentName.ejbjar.client}" />
讲解:定义classpath,编译bean时要用到。这是定义classpath的一种方法,下面还有另一种方法。 |
location="${jboss.home}/server/${jboss.configuration}/lib/jbosssx.jar" />
location="${jboss.home}/server/${jboss.configuration}/lib/mail.jar" />
讲解:此段定义应用服务器中包文件,如支持ejb的jboss-j2ee.jar、
支持客户端程序的jnp-client.jar、jbossmq-client.jar、jbosssx-client.jar、
支持JavaMail的mail.jar等。
讲解:此段定义项目中要用到的包文件。
讲解:此段定义在编译servlet时的classpath,${ servlet-lib.path }是系统指定的Servlet引擎包。 |
讲解:清除build、lib目录下的所有文件和目录。
讲解:创建build中要用到的所有目录,根据需要可以加入自定义的目录如:
|
destdir="${ejb-classes.dest}"
includes="com/**"
classpathref="base.path" />
讲解:此小段用来完成编译ejb和其它help classes。根据需要可以加入一个非常有用的元素:
encoding="${javac.encoding}"
tofile="${lib.dir}/ejb/META-INF/ejb-jar.xml" />
tofile="${lib.dir}/ejb/META-INF/jaws.xml" />
tofile="${lib.dir}/ejb/META-INF/jboss.xml" />
tofile="${lib.dir}/ejb/META-INF/jbosscmp-jdbc.xml" />
讲解:此小段用来拷贝EJB部署文件,
在JAS中EJB部署文件有jaws.xml、jboss.xml、jbosscmp-jdbc.xml。
basedir="${lib.dir}/ejb" />
讲解:此小段用来把class和部署文件压缩成包文件,这个包文件就是一个EJB组件。
file="${ProjectName.referencesComponentName.home}/build/
${ProjectName.referencesComponentName.name}-ejb-client.jar"
tofile="${build.dir}/${ProjectName.referencesComponentName.name}
-ejb-client.jar" />
basedir="${lib.dir}/ejb"
excludes="com/ProjectName/componentName/ejb/ComponentNameEJB.class" />
讲解:此小段用来把class和部署文件压缩成包文件,以支持客户端运行。 |
destdir="${lib.dir}/web/WEB-INF/classes"
includes="com/**"
classpath="${build.classpath}" />
讲解:此小段用来完成编译servlet。
tofile="${lib.dir}/web/WEB-INF/jboss-web.xml" />
tofile="${lib.dir}/web/WEB-INF/web.xml" />
讲解:此小段用来拷贝WEB部署文件,在JAS中WEB部署文件有jboss-web.xml。
file="${build.dir}/${ProjectName.referencesComponentName.name}-ejb-client.jar"
tofile="${lib.dir}/web/WEB-INF/lib/${ProjectName.referencesComponentName.name}
-ejb-client.jar" />
basedir="${lib.dir}/web" />
讲解:此小段用来把所有的JSP程序、Html、Css、图片和部署文件等压缩成WAR文件。 |
tofile="${lib.dir}/j2ee/META-INF/application.xml" />
讲解:此小段用来拷贝Application的部署文件。
tofile="${lib.dir}/j2ee/${name}-ejb.jar" />
tofile="${lib.dir}/j2ee/${name}-web.war" />
basedir="${lib.dir}/j2ee" />
讲解:此小段用来把EJB组件、支持客户端运行的包和部署文件压缩成EAR文件,它就是一个J2EE
Application。这里要说明,在进行build时,根据需要可以不生成EAR文件。 |
讲解:此小段用来部署Application,在JAS3.0中${jboss.deploy}是JAS的热部署目录。 |
destdir="${javadoc.dir}"
classpath="${build.classpath}"
encoding="${javadoc.encoding}"
author="${javadoc.author}" version="${javadoc.version}"
use="${javadoc.usage}"
windowtitle="${project.name} ${name} Component API"
doctitle="${project.name} ${name} Component"
bottom="Copyright ${sign.copyright} ${project.date}
${company.signature}. All Rights Reserved.">
|
|
在ABookEJB组件的ejb-jar.xml中
…
|
…
|
|
讲解:指定数据源DefaultDS
讲解:指定EJB为SequenceGeneratorEJB
讲解:实体EJB的属性名称
讲解:映射到数据库中字段的名字
讲解:实体EJB的属性的JDBC类型
讲解:映射到数据库中字段的类型
讲解:实体EJB映射到数据库中的数据表名
讲解:部署EJB时,是否创建数据表,为true,表示部署EJB时创建数据表。
在JAS3.0中,如果创建数据表时数据表已经存在,系统将不会执行创建命令,同时给出信息"Table
'sequencegenerator' already exists"。
讲解:JBoss卸载EJB时,是否删除数据表,为true,表示卸载EJB时删除数据表。
讲解:在JBoss装载EJB时,是否对数据表进行封锁,为true,表示装载EJB时封锁对数据表的任何存取操作。
|
|
类 |
PageConfig |
声明 |
public class |
描述 |
这个类用来保存页面属性的值,如每页显示几行等。 |
超类 |
|
执行 |
|
属性 |
属性描述 |
定义 |
[PageConfig] |
|
|
|--PAGE_SIZE |
页大小 |
public static final int |
|--PAGE_SIZE_SMALL |
小型页面的大小 |
public static final int |
|--PAGE_SIZE_NORMAL |
正常页面的大小 |
public static final int |
|--PAGE_SIZE_BIG |
大型页面的大小 |
public static final int |
|--PAGE_SIZE_BIGGER |
较大页面的大小 |
public static final int |
|--PAGE_SIZE_BIGGEST |
最大页面的大小 |
public static final int |
类 |
Page |
声明 |
public class |
描述 |
这个类用来保存页面属性的值,如每页显示几行等。 |
超类 |
|
执行 |
java.lang.Serializable |
属性 |
名称 |
属性描述 |
数据类型 |
|--EMPTY_PAGE |
空白页面 |
描述一个空白页面,即不含内容的页面。 |
Page对象 |
|--objects |
结果集列表 |
结果集列表 |
java.util.List或java.util.Vector |
|--start |
开始记录号 |
开始记录号,从0开始 |
正整数和0 |
|--end |
结束记录号 |
结束记录号 |
正整数和0 |
|--viewStart |
显示在页面开始记录号 |
显示在页面开始记录号,从1开始 |
正整数 |
|--viewEnd |
显示在页面结束记录号 |
显示在页面结束记录号 |
正整数 |
|--hasPrevious |
是否有上一页的开关 |
是否有上一页的开关 |
布尔值 |
|--previousPageNumber |
上一页的页码 |
上一页的页码 |
正整数和0 |
|--hasNext |
是否有下一页的开关 |
是否有下一页的开关 |
布尔值 |
|--nextPageNumber |
下一页的页码 |
下一页的页码 |
正整数和0 |
|--total |
总行数 |
一共有多少行记录 |
正整数和0 |
|--totalPage |
总页数 |
一共有多少页 |
|
|--currentPageNumber |
当前页 |
描述当前是第几页 |
正整数和0 |
|--pageSize |
页大小 |
描述每页有多少行 |
正整数和0 |
构造器 |
构造器描述 |
参数 |
[Page] |
|
|
|--Page(List l, int s, boolean hasNext) |
创建页面 |
l 结果集s 开始记录号,从0开始hasNext 是否有下一页的开关 |
|--Page(List l, int s, boolean hasNext, int total) |
创建页面 |
l 结果集s 开始记录号,从0开始hasNext 是否有下一页的开关total 一共有多少行记录 |
|--Page(List l, int s, int size, boolean hasNext, int total) |
创建页面 |
l 结果集s 开始记录号,从0开始size 每页有多少行hasNext 是否有下一页的开关total 一共有多少行记录 |
|-- Page(List l, int num, int size, int total) |
创建页面 |
l 结果集num 当前是第几页size 每页有多少行total 一共有多少行记录 |
|-- Page(List l) |
创建页面,不进行分页 |
l 结果集 |
方法 |
方法描述 |
返回值 |
[Page] |
|
|
|--autoCalculate () |
自动计算,根据当前页、页大小、总行数计算出其它属性的值 |
private void |
|--getList() |
获得结果集 |
public List |
|--getViewStart() |
获得显示在页面的开始记录号,从1开始 |
public int |
|--getViewEnd() |
获得显示在页面的结束记录号 |
public int |
|--hasNextPage() |
是否有下一页 |
public boolean |
|--hasPreviousPage () |
是否有上一页 |
public boolean |
|--getPreviousPageNumber () |
获得上一页的页码 |
public int |
|--getNextPageNumber () |
获得下一页的页码 |
public int |
|--getTotal () |
获得结果集中记录总行数 |
public int |
|--getTotalPage () |
获得总页数 |
public int |
|--getCurrentPageNumber () |
获得当前页码 |
public int |
|--getPageSize () |
获得每页多少行记录 |
public int |
|--getStartOfNextPage () |
获得下一页在结果集中开始的记录号,从0开始 |
public int |
|--getStartOfPreviousPage () |
获得上一页在结果集中开始的记录号,从0开始 |
public int |
|--getSize() |
获得当前页包括的记录行数 |
public int |
|--isEmpty() |
判断当前页面是否是空白页面,如果当前页面是空白页面,返回true,否则,返回false |
public boolean |
类 |
PageView |
声明 |
public class |
描述 |
通过JSP调用,将分页内容显示到WEB页面。不支持图片、按钮等,只支持文字。用法:在JSP页面按如下形式定义:<% PageView view = new PageView(request,out,page); %>按缺省形式显示<% view.setVisible(true); %>按指定形式显示<% view.setVisible(true,0,1); %> |
超类 |
|
执行 |
|
属性 |
名称 |
属性描述 |
数据类型 |
[PageView] |
|
|
|
|--currentUrl |
当前页面的URL |
当前页面的URL |
字符串 |
|--style |
风格 |
风格 |
字符串 |
|--useSquareBrackets |
是否加[]的开关 |
在"上一页"两边是否加上"["和"]" |
布尔值 |
|--page |
WEB页面 |
WEB页面 |
Page对象 |
构造器 |
构造器描述 |
参数 |
[PageView] |
|
|
|-- PageView (HttpServletRequest request,JspWriter out,Page page)) |
创建一个分页内容 |
request 客户端请求out 页面输出对象page WEB页面 |
方法 |
方法描述 |
返回值 |
[PageView] |
|
|
|--setVisible(boolean visible) |
按缺省形式显示分页内容,如果visible为true,则显示分页内容,否则,不显示分页内容 |
public void |
|--setVisible(boolean visible,int style,int order) |
按指定形式显示分页内容,如果visible为true,则显示分页内容,否则,不显示分页内容 |
public void |
|--setVisible(boolean visible,boolean useSquareBrackets,int style,int order) |
按指定形式显示分页内容,如果visible为true,则显示分页内容,否则,不显示分页内容 |
public void |
|--viewPage(boolean useSquareBrackets,int style,int order) |
按指定形式显示分页内容,order为0,表示完整形式,按如下顺序显示:共计:18 分页:2 当前页:1 每页:10 首页 前页 后页 尾页 转到□□□□order为1,表示简洁形式,按如下顺序显示:前页 后页 尾页 1/2order为2,表示完整形式2,按如下顺序显示:共计:18 每页:10 转到□□□□ 首页 前页 后页 尾页 1/2 |
public void |
<%@ page import="java.util.List,com.cwap.oa.controller.web.page.Page,
com.cwap.oa.controller.web.page.PageView"%> |
Page page = Page.EMPTY_PAGE; |
<% PageView view = new PageView(request,out,page); %> |
<% view.setVisible(true); %> |
<% view.setVisible(true,0,1); %> |
<%@ page language="java"%>
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.util.List,
com.cwap.oa.controller.web.page.PageView,com.cwap.oa.controller.web.page.Page"%>
class="com.club8090.forum.forumboard.client.ForumBoardClientHelper"/>
<%
String tmp=request.getParameter("pageNumber");
int pageNumber = 0;
if(tmp==null || tmp.equals("")){
pageNumber = 1;
}else{
try {
pageNumber = Integer.parseInt(tmp);
}catch(java.lang.NullPointerException npe){
pageNumber = 1;
}catch(java.lang.NumberFormatException nfe){
pageNumber = 1;
}
}
Page page = Page.EMPTY_PAGE;//page初始化为Page.EMPTY_PAGE空白页面
page = forumBoardHelper.getAllForumBoards(pageNumber);
%>
…
… |
附件:
A.开发机器配置
1.硬件列表:
操作系统:Miscosoft Windows 2000 Professional
内存:132M
硬盘:20G(C盘10G、D盘10G)
操作系统目录:d:\winnt
2.系统变量
SET ANT_HOME=c:\j2ee\jakarta-ant-1.4.1
SET CATALINA_HOME=C:\jboss-3.0.0_tomcat-4.0.3\catalina
SET J2EE_HOME=c:\j2ee\j2eesdk
SET JAVA_HOME=c:\j2ee\jdk1.3
SET JDBC_CLASSPATH=c:\J2EE\jdbc\mm.mysql-2.0.13\mm.mysql-2.0.13-bin.jar;c:\J2EE\jdbc\oracle8\classes12.jar
SET CLASSPATH=%J2EE_HOME%\lib\j2ee.jar;%J2EE_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib;%JDBC_CLASSPATH%;%ANT_HOME%\lib\ant.jar;%ANT_HOME%\lib\crimson.jar;%ANT_HOME%\lib\jaxp.jar
SET PATH=C:\oracle\ora81\bin;D:\Program Files\Oracle\jre\1.1.7\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%\bin;%ANT_HOME%\bin;
3.软件列表
J2SE:1.3 , 目录:C:\J2EE\JDK1.3
J2EE:1.3 , 目录:C:\J2EE\j2eesdk
Ant:1.4.1 , 目录:C:\J2EE\jakarta-ant-1.4.1
JDBC:mm.mysql-2.0.13-bin.jar、oracle-classes12.jar, 目录:C:\J2EE\jdbc
应用服务器:JAS3.0 ,目录:C:\ jboss-3.0.0_tomcat-4.0.3
编辑器:Editplus v2.10c
B.应用服务器配置
1.硬件列表:
操作系统:RedHat Linux 7.3
内存:2G
硬盘:20G
2.系统变量
ANT_HOME=/home/ant
export ANT_HOME
CATALINA_HOME=/home/tomcat4
export CATALINA_HOME
CLASSPATH=/home/j2ee/lib/j2ee.jar:/home/j2ee/lib/tools.jar:/home/jdk1.3/jre/lib:/home/jdk1.3/lib/mail.jar:/home/jdk1.3/lib/activation.jar:/home/ant/ant.jar:/home/ant/lib/crimson.jar:/home/ant/lib/jaxp.jar:.
export CLASSPATH
JAVA_HOME=/home/jdk1.3
export JAVA_HOME
J2EE_HOME=/home/j2ee
export J2EE_HOME
PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/home/wudi/bin:/home/jdk1.3:/home/jdk1.3/bin:/home/jdk1.3/jre/bin:/home/jdk1.3/jre/lib/sparc
export PATH
3.软件列表
J2SE:1.3 , 目录:/home/jdk1.3
J2EE:1.3 , 目录:/home/j2ee
Ant:1.4.1 , 目录:/home/ant
JDBC:mm.mysql-2.0.13-bin.jar、oracle-classes12.jar, 目录:/home/jdbc
应用服务器:JAS3.0 ,目录:/home/jboss
Web服务器:Tomcat4.0 ,目录:/home/tomcat4
C.数据库服务器配置
1. 硬件列表:
操作系统:RedHat Linux 7.3
内存:1G
硬盘:40G
2.系统变量
CATALINA_HOME=/home/tomcat4
export CATALINA_HOME
CLASSPATH=/home/jdk1.3/lib/:/home/jdk1.3/lib/tools.jar:/home/jdk1.3/jre/lib:/home/jdk1.3/lib/mail.jar:/home/jdk1.3/lib/activation.jar:.
export CLASSPATH
JAVA_HOME=/home/jdk1.3
export JAVA_HOME
PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/home/wudi/bin:/home/jdk1.3:/home/jdk1.3/bin:/home/jdk1.3/jre/bin:/home/jdk1.3/jre/lib/sparc
export PATH
3. 软件列表
J2SE:1.3 , 目录:/home/jdk1.3
数据库:Mysql3.23.31 ,目录:/usr/local/mysql
Oracle8i ,目录:/home/local/oracle
数据库工具:phpadmin ,目录:/home/webroot/html/phpadmin
Web服务器:Apache HTTP Server ,目录:/usr/local/apache