错误404发生在控制器(Spring)中配置的页面



在我的春季应用程序中,我有以下表格,其操作将触发我的控制器的方法:

<form method="POST" action="cadastra_evento.html">
        <input type="text" name="nome" placeholder="Nome" size=20 maxlength=40> <br/>
        <input type="text" name="descricao" placeholder="Descri&ccedil;&atilde;o" size=30 maxlength=100> <br/>
        <h3>Periodo da Data</h3>
        inicio: <input name="data_inicial" placeholder="DD-MM-AAAA" pattern="d{2}-d{2}-d{4}" /> <br/>
        final: <input name="data_final" placeholder="DD-MM-AAAA" pattern="d{2}-d{2}-d{4}" /> <br/>
        <h3>Periodo do Hor&aacute;rio</h3>
        inicio: <input name="hora_inicial" placeholder="HH:MM:SS" pattern="d{2}:d{2}:d{2}" /> <br/>
        final: <input name="hora_final" placeholder="HH:MM:SS" pattern="d{2}:d{2}:d{2}" /> <br/>
        <input type="text" name="duracao" placeholder="dura&ccedil;&atilde;o" size=20 maxlength=2> Minutos <br/>
        <button type="submit" class="btn btn-lg btn-primary">Cadastrar</button>
    </form>

与此页面关联的方法是:

@RequestMapping(value="/cadastra_evento", method=RequestMethod.POST)
    public ModelAndView cadastra_evento(@RequestParam("nome") String nome, @RequestParam("descricao") String descricao, @RequestParam("data_inicial") String data_inicial, @RequestParam("hora_inicial") String hora_inicial, @RequestParam("data_final") String data_final, @RequestParam("hora_final") String hora_final, @RequestParam("duracao") String duracao)
    {
        if(sessao != null)
        {
            if(sessao.getUsuario().temAutorizacao("cad_evento"))
            {
                Date d_inicio = new Date(Date.parse(data_inicial));
                Date d_final = new Date(Date.parse(data_final));
                Time h_inicio = new Time(Time.parse(hora_inicial));
                Time h_final = new Time(Time.parse(hora_final));
                int duracao2 = Integer.valueOf(duracao).intValue();
                EventoDAO evento = new EventoDAO(nome, descricao, d_inicio, d_final, h_inicio, h_final, duracao2, sessao.getUsuario());
                int saida = evento.cadastra();
                if(saida == 0) 
                {
                    ModelAndView mav = new ModelAndView();
                    mav.addObject("message", "Erro ao cadastrar o evento");
                    return mav;
                }
                else
                {
                    ModelAndView mav = new ModelAndView();
                    mav.setViewName("/listagem_evento");
                    return mav;
                }
            }
            else
            {
                ModelAndView mav = new ModelAndView();
                mav.addObject("message", "Usuário sem permissão de acesso");
                return mav;
            }
        }
        else 
        {
            ModelAndView mav = new ModelAndView();
            mav.setViewName("/usuario_login_page");
            return mav;
        }
    }

发生的事情是,当我单击"提交"按钮时,我会收到错误消息404,因为系统正在尝试到达页面/web-inf/jsp/cadastra_evento.jsp,这是不存在的。我有另一个页面,该页面使用了相同的方案,login.htm,由登录页面触发,但该页面正常工作。

有人可以在上面的代码中找到任何错误?

ps。:我尝试使用请求Param的属性"值"的名称与方法的名称不匹配(我考虑过某种冲突),但仍然不起作用)。

尝试在控制器请求映射之后添加.html

@RequestMapping(value="/cadastra_evento.html", method=RequestMethod.POST)

或从表格中删除.html

<form method="POST" action="cadastra_evento">

最新更新