Cordiais saudações, executando um projeto Java Web no Eclipse Surgiu o erro abaixo:
# HTTP Status 404 – Não Encontrado
**Type** Status Report
**Message** The requested resource [/insert] is not available
**Description** The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
### Apache Tomcat/9.0.60
Antes não estava dando erro nenhum e tudo funcionava, mas depois que desliguei o programa começou a acontecer esse erro. veja o código fonte do Controller.java:
package controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.DAO;
@WebServlet(urlPatterns = { "/Controller", "/main", "/insert" })
public class Controller extends HttpServlet {
private static final long serialVersionUID = 1L;
DAO dao = new DAO();
public Controller() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String action = request.getServletPath();
System.out.println(action);
if (action.equals("/main")) {
contatos(request, response);
} else if (action.equals("/insert")) {
novoContato(request, response);
} else {
response.sendRedirect("index.html");
}
}
// Listar contatos
protected void contatos(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.sendRedirect("agenda.jsp");
}
// Novo contato
protected void novoContato(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//teste de recebimento dos dados do formulário
System.out.println(request.getParameter("nome"));
System.out.println(request.getParameter("fone"));
System.out.println(request.getParameter("email"));
}
}
O html pode ajudar a entender esse erro, veja o arquivo novo.html:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Agenda de contatos</title>
<link rel="icon" href="imagens/phone_icon.png">
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Criar novo contato</h1>
<form name="frmContato" action="/insert">
<table>
<tr>
<td><input type="text" name="nome" placeholder="Nome" class="Caixa1"></td>
</tr>
<tr>
<td><input type="text" name="fone" placeholder="Fone" class="Caixa2"></td>
</tr>
<tr>
<td><input type="text" name="email" placeholder="E-mail" class="Caixa1"></td>
</tr>
</table>
<input type="button" value="Adicionar" class="Botao1" onclick="validar()">
</form>
<script src="scripts/validador.js"></script>
</body>
</html>
Dentro do script validador.js não ocorre nenhum erro, mas vou mandar ele também, veja o arquivo abaixo:
/**
* Validador
* @Author Ronaldo Rodrigues Godoi
*/
function validar() {
let nome = frmContato.nome.value
let fone = frmContato.fone.value
if (nome === "") {
alert('Preencha o campo Nome')
frmContato.nome.focus()
return false
} else if (fone === "") {
alert('Preencha o campo Fone')
frmContato.fone.focus()
return false
} else {
document.forms["frmContato"].submit()
}
}
Alguém pode me ajudar a corrigir esse erro?
Muito obrigado,
Ronaldo
P.S.: Essa tela abaixo é o formulário que está dando problema.