0% found this document useful (0 votes)
5 views7 pages

JAVA - WebApps - Filtro Cors

The document contains Java servlet implementations for a web application that handles user management, including creating, updating, deleting, and retrieving user information. It also includes a CORS filter to manage cross-origin requests. Each servlet responds with JSON data to facilitate communication with the front end.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views7 pages

JAVA - WebApps - Filtro Cors

The document contains Java servlet implementations for a web application that handles user management, including creating, updating, deleting, and retrieving user information. It also includes a CORS filter to manage cross-origin requests. Each servlet responds with JSON data to facilitate communication with the front end.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

JAVA - WebApp - Crear

package ar.cac;

import java.io.IOException;
import java.io.PrintWriter;

import com.fasterxml.jackson.databind.ObjectMapper;

//import com.fasterxml.jackson.databind.ObjectMapper;
//import com.google.gson.Gson;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

// la forma de llamar al servlet sera http://localhost:8080/servlet/appcrear


@WebServlet("/appcrear")

public class appcrear extends HttpServlet {

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

usuario usr = new usuario();

usr.nombre = req.getParameter("nombre");
usr.apellido = req.getParameter("apellido");
usr.email = req.getParameter("email");
usr.contrasena = req.getParameter("contrasena");
usr.fecnac = req.getParameter("fecnac");
usr.pais = req.getParameter("pais");
usr.activo = true;
usr.admin = Boolean.parseBoolean(req.getParameter("admin")); //ver

System.out.println("CREAR - Llego desde el front esto: "+usr.email);

//Verifico que el email no existe


String patron = usr.email;
System.out.println("CREAR - Buscamos si existe: "+patron);
service lst = new service();
String usr2;
usr2 = lst.listado(patron); //Devuelvo el json que se ajusta al patron

//convierto usr2 de string a json

System.out.println("CREAR - la busqueda devolvio JSON vacio de long 2 '[]': "+usr2.length());


if (usr2.length() == 2){
System.out.println("CREAR - no se encontro ese email por lo tanto crear!");
service srvc = new service();

1
System.out.println("CREAR - Como el email no existe, crea: "+usr.email);
srvc.crear(usr);

ObjectMapper mapper2 = new ObjectMapper();

String usr4JSON = mapper2.writeValueAsString(usr);

//envio respuesta positiva al front end


PrintWriter out = resp.getWriter();
resp.setContentType("application/json");
resp.setCharacterEncoding("UTF-8");
out.print(usr4JSON);
out.flush();

}else{
//El email fue encontrado asi que devuelvo error
System.out.println("CREAR - Salida por #Error# email repetido ");
usuario usr3 = new usuario();
usr3.id = 0;
usr3.email = "#Error#";
usr3.contrasena = "#Error#";
usr3.activo = false;
usr3.admin = false;

ObjectMapper mapper2 = new ObjectMapper();

String usr3JSON = mapper2.writeValueAsString(usr3);

System.out.println("CREAR - Devuelve error, email encontrado: "+ usr3JSON);

//envio respuesta positiva al front end


PrintWriter out = resp.getWriter();
resp.setContentType("application/json");
resp.setCharacterEncoding("UTF-8");
out.print(usr3JSON);
out.flush();
};

}
}

2
JAVA – WebApp – Buscar por Id
package ar.cac;

import java.io.IOException;
import java.io.PrintWriter;

import com.fasterxml.jackson.databind.ObjectMapper;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

@WebServlet("/appbuscarporid")
public class appbuscarporid extends HttpServlet {

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

Integer id = Integer.valueOf(req.getParameter("patron"));
usuario usr = new usuario();

service srvc = new service();


usr = srvc.buscarPorId(id);

System.out.println("Usuario Encontrado: "+ usr.email);

ObjectMapper mapper = new ObjectMapper();


String lggJSON = mapper.writeValueAsString(usr);

System.out.println(lggJSON);

//envio respuesta al front end


PrintWriter out = resp.getWriter();
resp.setContentType("application/json");
resp.setCharacterEncoding("UTF-8");
out.print(lggJSON);
out.flush();

3
JAVA – WebApp – Actualizar
package ar.cac;

import java.io.IOException;
import java.io.PrintWriter;

import com.fasterxml.jackson.databind.ObjectMapper;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

// la forma de llamar al servlet sera http://localhost:8080/servlet/appactualizar


@WebServlet("/appactualizar")

public class appactualizar extends HttpServlet {

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

usuario usr = new usuario();


usr.id = Integer.valueOf(req.getParameter("idd"));
usr.nombre = req.getParameter("nombre");
usr.apellido = req.getParameter("apellido");
usr.email = req.getParameter("email");
usr.contrasena = req.getParameter("contrasena");
usr.fecnac = req.getParameter("fecnac");
usr.pais = req.getParameter("pais");
usr.activo =Boolean.parseBoolean(req.getParameter("activo"));
usr.admin =Boolean.parseBoolean(req.getParameter("admin"));

service srvc = new service();


srvc.actualiza(usr);

//envio respuesta al front end


PrintWriter out = resp.getWriter();
resp.setContentType("application/json");
resp.setCharacterEncoding("UTF-8");
out.print("DB actualizada ok");
out.flush();

4
JAVA – WebApp – Borrar
package ar.cac;

import java.io.IOException;
import java.io.PrintWriter;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

// la forma de llamar al servlet sera http://localhost:8080/servlet/appborrar


@WebServlet("/appborrar")
public class appborrar extends HttpServlet {

@Override
protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Entro en delete");
//int borrar = Integer.parseInt(req.getParameter("id"));
Integer borrar = Integer.valueOf(req.getParameter("id"));
service srvc = new service();

srvc.elimina(borrar);

PrintWriter out = resp.getWriter();


resp.setContentType("application/json");
resp.setCharacterEncoding("UTF-8");
out.print("Usuario borrado ok");
out.flush();

5
JAVA – WebApp – Listar
package ar.cac;

import java.io.IOException;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.util.Iterator;
import java.util.Map;

// la forma de llamar al servlet sera http://localhost:8080/servlet/applistar


@WebServlet("/applistar")
public class applistar extends HttpServlet {

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

String patron = req.getParameter("patron");

//Mostrar los parametros que llegan


Map params = req.getParameterMap();
Iterator i = params.keySet().iterator();

while ( i.hasNext() )
{
String key = (String) i.next();
String value = ((String[]) params.get( key ))[ 0 ];
System.out.println(key + " - "+ value);
};

System.out.println(patron);
service lst = new service();
System.out.println(lst.listado(patron));
resp.getWriter().println(lst.listado(patron)); //Devuelvo el json que se ajusta al patron

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String patron = req.getParameter("patron");
System.out.println(patron);
service lst = new service();
resp.getWriter().println(lst.listado(patron)); //Devuelvo el json que se ajusta al patron
}

6
JAVA – Filtro Cors
package ar.cac;

import java.io.IOException;
import java.util.List;

import jakarta.servlet.Filter;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.annotation.WebFilter;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

@WebFilter(urlPatterns = { "/*" })
public class CorsFiltro implements Filter {

private List<String> origins = List.of(


"http://localhost:5500",
"http://127.0.0.1:5500",
"http://gara.ddns.net"
); //spring
//private List<String> origins = List.of(); //spring

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)


throws IOException, ServletException {

//esto viene desde el front


String origin = ((HttpServletRequest) request).getHeader("origin");

//ese front esta permido?


if (origin != null && origins.contains(origin)) {
((HttpServletResponse) response).addHeader("Access-Control-Allow-Origin", origin);
/* ((HttpServletResponse) response).addHeader("Access-Control-Allow-Origin", "*"); */
((HttpServletResponse) response).addHeader("Access-Control-Allow-Methods", "POST, GET,
OPTIONS, DELETE, PUT");
((HttpServletResponse) response).addHeader("Access-Control-Allow-Headers", "*");
}
System.out.println("CorsFiltro: "+((HttpServletRequest) request).getMethod());
chain.doFilter(request, response);

You might also like