Foros del Web » Programación para mayores de 30 ;) » Java »

ARCHIVO .do

Estas en el tema de ARCHIVO .do en el foro de Java en Foros del Web. Hola amigos :Quisiera saber como debo crear un archivo con extensión .do para poder invocarlo como una url desde la web ( http://localhost:8080.xxx.do ) agradezco ...
  #1 (permalink)  
Antiguo 03/11/2004, 09:03
 
Fecha de Ingreso: septiembre-2004
Mensajes: 71
Antigüedad: 19 años, 7 meses
Puntos: 0
ARCHIVO .do

Hola amigos :Quisiera saber como debo crear un archivo con extensión .do para poder invocarlo como una url desde la web (http://localhost:8080.xxx.do) agradezco la ayuda.
  #2 (permalink)  
Antiguo 03/11/2004, 09:08
 
Fecha de Ingreso: septiembre-2004
Mensajes: 191
Antigüedad: 19 años, 7 meses
Puntos: 1
un archivo *.do es un action, clase q hereda de struts.action. Para ello debes configurar el struts-config.xml para decirle al dispatcher que acciodes debe ejecutar para q dependiendo del action redirija a otro action o jsp

saludos
  #3 (permalink)  
Antiguo 03/11/2004, 12:43
Avatar de hugo777  
Fecha de Ingreso: enero-2002
Ubicación: Lima, Perú
Mensajes: 757
Antigüedad: 22 años, 3 meses
Puntos: 1
Hola, asi es sanmi69, la extension .do es generalmente usada en acciones de struts, pero también puede ser utilizada como mapping de un servlet sin necesidad de trabajar con struts, es decir si tuvieras en tu web.xml lo siguiente:

Código PHP:
<web-app>
  <
servlet>
    <
servlet-name>ServletEjecutaServicio</servlet-name>
    <
servlet-class>servlets.ServletEjecutaServicio</servlet-class>
  </
servlet>
  <
servlet-mapping>
    <
servlet-name>ServletEjecutaServicio</servlet-name>
    <
url-pattern>/ejecuta.do</url-pattern>
  </
servlet-mapping>
  ...
</
web-app
Donde se esta definiendo un servlet y su respectivo mapping; entonces podrías llamar a tu servlet ServletEjecutaServicio desde el URL como:

http://localhost:8080/webApp/ejecuta.do

Donde webApp es el nombre de tu webapplication y ejecuta.do es el mapping de tu servlet.
__________________
Saludos,

H@C..
  #4 (permalink)  
Antiguo 03/11/2004, 13:43
 
Fecha de Ingreso: septiembre-2004
Mensajes: 71
Antigüedad: 19 años, 7 meses
Puntos: 0
Gracias amigos por la respuesta, de todas maneras como necesito crear un archivo .do quisiera que me enviaran un ejemplo de un archivo struts-config.xml donde contenga este archivo y de que forma me comunico con el dispatcher.

Saludos
  #5 (permalink)  
Antiguo 04/11/2004, 02:51
 
Fecha de Ingreso: septiembre-2004
Mensajes: 191
Antigüedad: 19 años, 7 meses
Puntos: 1
como ha dixo hugo77 el .do sale gracias al url-pattern del web.xml, pero se usa principalemte para struts, y el struts-config.xml es el archivo q lee el dispatcher para realizaar los redirecccionamientos.
aki va un struts-config.xml de ejemplo
Código PHP:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
<struts-config>
  <form-beans>
    <form-bean name="pruebaActionForm" type="struts.PruebaActionForm" />
    <form-bean name="prueba2ActionForm" type="struts.Prueba2ActionForm" />
  </form-beans>
  <action-mappings>
    <action name="pruebaActionForm" type="struts.PruebaAction" scope="session" path="/pruebaAction">
      <forward name="ok" path="/resultado.jsp" redirect="false" />
    </action>
    <action name="prueba2ActionForm" type="struts.Prueba2Action" validate="false" scope="session" path="/prueba2Action" />
  </action-mappings>
</struts-config>
saludos
  #6 (permalink)  
Antiguo 26/11/2004, 07:24
 
Fecha de Ingreso: septiembre-2004
Mensajes: 71
Antigüedad: 19 años, 7 meses
Puntos: 0
Gracias amigo sanmi69 por tu ayuda.

Saludos...
  #7 (permalink)  
Antiguo 08/12/2004, 18:58
Avatar de KITARO  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 67
Antigüedad: 20 años, 1 mes
Puntos: 0
hola!!!
como puedo insertar datos en un BD con JDBC a traves de una aplicacion web con struts? o donde puedo encontrar informacion muchas gracias
__________________
Fidel
[email protected]------------------------------------------------
"LA PROVIDENCIA AYUDA A AQUIENES AYUDAN A LOS DEMAS"
  #8 (permalink)  
Antiguo 09/12/2004, 08:57
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bogota, Colombia
Mensajes: 10
Antigüedad: 19 años, 5 meses
Puntos: 0
Hola como te va?

Bueno tu pregunta produce una respues larga, lo que tienes que saber basicamente es lo siguiente, en struts para acceder a una BD se debe configurar algo llamado datasource esto se declara en el struts-config.xml de la siguiente manera:


<data-source key="KEY_EJEMPLO" type="CLASS DEL DRIVER">
<set-property property="URL" value="STRIN DE CONEXION O URL" />
<set-property property="user" value="USERID" />
<set-property property="password" value="PASS" />
<set-property property="maxActive" value="3" />
<set-property property="maxWait" value="5000" />
<set-property property="defaultAutoCommit" value="false" />
</data-source>

Si ya tienes configurado eso entonces cuando se genere un action puede consultar la bd de datos, lo que yo hago es crear un bean con todos los campos de la tabla llamada generalmente VO, una clase para acceder a los datos (modelo del negocio donde se hacen las sentencia sql) llamada generalmente DAO, y la clase action que la desciendo de dispatchaction...es la misma que action solo que con esta puedes tener varios metodos execute desde una sola clase.

ej: del dispatch action

Esta clase es la que recibe el action desde la pagina jsp, de aca entonces lo que hago dependiendo del metodo es llamar a add si se va
a insertar, a upd si va a actualizar, a load para cargar un registro especifico, entonces explico el add que fue el unico que coloque,
entonces nos llega el ActionForm, de alli sacamos los datos que vienen de los formularios luego de eso conseguimos el datasource que
se declaro en el strut-config, hay dice ds = getActiveDataSource(request) eso es una funcion como la siguiente:

public DataSource getActiveDataSource(HttpServletRequest request) throws Exception {
DataSource ds = null;
String datasourcekey;

datasourcekey = (String) request.getSession().getAttribute("KEY_EJEMPLO");
ds = this.getDataSource(request, datasourcekey);
return ds;
}

fijate hay en el "KEY_EJEMPLO" con ese key fue que se declaro en el struts-config, luego de eso entonces llamamos a la sentencia
sql ya que tenemos el datasource y el VO....entonces mira la clase DAO y VO

import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;

import com.union.common.ApplicationLog;
import com.union.common.GenericaDispatchAction;


public class IdiomaDispatchAction extends GenericaDispatchAction {
private static final String FWD_FORMULARIO = "formulario";
private static final String FWD_EXITOSO = "exitoso";
private static final String FWD_REINTENTAR = "error";

public ActionForward add( ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response )
throws ServletException {
DynaActionForm f;
DataSource ds;
IdiomaVO vo;
initLog( );
f = (DynaActionForm) form;
vo = new IdiomaVO( );
vo.setIdioma( (String) f.get( "idioma" ) );
vo.setNombre( (String) f.get( "nombre" ) );

try {
ds = getActiveDataSource( request );
}
catch( Exception e ) {
log.addError( e.getMessage( ) );
saveLog( request );

return mapping.findForward( IdiomaDispatchAction.FWD_REINTENTAR );
}

try {
if( !IdiomaDAO.addIdioma( vo, ds ) ) {
System.out.println( "ErrorGeneral" );
log.addError( "error.general" );
saveLog( request );

return mapping.findForward( IdiomaDispatchAction.FWD_REINTENTAR );
}
}
catch( SQLException sqlx ) {
log.addDatabaseError( sqlx );
log.addDatabaseUserError( sqlx, ds );
saveLog( request );

return mapping.findForward( IdiomaDispatchAction.FWD_REINTENTAR );
}

log.addMessage( "mensaje.registro.XXzado", "Idioma", 1 );
saveLog( request );

return mapping.findForward( IdiomaDispatchAction.FWD_EXITOSO );
}


public ActionForward upd( ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response )
throws ServletException {
}


public ActionForward load( ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response )
throws ServletException {
}


public ActionForward preload( ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response )
throws Exception, ServletException {
}
}



ej del VO:
public class IdiomaVO implements Serializable {
private String idioma;
private String nombre;

/**
* @return Returns the idioma.
*/
public String getIdioma( ) {
return idioma;
}


/**
* @param idioma The idioma to set.
*/
public void setIdioma( String idioma ) {
this.idioma = toUpperCase(idioma);
}


/**
* @return Returns the nombre.
*/
public String getNombre( ) {
return nombre;
}


/**
* @param nombre The nombre to set.
*/
public void setNombre( String nombre ) {
this.nombre = toUpperCase(nombre);
}

private String toUpperCase(String str) {
if (str != null)
return str.toUpperCase();
else
return str;
}
}

ej del dao:

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.LinkedList;

import javax.sql.DataSource;

import com.union.common.GenericoDAO;


public class IdiomaDAO {

public static boolean addIdioma( IdiomaVO vo, DataSource ds )
throws SQLException {
Connection conn = null;
StringBuffer sql;
boolean ok = false;
conn = ds.getConnection( );

sql = new StringBuffer( "INSERT INTO idioma_idi (cidi_idioma, cidi_nombre )" );
sql.append( " VALUES ( " );
sql.append( GenericoDAO.toSQL( vo.getIdioma( ), true ) + ", " );
sql.append( GenericoDAO.toSQL( vo.getNombre( ), true ) + ")" );
ok = GenericoDAO.execute( sql.toString( ), conn );

return ok;
}

}

--ACA continuamos entonces llamado a la clase addIdioma le pasamos el vo con los datos recuperados, el datasource recuperado, creamos la sentencia sql
y recuperamos una conexion como conn = ds.getConnection() y listo...ya puedes hacer lo que quieras con las bases de datos, en esa clase dao
tambien puedes declarar otros metodos como el de actualizar, el de eliminar...etc.

Aca te envio como se configura el action y el formbean de idioma por si lo necesitas.

EL FORM BEAN

<form-bean dynamic="true" name="idioma" type="org.apache.struts.action.DynaActionForm">
<form-property name="idioma" type="java.lang.String"/>
<form-property name="nombre" type="java.lang.String"/>
<form-property name="mtd" type="java.lang.String" />
</form-bean>

y el action

<action
path="/parametrohov/idioma"
name="idioma"
scope="request"
type="com.union.sara.parametrohov.IdiomaDispatchAc tion"
parameter="mtd"
validate="false">
<forward name="formulario" path="/pages/modulos/parametrohov/idiomaAdm.jsp" />
<forward name="exitoso" path="/parametrohov/listado.do?mtd=idi" />
<forward name="error" path="/pages/modulos/parametrohov/idiomaAdm.jsp" />
</action>

Hasta Pronto y espeor que le sirva de algo.

Daniel..de Colombia.
  #9 (permalink)  
Antiguo 09/12/2004, 14:59
 
Fecha de Ingreso: septiembre-2004
Mensajes: 71
Antigüedad: 19 años, 7 meses
Puntos: 0
Gracias Daniel por tu código esta muy bueno me ayuda en la comprensión del concepto.

Saludos... desde Chile
  #10 (permalink)  
Antiguo 10/12/2004, 20:39
Avatar de KITARO  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 67
Antigüedad: 20 años, 1 mes
Puntos: 0
si muchas gracias, eres lo maximo, fracias por tu tiempo.
__________________
Fidel
[email protected]------------------------------------------------
"LA PROVIDENCIA AYUDA A AQUIENES AYUDAN A LOS DEMAS"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:37.