domingo, abril 08, 2007

Java: Servlet básico - Minimal Servlet

Ejemplo de un Servlet básico sobre el que podemos empezar a añadir la funcionalidad que queramos.
Contiene ejemplos básicos para la obtención de parámetros, escritura de la respuesta web, ...

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.io.File.*;
import java.util.*;


public class Middleware extends HttpServlet {

//Initialize global variables
public void init() throws ServletException {
}

//Process the HTTP Get request > aqui tratamos la peticion
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {

//obtenemos el descriptor sobre el que devolveremos la respuesta html
response.setContentType("text/html");
PrintWriter out = response.getWriter();

try {

//forma de obtener los parametros > vienen de un formulario
String servicio = request.getParameter("servicio");
}
catch (Exception e) {
out.println("Error en el Servlet del servicio web.");
}
}

//Process the HTTP Post request > no importa el metodo, lo tratamos todo igual
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}

//Clean up resources
public void destroy() {
}
}

Para la respuesta web es recomendable usar un método en el que se le pase como parámetros el descriptor de la salida y la ruta de la página a mostrar. El método es el siguiente (el primero es una versión básica y el segundo permite introducir cambios mediante un array de pares de string "antiguo-nuevo"):


public static void enviarPagina(String pagina, PrintWriter out)
{
try {

FileReader fr = new FileReader(pagina);
BufferedReader buffer = new BufferedReader(fr);

String linea = buffer.readLine();

while (linea != null)
{
out.println(linea);
linea=buffer.readLine();
}
}
catch(Exception e)
{
System.out.println("Error al abrir el fichero");
out.println("Error al cargar el fichero de la página - " + e.toString());
try{
File dir1 = new File(".");
out.print("Current dir : " + dir1.getCanonicalPath());
}catch(Exception en){}
}
}

public static void enviarPagina(String pagina, PrintWriter out, String[][] cambios)
{
try {

FileReader fr = new FileReader(pagina);
BufferedReader buffer = new BufferedReader(fr);

String linea = buffer.readLine();

while (linea != null)
{
//hacemos los cambios necesarios
for(int i=0;i(menorque)cambios.length;i++){
linea = linea.replaceAll(cambios[i][0],cambios[i][1]);
}
//escribimos
out.println(linea);
linea=buffer.readLine();
}
}
catch(Exception e)
{
System.out.println("Error al abrir el fichero");
}
}

viernes, abril 06, 2007

Bricoinformática: Instalar los diccionarios en OpenOffice - Installing language dictionaries in openoffice

Si tienes problemas con los diccionarios en OpenOffice (que no se te activan, no te corrigen, te dan errores en todas las palabras, ...), siguiendo estos pasos podrás resolverlos dejando tu OpenOffice funcionando de lujo.
Sin detenernos pues...

1. Entramos al Writer (procesador de textos) del OO.
2. Archivo > Asistentes > Instalar diccionarios nuevos...
...se abre una nueva ventana al estilo nuevo documento...

3. Seleccionamos el diccionario que queramos instalar haciendo clic sobre él.
4. Hacemos clic sobre el botón "Ejecutar DicOOo" (vamos, y es pequeño!!).
5. Siguiente.
...llegamos a la pantalla de diccionarios de ortografía...

6. Hacemos clic en "Recuperar lista" y esperamos.
7. Seleccionamos nuestro idioma y hacemos clic en Siguiente.
...hacemos lo mismo para los diccionarios de separación de sílabas y sinónimos...

8. Hacemos clic en "Iniciar la descarga" y cuando finalice, en "Final".
...reiniciamos OO y puede que pasen dos cosas:
a) todo funciona al pelo y ya hemos terminado.
b) aquí no ha pasado nada, por lo que todavía nos falta por hacer lo siguiente:
9. Herramientas > Opciones...
10. Seleccionamos la ficha "Configuración del idioma > idiomas".
11. Y en la opción de "Idioma predeterminado para los documentos" elegimos el recién instalado.

Y nada más, dejamos esto funcionando y si nos vuelve a dar problemas, hacemos el truco de la vieja y lo volvemos a instalar. Suerte.