Cargando

Ir a contenido

X

JSP ejecutar Java





10 Respuestas de expertos

#1   PepBR

Publicado 30 marzo 2014 - 20:05
Buenas noches,

Desde 1 fichero JSP hago:

Por favor Identificate o Registrate para poder ver este contenido


En Java también me funciona.

Lo que no consigo es hacer esto:
java Hello > hola.txt

Por favor Identificate o Registrate para poder ver este contenido


No quiero poner este comando (java ...) en 1 fichero BAT, aunque tampoco me funciona en JSP (sí en Java). El fichero Java (en catalán) es éste:

Por favor Identificate o Registrate para poder ver este contenido


Gracias anticipadas,


PepBR
  • ¿Tienes la misma pregunta? Yo también
  • Volver arriba


#2 Invitado_Jonathan A_*

Publicado 31 marzo 2014 - 00:23
Ok, dejame ver si te seguí, creo que lo que quieres hacer es utilizar la salida por consola de un programa java para llenar un archivo .txt no? Sí es así, debes hacerlo de la siguiente manera, usando el nombre de la clase, avísame como te va:

Por favor Identificate o Registrate para poder ver este contenido



#3   PepBR

Publicado 31 marzo 2014 - 08:21  AUTOR PREGUNTA

Ok, dejame ver si te seguí, creo que lo que quieres hacer es utilizar la salida por consola de un programa java para llenar un archivo .txt no? Sí es así, debes hacerlo de la siguiente manera, usando el nombre de la clase, avísame como te va:

Por favor Identificate o Registrate para poder ver este contenido


Lo que quiero es exactamente esto, pero no por consola, sí por JSP (y que el fichero TXT no salga vacío. En realidad quiero hacer esto:

Por favor Identificate o Registrate para poder ver este contenido


En resumen, que el comportamiento del JSP sea el de la consola MS-DOS. Por esto decía ayer que ya hago correctamente:

Por favor Identificate o Registrate para poder ver este contenido


en JSP, que al hacer:

Por favor Identificate o Registrate para poder ver este contenido


tendría que crear los ficheros:
- fitxer.txt (con contenido)
- test.1x2 (vacío)


PepBR

#4 Invitado_Jonathan A_*

Publicado 31 marzo 2014 - 15:02
Yo creo que estás mezclando un poco los conceptos, ya que JSP corre bajo un servidor web, por ejemplo Tomcat. Entonces sabiendo esto puedes usar el objeto PrintWriter para hacer lo que necesitas, te dejo un ejemplo, cualquier cosa me comentas:

Por favor Identificate o Registrate para poder ver este contenido



#5   PepBR

Publicado 01 abril 2014 - 11:46  AUTOR PREGUNTA
Mi servidor es JBoss.

Imagina 1 fichero Java (fichero.java) que hace lo siguiente:
1. Si fichero Prueba.txt no existe en c:\, crearlo y decir:
Fichero Prueba.txt recientemente creado.
2. Si no, decir:
Fichero Prueba.txt ya existe.

Ahora tenemos otro fichero Java (comandos.java) que me hace OK esto:
javac fichero.java
(Process process = Runtime.getRuntime().exec("javac fichero.java"); )

Me falla (no lo consigo) que comandos.java haga OK la ejecución:
java fichero > salida.txt
creándose Prueba.txt si no existía y salida.txt (con contenido).

Si funciona en Java también tiene que funcionar en JSP (de tu código se queja en el parámetro 'fitxer', y mejor si el contenido fuese línea a línea (metido en 1 textarea :-P)),


PepBR

#6 Invitado_Jonathan A_*

Publicado 02 abril 2014 - 13:19
Como te mencionaba anteriormente estás mezclando los conceptos, independientemente que tu servidor sea JBoss, Tomcat o Geronimo son servidores de aplicaciones de Java por igual, debes ejecutar el código entre las directivas de JSP, es decir, ese proceso que quieres hacer debe ir en código y no mediante comandos, en cuanto al código vamos a tratar de separar un poco más los pasos, por ejemplo crea la instancia a FileOutputStream() fuera de PrintWriter, entonces agrega lo siguiente antes de PrintWriter:

Por favor Identificate o Registrate para poder ver este contenido


Entonces en el código que te pase también cambia esta línea:

Por favor Identificate o Registrate para poder ver este contenido


Con esto ya debería funcionarte, de igual manera si te da problemas vuelves.

Saludos.

#7   PepBR

Publicado 02 abril 2014 - 14:05  AUTOR PREGUNTA
Lo que me dices es esto:

JSP --> archivo.txt --> JSP (contenido del fichero TXT)

Lo que quiero hacer es:

JSP --> (comandos.java --> fichero.java) --> JSP (creación de 2 ficheros)

Lo que te pongo entre paréntesis es para ejecutarlo bajo MS-DOS. El fitxer.txt se crea una vez hecho:
java fitxer > fitxer.txt
Si comandos.java lo hace OK (compilar ya lo hago OK) también lo hará JSP.

Tanto en Java como en JSP es el método Runtime().exec(comando), pero me falla la ejecución (java fitxer > fitxer.txt). En tu código sólo aparece archivo.txt o fitxer.txt, y ningún fichero Java ni Runtime,


PepBR

#8 Invitado_Jonathan A_*

Publicado 02 abril 2014 - 17:16
Ok dejame ver si te segui, esto es lo que quieres:

JSP --> archivo.txt --> JSP (contenido del fichero TXT)

Entonces agrega el runtime dentro del JSP y en vez de apuntar al fichero java, el parámetro del .exec debe ser la clase que hace todas las operaciones para crearte los .txt. Pruebalo entonces así:

Por favor Identificate o Registrate para poder ver este contenido


Me avisas

#9   PepBR

Publicado 02 abril 2014 - 19:24  AUTOR PREGUNTA
¡Conseguido! :-)

Lo había probado hace días (y versiones) con:
/K
pero no con /C (fuente:

Por favor Identificate o Registrate para poder ver este contenido

). Más enlaces:
-

Por favor Identificate o Registrate para poder ver este contenido


-

Por favor Identificate o Registrate para poder ver este contenido


-

Por favor Identificate o Registrate para poder ver este contenido


-

Por favor Identificate o Registrate para poder ver este contenido

(jacosta: tu anterior post (probado))

Por favor Identificate o Registrate para poder ver este contenido


El fichero run.txt aparece con 1 o 2 líneas de contenido (ver el primer post). El fichero test.1x2 se crea si no existe. :-) Con 'cmd.exe' también funciona.

jacosta: Gracias, pero como ves:
1. Redireccionaba la salida a 1 fichero TXT.
2. Me faltaba empezar el comando "cmd /C" (desde el viernes una de las muchas pruebas era con '/K', '\\K',...).
3. Ya probé lo de tu respuesta anterior, pero sin crearse el fichero TXT (sí el fichero '1x2').

Gracias de nuevo, jacosta,


PepBR

#10 Invitado_Jonathan A_*

Publicado 02 abril 2014 - 21:43
Tranquilo para eso estamos ;)