Class and Description |
---|
oracle.ord.im.OrdHttpJspResponseHandler
The OrdHttpJspResponseHandler class facilitates the retrieval of media data from Oracle Database, and its delivery to a browser or other HTTP client from a JSP page.
This class inherits the DEFAULT_BUFFER_SIZE field from the OrdHttpResponseHandler class.
All the send methods in this class all call the JspWriter clear method to clear the page's output buffer prior to delivering the media. Therefore, the page must use the buffered output model, which is the default. The following example demonstrates how to use the OrdHttpJspResponseHandler class to retrieve an image from the database and deliver it to a browser. The return statement ensures that the trailing newline characters following the final end tag (represented by a percent mark and right-angle bracket, or The
<%@ page language="java" %>
<%@ page import="OrdSamplePhotoAlbumBean" %>
<%@ page import="oracle.ord.im.OrdHttpJspResponseHandler" %>
<jsp:useBean id="photos" scope="page"
class="OrdSamplePhotoAlbumBean"/>
<jsp:useBean id="handler" scope="page"
class="oracle.ord.im.OrdHttpJspResponseHandler"/>
<%
//
// Select the entry from the table using the ID request parameter,
// then fetch the row.
//
photos.selectRowById(request.getParameter("id"));
if (!photos.fetch())
{
response.setStatus(response.SC_NOT_FOUND);
return;
}
//
// Set the page context for the retrieve request, then retrieve
// the image from the database and deliver it to the browser. The
// getImage() method returns an object of type
//
In order to run Oracle Multimedia methods for servlets and JSP, you will need to import classes from the oracle.ord.im package into your Java file. You may also need to import classes from the following Java packages:
java.sql.
java.io.
javax.servlet.
javax.servlet.http.
oracle.jdbc.
oracle.sql.
|
oracle.ord.im.OrdHttpResponseHandler
The OrdHttpResponseHandler class facilitates the retrieval of media data from Oracle Database, and its delivery to a browser or other HTTP client from a Java servlet.
An Oracle Multimedia Java object, such as an OrdImage object, is not dependent on the JDBC statement or result set from which it was obtained. However, an Oracle Multimedia Java object is dependent on the JDBC connection it is using and on which the SQL statement was executed, or from which the result set was obtained. Therefore, having obtained an Oracle Multimedia Java object from the database, an application must not release the JDBC connection before delivering the media data to the browser. This class contains the following field: The OrdHttpResponseHandler class uses a default buffer size of 32768 to retrieve LOB data from the database and deliver it to the client. You can override this value with the setBufferSize method. The following example shows how to use the OrdHttpResponseHandler class to retrieve an image from a database and deliver it to a browser:
PreparedStatement stmt = conn.prepareStatement(
"select photo from photo_album where id = ?" );
stmt.setString( 1, request.getParameter( "photo_id" ) );
OracleResultSet rset = (OracleResultSet)stmt.executeQuery();
if ( rset.next() )
{
OrdImage media = (OrdImage)rset.getORAData( 1, OrdImage.getORADataFactory() );
OrdHttpResponseHandler handler =
new OrdHttpResponseHandler( request, response );
handler.sendImage(media);
}
else
{
response.setStatus( response.SC_NOT_FOUND );
}
rset.close();
stmt.close();
In order to run Oracle Multimedia methods for servlets and JSP, you will need to import classes from the oracle.ord.im package into your Java file. You may also need to import classes from the following Java packages:
java.sql.
java.io.
javax.servlet.
javax.servlet.http.
oracle.jdbc.
oracle.sql.
|
oracle.ord.im.OrdHttpUploadFile
The OrdHttpUploadFile class facilitates the handling of uploaded files by providing an API that applications can call to load media data into Oracle Database. Form-based file uploading using HTML forms encodes form data and uploaded files in POST requests using the multipart/form-data format. The OrdHttpUploadFile class is used to represent an uploaded file that has been parsed by the
OrdHttpUploadFormData class.
The OrdHttpUploadFile class provides methods to obtain information about the uploaded file, to access the contents of the file directly, and to facilitate loading the contents into an Oracle Multimedia object in a database. Every input field of type In order to run Oracle Multimedia methods for servlets and JSP, you will need to import classes from the oracle.ord.im package into your Java file. You may also need to import classes from the following Java packages:
java.sql.
java.io.
javax.servlet.
javax.servlet.http.
oracle.jdbc.
oracle.sql.
|
oracle.ord.im.OrdHttpUploadFormData
The OrdHttpUploadFormData class facilitates the processing of POST requests using the multipart/form-data format. Form-based file uploading using HTML forms encodes form data and uploaded files in POST requests using this format. The OrdHttpUploadFormData class parses the POST data and makes the contents of regular form fields and uploaded files readily accessible to a Java servlet or JSP page.
The OrdHttpUploadFormData class provides methods to access text-based form field parameters that are identical to the getParameter, getParameterValues, and getParameterNames methods provided by the ServletRequest class. Access to uploaded files is provided by a similar set of methods, namely The following is an example of how to use the OrdHttpUploadFormData class:
//
// Create an OrdHttpUploadFormData object and use it to parse the
// multipart/form-data message.
//
OrdHttpUploadFormData formData = new OrdHttpUploadFormData( request );
formData.parseFormData();
//
// Get the description, location, and photograph.
//
String id = formData.getParameter( "id" );
String description = formData.getParameter( "description" );
String location = formData.getParameter( "location" );
OrdHttpUploadFile photo = formData.getFileParameter( "photo" );
//
// Prepare and execute a SQL statement to insert a new row into
// the table and return the sequence number for the new row.
// Disable auto-commit to allow the LOB to be written correctly.
//
conn.setAutoCommit( false );
PreparedStatement stmt = conn.prepareStatement(
"insert into photo_album (id, description, location, photo) " +
" values (?, ?, ?, ORDSYS.ORDIMAGE.INIT() )" );
stmt.setString( 1, id );
stmt.setString( 2, description );
stmt.setString( 3, location );
stmt.executeUpdate();
//
// Prepare and execute a SQL statement to fetch the new OrdImage
// object from the database.
//
stmt = conn.prepareStatement(
"select photo from photo_album where id = ? for update" );
stmt.setString( 1, id );
OracleResultSet rset = (OracleResultSet)stmt.executeQuery();
if ( !rset.next() )
{
throw new ServletException( "new row not found in table" );
}
OrdImage media = (OrdImage)rset.getORAData( 1, OrdImage.getORADataFactory());
//
// Load the photograph into the database and set the properties.
//
photo.loadImage(media);
//
// Prepare and execute a SQL statement to update the image object.
//
stmt = (OraclePreparedStatement)conn.prepareStatement(
"update photo_album set photo = ? where id = ?" );
stmt.setORAData( 1, media );
stmt.setString( 2 id );
stmt.execute();
stmt.close();
//
// Commit the changes.
//
conn.commit();
In order to run interMedia methods for servlets and JSP, you will need to import classes from the oracle.ord.im package into your Java file. You may also need to import classes from the following Java packages:
java.sql.
java.io.
javax.servlet.
javax.servlet.http.
oracle.jdbc.
oracle.sql.
|
oracle.ord.im.OrdMultipartFilter
The OrdMultipartFilter class filters form-based, file-upload servlet requests whose contents are encoded in multipart/form-data format. This class wraps a request object with an OrdMultipartWrapper object that parses the request content.
The OrdMultipartFilter class implements the javax.servlet.Filter interface in servlet 2.3. For any servlet container that supports servlet 2.3, this filter combined with the OrdMultipartWrapper object, provides transparent access to the parameters and files in the servlet request with multipart/form-data encoding. In order to use the OrdMultipartFilter class, you will need to specify the following in the web.xml file:
<filter>
<filter-name>OrdMultipartFilter</filter-name>
<filter-class>oracle.ord.im.OrdMultipartFilter</filter-class>
<!-- optional configuration parameters
<init-param>
<param-name>tempDir</param-name>
<param-value>/tmp</param-value>
<param-name>maxMemory</param-name>
<param-value>5000</param-value>
</init-param>
-->
</filter>
<filter-mapping>
<filter-name>OrdMultipartFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
And you will need to specify the following in the JSP file:
//
// Get the description, location, and photograph.
//
String id = request.getParameter( "id" );
String description = request.getParameter( "description" );
String location = request.getParameter( "location" );
OrdHttpUploadFile photo = request.getFileParameter( "photo" );
//
// Prepare and execute a SQL statement to insert a new row into
// the table and return the sequence number for the new row.
// Disable auto-commit to allow the LOB to be written correctly.
//
conn.setAutoCommit( false );
PreparedStatement stmt = conn.prepareStatement(
"insert into photo_album (id, description, location, photo) "
" values (?, ?, ?, ORDSYS.ORDIMAGE.INIT() )" );
stmt.setString( 1, id );
stmt.setString( 2, description );
stmt.setString( 3, location );
stmt.executeUpdate();
//
// Prepare and execute a SQL statement to fetch the new OrdImage
// object from the database.
//
stmt = conn.prepareStatement(
"select photo from photo_album where id = ? for update" );
stmt.setString( 1, id );
OracleResultSet rset = (OracleResultSet)stmt.executeQuery();
if ( !rset.next() )
{
throw new ServletException( "new row not found in table" );
}
OrdImage media = (OrdImage)rset.getORAData( 1, OrdImage.getORADataFactory());
//
// Load the photograph into the database and set the properties.
//
photo.loadImage(media);
//
// Prepare and execute a SQL statement to update the image object.
//
stmt = (OraclePreparedStatement)conn.prepareStatement(
"update photo_album set photo = ? where id = ?" );
stmt.setORAData( 1, media );
stmt.setString( 2 id );
stmt.execute();
stmt.close();
//
// Commit the changes.
//
conn.commit();
In order to run Oracle Multimedia methods for servlets and JSP, you will need to import classes from the oracle.ord.im package into your Java file. You may also need to import classes from the following Java packages:
java.sql.
java.io.
javax.servlet.
javax.servlet.http.
oracle.jdbc.
oracle.sql.
|
oracle.ord.im.OrdMultipartWrapper
The OrdMultipartWrapper class wraps the HttpServletRequest object and provides access to the contents in the HTTP request that are encoded using multipart/form-data encoding. This class overrides some of the methods in the HttpServletRequestWrapper class to provide access to the text-based form field parameters. This class also defines new methods to provide access to the uploaded files.
In order to run Oracle Multimedia methods for servlets and JSP, you will need to import classes from the oracle.ord.im package into your Java file. You may also need to import classes from the following Java packages:
java.sql.
java.io.
javax.servlet.
javax.servlet.http.
oracle.jdbc.
oracle.sql.
|
Exceptions and Description |
---|
oracle.ord.im.OrdHttpResponseException
The OrdHttpResponseException class extends ServletException to report errors encountered during the retrieval and delivery of multimedia data from a database to an HTTP client.
|
oracle.ord.im.OrdHttpUploadException
The OrdHttpUploadException class extends IOException to report errors encountered during the uploading of multimedia data from an HTTP client to a database. Its primary purpose is to allow the localization of error message text.
|