com.ejie.r01f.servlet.upload
Class UploadServlet

java.lang.Object
  extended byjavax.servlet.GenericServlet
      extended byjavax.servlet.http.HttpServlet
          extended bycom.ejie.r01f.servlet.upload.UploadServlet
All Implemented Interfaces:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class UploadServlet
extends javax.servlet.http.HttpServlet

 Servlet que maneja el upload de ficheros al servidor.

 CONFIGURACIÓN
 -------------
 El servlet se parametriza en el fichero de propiedades de la aplicación en la que
 se utiliza. Para saber desde que aplicación se está utilizando el servlet, hay
 que registrarlo en el fichero web.xml con un parametro appCode. Alternativamente,
 se puede pasar el código de aplicación como parámetro (ver mas abajo).
 
 <servlet>
   <servlet-name>UploadServlet</servlet-name>
   <description>Servlet Upload de ficheros</description>
   <servlet-class>com.ejie.r01f.servlet.upload.UploadServlet</servlet-class>
   <init-param>
           <param-name>appCode</param-name>
           <param-value>r01</param-value>
           <description>Codigo de Aplicacion</description>
   </init-param>
 </servlet>
 En el fichero de configuración de la aplicación existirá una sección en la cual se especifican los digesters:
 		Como es posible que se quieran hacer cosas diferentes con
 		diferentes ficheros que se suben en diferentes sitios, se puede especificar
 		un digester de ficheros que se encarga por ejemplo de guardarlos a disco, base de datos, etc:
 
 <uploadServlet>
       <maxFileSize>1024</maxFileSize> <!-- Tamaño máximo del fichero en bytes -->
       <digesters>
           <digester id='saveToFileDigester'>
               <class>com.ejie.r01f.servlet.upload.SaveToFileDigester</class>
               <config>          <!-- Configuración especifica del digester SaveToFile -->
                   <dir>/datos/r01</dir>
                   -- Cualquier configuración que haga falta --
               </config>
           </digester>
           <digester id='bdDigester'>
               <class>com.ejie.r01f.servlet.upload.SaveToBD</class>
            <allowedMimeTypes>          <!-- tipos mime permitidos -->
                <mimeType>text/css</mimeType>
            </allowedMimeTypes>
               <config>                <!-- Configuración especifica del digester SaveToFile -->
                   <connection>stes</connection>
                   <table>P0105T00</table>
                   -- Cualquier configuración que haga falta --
               </config>
           </digester>
       </digesters>
 </uploadServlet>
 
 FORMA DE UTILIZACIÓN
 --------------------
 Para llamar al uploadServlet hay que pasar como mínimo un parámetro que
 indica el identificador del digester a utilizar.	El servlet accederá al fichero
 de propiedades de la aplicación para obtener la clase del digester a instanciar y
 sus propiedades. Para ello, debe saber de que aplicación se trata, lo cual se puede
 pasar de dos formas:
 		- Como parametro de inicialización del servlet en el web.xml (ver mas arriba)
 		- Como parametro de la request

 Ejemplo de utilización:
 
 <form name='uploadTest' id='uploadTest' action='/r01/r01uploadServlet' method='post' enctype="multipart/form-data">
   <input type='hidden' name='appCode' value='r01'/> <!-- opcional si se parametriza en el web.xml -->
   <input type='hidden' name='digesterID' value='saveToFileDigester'/>
   <input type='file' name='fichero' value='Fichero'/>
   <input type='button' name='boton' value='Enviar' onClick='JavaScript:uploadTest.submit()'/>
 </form>
 
 o bien:
 
 <form name='uploadTest' id='uploadTest' action='/r01/r01uploadServlet?appCode=r01&digesterID=saveToFileDigester' method='post' enctype="multipart/form-data">
   <input type='file' name='fichero' value='Fichero'/>
   <input type='button' name='boton' value='Enviar' onClick='JavaScript:uploadTest.submit()'/>
 </form>
 
 

See Also:
Serialized Form

Constructor Summary
UploadServlet()
           
 
Method Summary
 void init(javax.servlet.ServletConfig config)
          Inicializacion del Servlet
 void service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Método principal del Servlet.
 
Methods inherited from class javax.servlet.http.HttpServlet
service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UploadServlet

public UploadServlet()
Method Detail

init

public void init(javax.servlet.ServletConfig config)
          throws javax.servlet.ServletException
Inicializacion del Servlet

Throws:
javax.servlet.ServletException

service

public void service(javax.servlet.http.HttpServletRequest request,
                    javax.servlet.http.HttpServletResponse response)
             throws javax.servlet.ServletException
Método principal del Servlet.

Throws:
javax.servlet.ServletException