Contiene ejemplos básicos para la obtención de parámetros, escritura de la respuesta web, ...
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"):
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() {
}
}
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");
}
}
No hay comentarios:
Publicar un comentario