2005年8月9日
dwr目前支持DWREngine.XMLHttpRequest ,DWREngine.IFrame = 2;DWREngine.ScriptTag = 3;
其中
?? DWREngine.XMLHttpRequest 是ajax方式;
?? DWREngine.IFrame是在activex被禁用時(shí)使用的方式;
? DWREngine.ScriptTag 是在跨域調(diào)用時(shí)使用的方式。
我在使用DWREngine.ScriptTag 方式時(shí)遇到一個(gè)問題,出現(xiàn)錯(cuò)誤“please specify scriptTagBase property”.
如果有朋友知道解決的辦法,請告訴我,不勝感激!
一、下載appfuse并解壓
二、下載ant1.6.5并解壓
三、下載并安裝tomcat5.0+
如果數(shù)據(jù)庫放在本機(jī)請更改tomcat的監(jiān)聽端口(因?yàn)閛racle的tnslistner的監(jiān)聽端口為8080,
會(huì)引起端口沖突!)
四、設(shè)置環(huán)境變量
1、jdk:JAVA_HOME=
2、tomcat :CATALINA_HOME=
3、ant :ANT_HOME
五、 oracle
1、創(chuàng)建用戶
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
七、生成應(yīng)用
cd {appfuse path}
ant new -Dapp.name=myappname -Ddb.name=appftest
cd ..\myappname
ant setup
八、檢驗(yàn)
啟動(dòng)tomcat
在瀏覽器敲入url:http://localhost:port/myappname檢驗(yàn)是否成功!
好了,一切都完成了,祝你好運(yùn)!
數(shù)據(jù)庫的表中存放樹形數(shù)據(jù)最常用的方式是tb_dept(dept_id,dept_name,parent_id),查詢某個(gè)部門的所有子部門,并把結(jié)
果組織成樹形結(jié)構(gòu)是我們經(jīng)常需要解決的一個(gè)問題,oracle提供了查詢樹形數(shù)據(jù)的語法。他可以查詢數(shù)中某個(gè)節(jié)點(diǎn)的所有子節(jié)點(diǎn),結(jié)果級按展開一個(gè)樹的順序
出現(xiàn),并且可以列出某節(jié)點(diǎn)所處的層,便于我們處理數(shù)據(jù),示例如下:
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;
結(jié)果如下:
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應(yīng)用步驟
1、清空臨時(shí)目錄
2、建立目錄結(jié)構(gòu)
3、從vss或cvs中獲得源文件
4、編譯(編譯java源文件、copy屬性文件和xml等文件、編碼轉(zhuǎn)換)
5、建立WAR包
6、發(fā)布
二、建立web應(yīng)用的 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