2005年8月9日
dwr目前支持DWREngine.XMLHttpRequest ,DWREngine.IFrame = 2;DWREngine.ScriptTag = 3;
其中
DWREngine.XMLHttpRequest 是ajax方式;
DWREngine.IFrame是在activex被禁用时使用的方式;
DWREngine.ScriptTag 是在跨域调用时使用的方式。
我在使用DWREngine.ScriptTag 方式时遇到一个问题,出现错误“please specify scriptTagBase property”.
如果有朋友知道解决的办法,请告诉我,不胜感激!
一、下载appfuse并解压
二、下载ant1.6.5并解压
三、下载并安装tomcat5.0+
如果数据库放在本机请更改tomcat的监听端口(因为oracle的tnslistner的监听端口为8080,
会引起端口冲突!)
四、设置环境变量
1、jdk:JAVA_HOME=
2、tomcat :CATALINA_HOME=
3、ant :ANT_HOME
五、 oracle
1、创建用户
CREATE USER appftest IDENTIFIED BY appftest;
GRANT CONNECT TO appftest;
GRANT RESOURCE TO appftest;
2、oracle jdbc driver
copy ojdbc14.jar to {AppFuse home}/lib directory
3、在{appfuse path}/build.properties中加入下面属性
database.jar=${lib.dir}/oracle/ojdbc14.jar
database.type=oracle
database.host=localhost
#use the database schema owner and password created in step #1 above here
database.username=appfuse
database.password=appfuse
hibernate.dialect=net.sf.hibernate.dialect.Oracle9Dialect
database.driver_class=oracle.jdbc.driver.OracleDriver
database.url=jdbc:oracle:thin:@localhost:1521:oracledb
六、修改 web/WEB-INF/classes/mail.properties
七、生成应用
cd {appfuse path}
ant new -Dapp.name=myappname -Ddb.name=appftest
cd ..\myappname
ant setup
八、检验
启动tomcat
在浏览器敲入url:http://localhost:port/myappname检验是否成功!
好了,一切都完成了,祝你好运!
数据库的表中存放树形数据最常用的方式是tb_dept(dept_id,dept_name,parent_id),查询某个部门的所有子部门,并把结
果组织成树形结构是我们经常需要解决的一个问题,oracle提供了查询树形数据的语法。他可以查询数中某个节点的所有子节点,结果级按展开一个树的顺序
出现,并且可以列出某节点所处的层,便于我们处理数据,示例如下:
drop table test_dept;
create table test_dept
(dept_id varchar2(20),dept_name varchar2(40),parent_id varchar2(20));
insert into test_dept values ('0','dept1',null);
insert into test_dept values ('1','dept11','0');
insert into test_dept values ('11','dept11','1');
insert into test_dept values ('12','dept12','1');
insert into test_dept values ('2','dept2','0');
insert into test_dept values ('21','dept21','2');
insert into test_dept values ('211','dept211','21');
insert into test_dept values ('212','dept212','21');
insert into test_dept values ('22','dept22','2');
select dept_id,dept_name,level
from test_dept
start with dept_id='0'
connect by prior dept_id=parent_id;
结果如下:
DEPT_ID
DEPT_NAME
LEVEL
-------------------- ---------------------------------------- ----------
0
dept1
1
1
dept11
2
11
dept11
3
12
dept12
3
2
dept2
2
21
dept21
3
211
dept211
4
212
dept212
4
22
dept22
3
9 rows selected
一、建立Web应用步骤
1、清空临时目录
2、建立目录结构
3、从vss或cvs中获得源文件
4、编译(编译java源文件、copy属性文件和xml等文件、编码转换)
5、建立WAR包
6、发布
二、建立web应用的 build.xml 模板
<?xml version="1.0"?>
<!--
=======================================================================
build file
=======================================================================
-->
<project default="main" basedir="build">
<property name="file.war" value="myapp.war"/>
<property name="dir.jdk" value="c:/jbuilderx/jdk1.4"/>
<property name="dir.src" value="src"/>
<property name="dir.classes" value="classes"/>
<property name="dir.lib" value="lib"/>
<property name="dir.web" value="web"/>
<property name="vss.login" value="userId,password"/>
<property name="vss.serverPath" value="i:\"/>
<property name="vss.srcPath" value="/myproject/src"/>
<property name="vss.libPath" value="/myproject/lib"/>
<property name="vss.webPath" value="/myproject/webapp"/>
<property name="server.ftp.userId" value="ftpuser"/>
<property name="server.ftp.password" value="ftppassword"/>
<property name="server.ftp.serverIp" value="192.168.0.1"/>
<path id="project.class.path">
<pathelement location="${dir.classes}"/>
<pathelement location="${dir.jdk}/jre/lib/rt.jar"/>
<fileset dir="${dir.lib}">
<include name="**/*.jar"/>
</fileset>
</path>
<target name="clean">
<delete dir="${dir.src}"/>
<delete dir="${dir.classes}"/>
<delete dir="${dir.lib}"/>
</target>
<target name="init" depends="clean">
<mkdir dir="${dir.src}"/>
<mkdir dir="${dir.classes}"/>
<mkdir dir="${dir.lib}"/>
</target>
<target name="getFromVcm" depends="init">
<vssget localPath="${dir.src}"
login="${vss.login}"
vsspath="${vss.srcPath}"
recursive="true"
serverPath="${vss.serverPath}"
writable="true"/>
<vssget localPath="${dir.lib}"
login="${vss.login}"
vsspath="${vss.libPath}"
recursive="true"
serverPath="${vss.serverPath}"
writable="true"/>
<vssget localPath="${dir.web}"
login="${vss.login}"
vsspath="${vss.webPath}"
recursive="true"
serverPath="${vss.serverPath}"
writable="true"/>
</target>
<target name="compile" depends="getFromVcm">
<javac bootclasspathref="project.class.path" debug="true"
deprecation="true" destdir="${dir.classes}" nowarn="false" target="1.2">
<src path="${dir.src}"/>
</javac>
<copy todir="${dir.classes}">
<fileset dir="${dir.src}">
<include name="**/*.properties"/>
<include name="**/*.xml"/>
<exclude name="ApplicationResources.properties"/>
</fileset>
</copy>
<native2ascii encoding="GBK" src="${dir.src}" dest="${dir.classes}"
includes="ApplicationResources.properties"/>
</target>
<target name="buildWar" depends="compile">
<war destfile="${file.war}" webxml="${dir.web}/WEB-INF/web.xml">
<lib dir="${dir.lib}"/>
<classes dir="${dir.classes}"/>
<fileset dir="${dir.web}"/>
</war>
</target>
<target name="deploy" depends="buildWar">
<ftp server="${server.ftp.serverIp}"
userid="${server.ftp.userId}"
password="${server.ftp.password}">
<fileset dir=".">
<include name="${file.war}"/>
</fileset>
</ftp>
</target>
<target name="main" description="" depends="deploy"/>
</project>
maja