📄 developerguide.html
字号:
<html>
<head>
<TITLE>UploadBean - Developer guide</TITLE>
<STYLE TYPE="text/css">
<!--
a { font-family: Verdana, Arial, Helvetica, sans-serif; color: #0000FF; text-decoration: none}
a:hover { font-family: Verdana, Arial, Helvetica, sans-serif; color: #333333; text-decoration: underline}
-->
</STYLE>
</head>
<body bgcolor="#FFFFFF" onLoad="" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" link="#333333" vlink="#6666FF" alink="#333333">
<table width="770" border="0" name="Main" height="600" cellpadding="0" cellspacing="0" vspace="0" hspace="0">
<tr>
<td>
<table width="770" border="0" name="Head" height="86" cellpadding="0" cellspacing="0" vspace="0" hspace="0">
<tr>
<td width="279" height="86"><a href="http://www.javazoom.net" target="_top"><img src="finemenu/title.gif" width="279" height="86" border="0" alt="JavaZOOM Web Site" vspace="0" hspace="0"></a></td>
<td width="491" height="86" align="center"><a href="http://www.javazoom.net/jzservlets/uploadbean/uploadbean.html" target="_top"><img src="img/uploadbean.gif" width="400" height="43" border="0" alt="UploadBean homepage"></a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="514">
<table width="770" border="0" height="1028" name="Body" cellpadding="0" cellspacing="0" vspace="0" hspace="0">
<tr nowrap>
<td height="514" width="146" valign="top">
<table width="146" border="0" height="514" cellpadding="0" cellspacing="0" vspace="0" hspace="0">
<tr nowrap align="left">
<td width="146" height="146" background="finemenu/middle.gif">
<b><font face="Verdana, Arial, Helvetica, sans-serif"> <font color="#000066">•</font></font><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"> </font></b><font color="#000099" size="-1" face="Verdana, Arial, Helvetica, sans-serif"><b><a href="software.html" target="_top">Software</a></b></font><b><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"><br>
</font><font face="Verdana, Arial, Helvetica, sans-serif"> <font color="#000066">•</font></font> </b><font color="#000099" size="-1" face="Verdana, Arial, Helvetica, sans-serif"><b><a href="installation.html">Installation</a></b></font><b><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"><br>
</font><font face="Verdana, Arial, Helvetica, sans-serif"> <font color="#000066">•</font></font> </b><font face="Verdana, Arial, Helvetica, sans-serif" size="-1" color="#000066"><b>Developer
Guide</b></font><b><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"><br>
</font></b><b><font face="Verdana, Arial, Helvetica, sans-serif"> <font color="#000066">•</font></font> </b><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"><a href="api.html" target="_top"><b>API
& Design</b></a></font><b><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"><br>
</font><font face="Verdana, Arial, Helvetica, sans-serif"> <font color="#000066">•</font></font> </b><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"><b><a href="license.html" target="_top">License</a></b></font> </td>
</tr>
<tr nowrap align="center">
<td width="146" height="167" background="finemenu/bottom.gif">
<a href="applets/jads21/jads.html" target="_self"><br>
</a></td>
</tr>
<tr nowrap align="center" valign="top">
<td width="146" height="201"><font size="-2"><a href="index.html"><< back</a></font> </td>
</tr>
</table>
</td>
<td height="514" width="624" align="center" valign="top">
<table width="95%" border="0" cellspacing="1" cellpadding="0" align="center">
<tr>
<td valign="top" height="103">
<p align="center"><font color="#000099" face="Verdana, Arial, Helvetica, sans-serif"><b>- Developer Guide -</b></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif"><font size="-1"><b>UploadBean </b>is a JavaBean (JAVA component) that allows to upload files in store. This store could be a folder, a ZIP archive, a database or memory. This document is a guide for developers. We assume that developers have a few JavaBeans and JSP skills and they know what "scope" (page, session, application) is for JavaBeans. <br>
First of all, you need to select a store model : [<a href="developerguide.html#folder">Folder</a>] [<a href="developerguide.html#zip">ZIP Archive</a>] [<a href="developerguide.html#database">Database</a>] [<a href="developerguide.html#memory">Memory</a>]. Once selected, you could switch to another model through [<a href="developerguide.html#setstoremodel">setStoreModel</a>] method. Second, you can add some restrictions on uploaded files like a [<a href="developerguide.html#blacklist">blacklist</a>] or </font><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">a [<a href="developerguide.html#whitelist">whitelist</a>]</font><font size="-1">, a [<a href="developerguide.html#limit">file size limit</a>] and a [<a href="developerguide.html#max">maximum</a>] store size. To store uploaded files, you have to call [<a href="developerguide.html#storecall">store</a>] method with a [<a href="developerguide.html#mp">MultipartFormDataRequest</a>] object </font><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">(see [<a href="developerguide.html#overwrite">overwrite</a>] options for duplicate entries)</font><font size="-1">. Finally, you can [<a href="developerguide.html#clean">reset</a>] store if needed. Any object implementing [<a href="developerguide.html#listener">UploadListener</a>] interface could be notified when an uploaded file is stored. Note that an [<a href="developerguide.html#history">history</a>] of uploaded parameters (files without binary data) is available. Finally, UploadBean supports three multipart parsers. You could select one through [<a href="developerguide.html#parser">parser</a>] property.<br>
<br>
</font></font></p>
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td valign="top" bgcolor="#FFFFCC"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#FF0000" size="-1" face="Verdana, Arial, Helvetica, sans-serif"> <img src="img/right_red-arrow.gif" width="18" height="14" align="absmiddle"> </font><font color="#FF0000">Folder </font><font color="#FF0000">:</font><font color="#FF0000" size="-1" face="Verdana, Arial, Helvetica, sans-serif"><a name="folder"></a></font></b></font></td>
</tr>
</table>
<p><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif"><b><img src="img/folder.gif" width="45" height="39" align="left"></b></font>UploadBean can store uploaded files in any folder or directory. The folder must have read/write access. Uploaded files will be added under this folder. <br>
<br>
One method is available to initialize the folder store :<br>
</font></p>
<ul>
<li><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">public void <b>setFolderstore</b>(String serverfolder)<br>
<font color="#666666">Input parameter is the full path to the folder (e.g. /usr/uploads).</font><br>
<font color="#666666">This method will create an empty folder if needed.</font></font><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><br>
</font></li>
</ul>
<p><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">Here is a sample under a Win32 OS. We assume that D:\Inetpub\uploads\ folder is RW for the process running the Servlets/JSP Engine.<br>
</font></p>
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td bgcolor="#333333">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#EEEEEE"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><jsp:useBean id="upBean" scope="page" class="javazoom.upload.UploadBean"><br>
</font><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"> <jsp:setProperty name="<b>upBean</b>" property="<b><font color="#FF0000">folderstore</font></b>" <br>
value="<b>D:/Inetpub/uploads</b>" /><br>
</jsp:useBean></font></td>
</tr>
</table>
</td>
</tr>
</table>
<p><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><u><font color="#333333" size="-2"><b>Notes</b></font></u><font color="#333333"><b><font size="-2"> : </font></b><font size="-2"><br>
1 - Don't pay attention about "/" or "\" in path. UploadBean will use always use the good one.<br>
2 - DO NOT add "/" or "\" at the end <br>
3 - </font><font size="-2" face="Verdana, Arial, Helvetica, sans-serif">A full sample is available through <a href="../SimpleUpload.jsp">SimpleUpload.jsp</a></font></font><br>
</font></p>
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td valign="top" bgcolor="#FFFFCC"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#FF0000" size="-1" face="Verdana, Arial, Helvetica, sans-serif"><img src="img/right_red-arrow.gif" width="18" height="14" align="absmiddle"> </font><font color="#FF0000">ZIP Archive </font><font color="#FF0000">:</font><font color="#FF0000" size="-1" face="Verdana, Arial, Helvetica, sans-serif"><a name="zip"></a></font></b></font></td>
</tr>
</table>
<p><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif"><b><img src="img/zip.gif" width="40" height="35" align="left"></b></font>UploadBean can store uploaded files in a ZIP archive. The folder containing the ZIP file must have read/write access. Uploaded files will be appended to the archive by creating a temporary archive.<br>
<br>
One method is available to initialize the ZIP store :<br>
</font></p>
<ul>
<li><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">public void <b>setZipfilestore</b>(String file)<br>
<font color="#666666">Input parameter is the full path to the ZIP file (e.g. /usr/upload/uploaded.zip).</font><br>
<font color="#666666">This method will create an empty ZIP archive if needed.</font></font><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><br>
</font></li>
</ul>
<p><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">Here is a sample under a Win32 OS. We assume that D:\Inetpub\customers\ is RW for the process running the Servlets/JSP Engine.<br>
</font></p>
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td bgcolor="#333333">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#EEEEEE"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><jsp:useBean id="upBean" scope="session" class="javazoom.upload.UploadBean"><br>
</font><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"> <jsp:setProperty name="<b>upBean</b>" property="<b><font color="#FF0000">zipfilestore</font></b>" <br>
value="<b>D:/Inetpub/customers/uploads.zip</b>" /><br>
</jsp:useBean></font></td>
</tr>
</table>
</td>
</tr>
</table>
<p><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><u><font color="#333333" size="-2"><b>Notes</b></font></u><font color="#333333"><b><font size="-2"> : </font></b><font size="-2"><br>
1 - Appending process could be slow because UploadBean need to create a temporary archive. Try to avoid big archives.<br>
2 - Don't pay attention about "/" or "\" in path. UploadBean will use always use the good one.<br>
3 - </font><font size="-2" face="Verdana, Arial, Helvetica, sans-serif">A full sample is available through <a href="../MultipleUploads.jsp">MultipleUploads.jsp</a></font></font><br>
</font></p>
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td valign="top" bgcolor="#FFFFCC"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#FF0000" size="-1" face="Verdana, Arial, Helvetica, sans-serif"><img src="img/right_red-arrow.gif" width="18" height="14" align="absmiddle"> </font><font color="#FF0000">Database </font><font color="#FF0000">:</font><font color="#FF0000" size="-1" face="Verdana, Arial, Helvetica, sans-serif"><a name="database"></a></font></b></font></td>
</tr>
</table>
<p><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><b><img src="img/database.gif" width="33" height="35" align="left"></b>UploadBean can store uploaded files in any database supporting long RAW data (i.e. binary files). You need a table (UPLOADS) with one column for upload identifiers (UPLOADID), one column for uploaded filenames (FILENAME) and one column for binary data (BINARYFILE). Note that you can modify tables and columns names through SQLUPLOAD* public static fields of UploadBean class. <br>
<br>
Two methods are available to initialize to JDBC connection :<br>
</font></p>
<ul>
<li><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">public void <b>setDatabasestore</b>(String driver, String URL, Properties credentials)<br>
<font color="#666666">Inputs parameters are the JDBC driver identifier, the JDBC URL and some connection properties (usually login/password).</font><br>
<font color="#666666">This method will load the driver in memory and open a database connection. </font></font></li>
<li><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">public void <b>setDatabasestore</b>(Connection jdbcconnection)<br>
<font color="#666666">Input parameter is a database connection that could come from a DataSource or any connection pool.</font><br>
</font></li>
</ul>
<p><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">One method is available to replace database store implementation :<br>
</font></p>
<ul>
<li><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">public void <b>setDatabasestoreimplementation</b>(String newimpl)<br>
<font color="#666666">Inputs parameter is your extended DBStore classname. See note 5 below. </font></font></li>
</ul>
<p><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">Here is a sample for Oracle. We assume that ORCL is a database instance running on mydbhost server (port 1521) and a test (login=test, password=test) account is available. A table matches to the <a href="sql/upload_oracle.sql">upload_oracle.sql</a> script. We also assume that we're using the Oracle THIN JDBC driver.<br>
</font></p>
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td bgcolor="#333333">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#EEEEEE"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><jsp:useBean id="upBean" scope="application" class="javazoom.upload.UploadBean"><br>
<%<br>
Properties props = new Properties();<br>
props.put("<b>user</b>","<b>test</b>");<br>
props.put("<b>password</b>","<b>test</b>");<br>
<b>upBean</b>.<font color="#FF0000"><b>setDatabasestore</b>("</font><b>oracle.jdbc.driver.OracleDriver</b><font color="#FF0000">",<br>
</font></font><font size="-2" face="Verdana, Arial, Helvetica, sans-serif"><font size="-1" color="#FF0000"> "</font><font size="-1"><b>jdbc:oracle:thin:@mydbhost:1521:ORCL</b><font color="#FF0000">",</font> <b>props</b><font color="#FF0000">);</font><br>
%><br>
</jsp:useBean></font></font></td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -