Hello, what I want to do is redirect to a servlet from a jsp using ajax, since I have to send data that are not in the form, but should not be seen in the url colo are mascot, age and the token since the latter expires every so often, so it must be sent to know if it is still valid and if so in the servlet make use of the data written by the user and sent anonymously
This is the code in js
$("#forma").submit(function () {
var name = $('#nombre').val();
var ape = $('#apellido').val();
$.ajax({
url: '/TomarValor',
type: 'POST',
data: {nombre: name, apellido: ape, mascota: yuki, edad:22, token:qwerty123}
});
});
este es el código html
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>submit demo</title>
<style>
p {
margin: 0;
color: blue;
}
div,p {
margin-left: 10px;
}
span {
color: red;
}
</style>
</head>
<body>
<p>datos del usuario</p>
<form id="forma">
<div>
<input type="text" id="nombre" placeholder="nombre">
<input type="text" id="apellido" placeholder="apellido">
<button type="submit" >enviar</button>
</div>
</form>
<span></span>
</body>
</html>
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
@WebServlet (name="TakeValue", urlPatterns = {"/ TomarValor"}) public class TomarValor extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String nombre = request.getParameter("nombre");
String apellido = request.getParameter("apellido");
String edad = request.getParameter("edad");
String mascota = request.getParameter("mascota");
String token=request.getParameter("token");
try (PrintWriter out = response.getWriter()) {
if(token.equals("qwerty123")){
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Valores por post jquery</title>");
out.println("</head>");
out.println("<body>");
out.println("nombre " + nombre);
out.println("apellido " + apellido);
out.println("edad " + edad);
out.println("mascota " + mascota);
out.println("</body>");
out.println("</html>");
}else{
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Error</title>");
out.println("</head>");
out.println("<body>");
out.println("El token esta mal");
out.println("<a href='generarToken'>generar nuevo token</a>");
out.println("</body>");
out.println("</html>");
}
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
String nombre = request.getParameter("nombre");
String apellido = request.getParameter("apellido");
String edad = request.getParameter("edad");
String mascota = request.getParameter("mascota");
String token=request.getParameter("token");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
if(token.equals("qwerty123")){
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Valores por post jquery</title>");
out.println("</head>");
out.println("<body>");
out.println("nombre " + nombre);
out.println("apellido " + apellido);
out.println("edad " + edad);
out.println("mascota " + mascota);
out.println("</body>");
out.println("</html>");
}else{
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Error</title>");
out.println("</head>");
out.println("<body>");
out.println("El token esta mal");
out.println("<a href='generarToken'>generar nuevo token</a>");
out.println("</body>");
out.println("</html>");
}
}
}
} @Override public String getServletInfo () { return "Short description"; } //
}