<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
</head>
<body>
?<SCRIPT language="javascript">
?function next()
?? {
?? if(event.keyCode==13)event.keyCode=9;
? }
?</SCRIPT>
<form name="form1" method="post" action="">
<input onkeydown="next()" name="text1">
<input onkeydown="next()" name="text2">
<input onkeydown="next()" name="text3">
<input onkeydown="next()" name="text5">
<input onkeydown="if(event.keyCode==13)event.keyCode=9" name="text4">
? <input type="submit" name="Submit" value="Submit">
? <input type="reset" name="Submit2" value="Reset">
</form>
</body>
</html>
一.安裝
1.安裝jdk1.5,E:\server\jdk1.5
2.安裝mysql 4.0,E:\server\mysql
3.安裝Ant 1.6,E:\apache-ant-1.6.2
4.安裝tomcat5.5,E:\tomcat5
二.系統(tǒng)路徑的設置:
1、JAVA_HOME = E:\server\jdk1.5
2、MYSQL_HOME = E:\server\mysql
3、ANT_HOME = E:\apache-ant-1.6.2
4、CATALINA_HOME = E:\tomcat5
5、path,%JAVA_HOME%\bin;%ANT_HOME%\bin;%CATALINA_HOME%\bin;%MYSQL_HOME%\bin
三.安裝appfuse-1.8.2,E:\jbproject\appfuse
1.將..\appfuse\lib\junit3.8.1\junit.jar拷貝到%ANT_HOME%/lib目錄下
2.根據(jù)需要修改build.properties以下部分
#database.jar=${postgresql.jar}
#database.type=postgresql
#database.host=localhost
#database URL for creating other databases (doesn't work with pgsql)
#database.admin.url=jdbc:${database.type}://${database.host}/template1
#database.admin.username=postgres
#database.admin.password=postgres
#hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
#database.driver_class=org.postgresql.Driver
#database.url=jdbc:${database.type}://${database.host}/${database.name}
我只修改了database.admin.password=我的mysql密碼
3.安裝的可選項,
如果你希望使用 iBATIS 作為持久化framework, 查看extras/ibatis目錄下的 README.txt 文件或者運行 ant install-ibatis。
如果你希望使用 Spring 作為web framework, 查看 extras/spring 目錄下的 README.txt 文件或者運行 ant install-springmvc。
如果你希望使用 WebWork 作為web framework, 查看extras/webwork 目錄下的 README.txt 文件或者運行 ant install-webwork。
如果你希望使用 JSF 作為web framework, 查看 extras/jsf 目錄下的 README.txt 文件或者運行 ant install-jsf。
如果你希望使用 Tapestry 作為web framework, 查看 extras/tapestry 目錄下的 README.txt 文件或者運行 ant install-tapestry。
四.新建項目
1. 在控制臺,E:\jbproject\appfuse>ant new 按照提示輸入application名稱(myapp),database名稱(mydb),package名稱(com.jinn).
2. 如果package名稱不是org.appfuse,拷貝appfuse下的ApplicationResources_zh_CN.properties和ApplicationResources_zh.properties到對應的路徑下myapp下。(注意如果你的package名稱不是org.appfuse(或不是以org開頭?沒有做過測試),會提示你輸入the first part of your new package,先別忙著
輸入,看看myapp,跟appfuse一樣,我要你著重看看myapp\web\WEB-INF\classes下的ApplicationResources_zh_CN.properties或ApplicationResources_zh.properties
跟appfuse下是一樣的。輸入the first part of your new package,例如com,再看看myapp\web\WEB-INF\classes下的ApplicationResources_zh_CN.properties或ApplicationResources_zh.properties
它的內(nèi)容變了。原來appfuse在執(zhí)行rename package的過程中把相關(guān)的properties內(nèi)容做了處理。這會造成頁面顯示亂碼。
3. 運行E:\jbproject\myapp>ant setup ,BUILD SUCCESSFUL,在瀏覽器輸入http://localhost:8080/myapp。一切正常,此時打開查看${CATALINA_HOME}\webapps\myapp\WEB-INF\classes\ApplicationResources_zh_CN.properties,已被編碼轉(zhuǎn)換。
4. 關(guān)閉tomcat,運行E:\jbproject\myapp>ant test-all,出錯," failed with message "Wrong document title found! Expected "AppFuse
~ ???è?????" but got "AppFuse ~ ???è?????",顯然還是資源文件編碼的問題,注意控制臺有段提示"test with locale 'zh'",將myapp\web\WEB-INF\classes>ApplicationResources_zh.properties更名為ApplicationResources_zh.properties.bak
運行E:\jbproject\myapp\web\WEB-INF\classes>native2ascii -encoding gbk ApplicationResources_zh.properties ApplicationResources_zh.properties
再次運行E:\jbproject\myapp>ant test-all BUILD SUCCESSFUL
參考文章:http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuseQuickStart_zh
AppFuse的Ant任務
This page contains a listing of the most common Ant targets in AppFuse that I use in my daily development. For a complete list of tasks, type "ant -projecthelp" at the command line. setup 建立database, 配置tomcat和deploys expanded war clean Removes build artifacts compile 編譯所有的文件 deploy 編譯、然后部署到Tomcat deploy-web 部署JSP和靜態(tài)Web內(nèi)容到Tomcat install 使用Tomcat的Manager程序安裝Web程序. list 列出Tomcat已經(jīng)安裝、部署好的應用 refresh Undeploys, cleans, 然后重新部署. reload 使Tomcat重新裝載所有程序 remove 刪除Tomcat部署好的程序 setup-db 創(chuàng)建數(shù)據(jù)庫,并插入范例需要的數(shù)據(jù) setup-tomcat 復制JDBC驅(qū)動和context.xml到Tomcat相應目錄下 test-all 運行所有用于測試dao, service和web的測試用例 test-dao 測試dao模塊 test-service 測試service模塊 test-web 使用Mocks測試Action/Controller (不需要容器) test-jsp 在Tomcat中運行Canoo WebTest (啟動/停止Tomcat, 執(zhí)行前Tomcat應該被停止) test-canoo 當Tomcat已經(jīng)運行時,執(zhí)行Canoo WebTest test-reports 產(chǎn)生測試報告 undeploy 從 $CATALINA_HOME/webapps中刪除war文件和相應的目錄
任務
描述
對于向遠程服務器上部署程序很適合
三個需要的程序包:
commons-dbcp-1.2.1.jar
http://apache.linuxforum.net/dist/jakarta/commons/dbcp/binaries/
struts-legacy.jar
http://apache.linuxforum.net/dist/jakarta/struts/struts-legacy/
commons-pool-1.2.jar
http://apache.linuxforum.net/dist/jakarta/commons/pool/binaries/<embed src="autostart="true" loop="true" width="200" height="150" >
把這個網(wǎng)址http://wmt2.aboutmedia.com.tw/Aboutmedia/warner/mtv/naying-021011_01v_120k.wmv換成你要看的電影就行了
有圖像的rm格式:
<OBJECT classid='clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA' height=288 id=video1 width=305 VIEWASTEXT>
<param name='_ExtentX' value='5503'>
<param name='_ExtentY' value='1588'>
<param name='AUTOSTART' value='-1'>
<param name='SHUFFLE' value='0'>
<param name='PREFETCH' value='0'>
<param name='NOLABELS' value='0'>
<param name='SRC' value='http://media.cdut.edu.cn/ram/new/xiaoxin1.ram'>
<param name='CONTROLS' value='Imagewindow,StatusBar,ControlPanel'>
<param name='CONSOLE' value='RAPLAYER'>
<param name='LOOP' value='0'>
<param name='NUMLOOP' value='0'>
<param name='CENTER' value='0'>
<param name='MAINTAINASPECT' value='0'>
<param name='BACKGROUNDCOLOR' value='#000000'>
</OBJECT>
無圖像的rm格式:如相聲,歌曲。。。
<object ID='video2' WIDTH='300' HEIGHT='62' CLASSID='CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA'>
<param name='_ExtentX' value='9657'>
<param name='_ExtentY' value='847'>
<param name='AUTOSTART' value='-1'>
<param name='SHUFFLE' value='0'>
<param name='PREFETCH' value='0'>
<param name='NOLABELS' value='0'>
<param name='SRC' value='http://210.242.69.206/ramgen/broadcast/BCC/encoder/hipop.rm'>
<param name='CONTROLS' value='StatusBar,controlpanel'>
<param name='CONSOLE' value='Clip1'>
<param name='LOOP' value='0'>
<param name='NUMLOOP' value='0'>
<param name='CENTER' value='0'>
<param name='MAINTAINASPECT' value='0'>
<param name='BACKGROUNDCOLOR' value='#000000'>
</object>
最簡單的media格式的播放器。。自動識別有無圖像,但是版本是你機器的!
<embed src='mms://61.175.132.221/tv/mtv/f4/makeawish.wmv' width=200 height=200 autostart=true loop=true></embed>
有圖像的media播放器,自動調(diào)用網(wǎng)上的插件。
<object id=nstv classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' width=280 height=265 codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701standby=Loading Microsoft? Windows Media? Player components... type=application/x-oleobject>
<param name='URL' value='http://202.99.11.42/xiangsheng/ymjr.wma'>
<PARAM NAME='UIMode' value='full'><PARAM NAME='AutoStart' value='true'>
<PARAM NAME='Enabled' value='true'>
<PARAM NAME='enableContextMenu' value='false'>
<param name='WindowlessVideo' value='true'></object>
無圖像的media播放器。。。同上。
<object id=nstv classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' width=280 height=60 codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701standby=Loading Microsoft? Windows Media? Player components... type=application/x-oleobject>
<param name='URL' value='http://202.99.11.42/xiangsheng/ymjr.wma'>
<PARAM NAME='UIMode' value='full'><PARAM NAME='AutoStart' value='true'>
<PARAM NAME='Enabled' value='true'>
<PARAM NAME='enableContextMenu' value='false'>
</object>
只是界面不同的media的調(diào)插件播放器。。建議不用這個,,你可以看!
<embed src='http://av.wanwa.com/fileroot/AV/Ramfiles/23809.ram' type='audio/x-pn-realaudio-plugin' console='Clip1' controls='ControlPanel,StatusBar' height='60' width='275' autostart='true'></embed>
rm文件在線播放
<embed height=25 src=www.xiakedao.com/biyun/ren/a.rm type=audio/x-pn-realaudio-plugin width=50 autostart="false" controls="PlayButton">
autostart="false" 打開頁面時處于候命狀態(tài),autostart="true" 打開頁面時馬上聽聲音 height=25 width=50 有不同數(shù)值,播放器面板有些不同
midi、au、avi文件在線播放
<EMBED SRC="
autostart="false" 打開頁面時處于候命狀態(tài),autostart="true" 打開頁面時馬上聽聲音 height=25 width=50 有不同數(shù)值,播放器面板有些不同 asf文件在線播放
流式收聽mp3方法: mpeg影象在線播放:
加幾個控制器
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body topmargin="0" leftmargin="0">
<object classid=clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95 codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=7.0 height=53 id=NSPlay0 name=NSPlay type=application/x-oleobject width=87 VIEWASTEXT standby="Loading Microsoft Windows Media Player components..." border="0"><param name="AudioStream" value="-1">
<param name="AutoSize" value="0">
<param name="AutoStart" value="1">
<param name="AnimationAtStart" value="-1">
<param name="AllowScan" value="-1">
<param name="AllowChangeDisplaySize" value="-1">
<param name="AutoRewind" value="0">
<param name="Balance" value="0">
<param name="BaseURL" value>
<param name="BufferingTime" value="10">
<param name="CaptioningID" value>
<param name="ClickToPlay" value="-1">
<param name="CursorType" value="0">
<param name="CurrentPosition" value="-1">
<param name="CurrentMarker" value="0">
<param name="DefaultFrame" value>
<param name="DisplayBackColor" value="0">
<param name="DisplayForeColor" value="65280">
<param name="DisplayMode" value="0">
<param name="DisplaySize" value="1">
<param name="Enabled" value="-1">
<param name="EnableContextMenu" value="-1">
<param name="EnablePositionControls" value="-1">
<param name="EnableFullScreenControls" value="-1">
<param name="EnableTracker" value="-1">
<param name="Filename" value="<param name="InvokeURLs" value="-1">
<param name="Language" value="-1">
<param name="Mute" value="0">
<param name="PlayCount" value="1">
<param name="PreviewMode" value="0">
<param name="Rate" value="1">
<param name="SAMILang" value>
<param name="SAMIstyle" value>
<param name="SAMIFileName" value>
<param name="selectionStart" value="-1">
<param name="selectionEnd" value="-1">
<param name="SendOpenStateChangeEvents" value="-1">
<param name="SendWarningEvents" value="-1">
<param name="SendErrorEvents" value="-1">
<param name="SendKeyboardEvents" value="0">
<param name="SendMouseClickEvents" value="0">
<param name="SendMouseMoveEvents" value="0">
<param name="SendPlayStateChangeEvents" value="-1">
<param name="ShowCaptioning" value="0">
<param name="ShowControls" value="-1">
<param name="ShowAudioControls" value="0">
<param name="ShowDisplay" value="0">
<param name="ShowGotoBar" value="0">
<param name="ShowPositionControls" value="-1">
<param name="ShowStatusBar" value="-1">
<param name="ShowTracker" value="-1">
<param name="TransparentAtStart" value="-1">
<param name="VideoBorderWidth" value="0">
<param name="VideoBorderColor" value="0">
<param name="VideoBorder3D" value="-1">
<param name="Volume" value="0">
<param name="WindowlessVideo" value="0">
</object>
其中<param name="AutoStart" value="0"> 0為打開頁面處于待命狀態(tài),為1時打開頁面直接播放 </body>
</html>
http://*.mp3,http://*.mp3,http://...琱ttp://*.mp3,
把上面的的文件另存為*.m3u,就可實現(xiàn)在線播放*.mp3(支持連續(xù)播放)
等等,讓它下載
<img border="0" dynsrc="http://music.cnvnet.com/video/0321.mpeg ;
" start="fileopen">
rm影像在線播放 代碼:
<object id="vid" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width=114 height=100>
<param name="_ExtentX" value="3016">
<param name="_ExtentY" value="2646">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="<param name="CONTROLS" value="Imagewindow">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object>
<object id="vid" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width=427 height=300>
<param name="_ExtentX" value="11298">
<param name="_ExtentY" value="7938">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="<param name="CONTROLS" value="Imagewindow">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object>
<object id="vid2" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width=427 height=30>
<param name="_ExtentX" value="11298">
<param name="_ExtentY" value="794">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="<param name="CONTROLS" value="ControlPanel">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object>
在JSTL 1.1中使用以下標識符:
庫 |
URI |
前綴 |
Core |
http://java.sun.com/jsp/jstl/core |
c |
XML processing |
http://java.sun.com/jsp/jstl/xml |
x |
I18N formatting |
http://java.sun.com/jsp/jstl/fmt |
fmt |
Database access |
http://java.sun.com/jsp/jstl/sql |
sql |
Functions |
http://java.sun.com/jsp/jstl/functions |
fn |
使用實例:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> ${fn:length(myCollection)}
其他函數(shù):
函數(shù) |
描述 |
fn:contains(string, substring) |
如果參數(shù)string中包含參數(shù)substring,返回true |
fn:containsIgnoreCase(string, substring) |
如果參數(shù)string中包含參數(shù)substring(忽略大小寫),返回true |
fn:endsWith(string, suffix) |
如果參數(shù) string 以參數(shù)suffix結(jié)尾,返回true |
fn:escapeXml(string) |
將有特殊意義的XML (和HTML)轉(zhuǎn)換為對應的XML character entity code,并返回 |
fn:indexOf(string, substring) |
返回參數(shù)substring在參數(shù)string中第一次出現(xiàn)的位置 |
fn:join(array, separator) |
將一個給定的數(shù)組array用給定的間隔符separator串在一起,組成一個新的字符串并返回。 |
fn:length(item) |
返回參數(shù)item中包含元素的數(shù)量。參數(shù)Item類型是數(shù)組、collection或者String。如果是String類型,返回值是String中的字符數(shù)。 |
fn:replace(string, before, after) |
返回一個String對象。用參數(shù)after字符串替換參數(shù)string中所有出現(xiàn)參數(shù)before字符串的地方,并返回替換后的結(jié)果 |
fn:split(string, separator) |
返回一個數(shù)組,以參數(shù)separator 為分割符分割參數(shù)string,分割后的每一部分就是數(shù)組的一個元素 |
fn:startsWith(string, prefix) |
如果參數(shù)string以參數(shù)prefix開頭,返回true |
fn:substring(string, begin, end) |
返回參數(shù)string部分字符串, 從參數(shù)begin開始到參數(shù)end位置,包括end位置的字符 |
fn:substringAfter(string, substring) |
返回參數(shù)substring在參數(shù)string中后面的那一部分字符串 |
fn:substringBefore(string, substring) |
返回參數(shù)substring在參數(shù)string中前面的那一部分字符串 |
fn:toLowerCase(string) |
將參數(shù)string所有的字符變?yōu)樾懀⑵浞祷?/P> |
fn:toUpperCase(string) |
將參數(shù)string所有的字符變?yōu)榇髮懀⑵浞祷?/P> |
fn:trim(string) |
去除參數(shù)string 首尾的空格,并將其返回 |