JSP (Java Server Page) - Request method "POST" not supported

 
Vista:

Request method "POST" not supported

Publicado por josedelfer (1 intervención) el 10/06/2019 18:55:34
Hola a todos, necesito ayuda con un problema que no consigo solucionar.

Una pequeña aplicación montada con Maven, Spring e Hibernate. La idea es una página jsp muestra una serie de filtros para buscar en una BD y mostrar los resultados de la búsqueda. Tenemos una primera estructura simple para probar la conexión con BD pero al hacer la llamada nos devuelve un error:

HTTP 405 - Method Not Allowed
Request method 'POST' not supported

EL jsp sería este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Busqueda</title>
<link href="estilo.css" rel="stylesheet" type="text/css">
</head>
<body>
	<div id="escudo">
		<img alt="escudo" src="icono.png">
	</div>
	<form:form modelAttribute="puesto">
		<h3>SELECCIONA LOS FILTROS DE BÚSQUEDA</h3>
		<form action="buscar.do" method="post">
			<div>
				<select name="puesto" size="1">
			         <option value="Opcion 1">Opcion 1</option>
			         <option value="Opcion 2">Opcion 2</option>
			         <option value="Opcion 3">Opcion 3</option>
			         <option value="Opcion 4">Opcion 4</option>
			         <option value="Opcion 5">Opcion 5</option>
			     </select>
			     <br/>
			     <br/>
<!-- 			</div> -->
 
<!-- 			<div> -->
				<input type="submit" value="Buscar" name="accion">
				<input type="submit" value="Volver" name="accion">
			</div>
 
		</form>
	</form:form>
</body>
</html>


La acción, el buscar.do debería hacer saltar este Controller:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.spring.direcciondeportiva.controlador;
 
import java.util.List;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
 
import com.spring.direcciondeportiva.dao.BusquedasDAO;
import com.spring.direcciondeportiva.modelo.Jugador;
 
@Controller
@RequestMapping("/buscar.do")
public class BuscarController {
 
	@Autowired
	BusquedasDAO daos;
 
	@RequestMapping(method=RequestMethod.GET)
	public String preparaForm(Model modelo) {
		System.out.println("GET BUSCAR");
		return "buscar";
	}
 
    @RequestMapping(value="/buscar.do", method=RequestMethod.POST)
    public String iniciar(@ModelAttribute String puesto, Model modelo) {
    	System.out.println("Salta el buscar");
//    	if(accion.equalsIgnoreCase("Buscar")) {
    		List<Jugador> jugadoresPosicion = daos.busquedaPorPosicion(puesto);
    		if(!(jugadoresPosicion.isEmpty()) ){
    			modelo.addAttribute("encontrados", jugadoresPosicion);
    			return "encontrados";
    		}else {
    			return "noexiste";
//    		}
//    	}else if(accion.equalsIgnoreCase("Volver")) {
//    		return "inicio";
//    	}else {
//    		return "error";
    	}
    }
 
}


He probado cientos de cosas, he mirado de todo pero no consigo hallar con la solución, ¿Alguien podría echarme una mano?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder