Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

12
respostas

!!!!!!!!!!!! Preciso de ajuda imediatamente !!!!!!!!!!!!!

Eu tinha mandado essa duvida no forum mas n foi respondido !!

To ansioso em continuar esse curso até final mas esse problema está atrapalhando.

Depois de muito problemas que resolvi no tomcat eu subi meu projeto e aparece meu file.jsp na web, quando tento clicar o botão submit, teoricamente, era para ser aberto servlet com aquele "WebServlet" com argumento que escrevi no file.jsp para chegar até nesse servlet. Porém aparece o problema, siga as imagens: Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

12 respostas

Oie Herbety, tudo bem contigo?

Pelo que vejo o erro está acontecendo na linha 48 da sua classe "CadastrarEmployeeServlet" e esse "NullPointerException" significa que algo que não deveria estar "null" está "null". Sendo assim, acredito que o problema seja o método request.getParameter("salario"); da linha 48 que esteja vindo vazio, já que inclusive não consegui ver ele sendo implementado no forms da sua "jsp". Então, tente adicionar algo assim na sua "jsp":

<input type="number" name="salario"/>

Faça o teste, veja se funciona!

Se o problema persistir estarei por aqui :)

Olá tudo bem sim e vc...

Eu fiz outro projeto novo. Fiz bem mais simples para ver se não aparecia o mesmo erro, porém apareceu ! Dps de clicar no botão de submit o web era para ser direcionado no Servlet com aquela notação de url que atribui no atributo do

. Mas aparece esse erro como sempre, arquivo n encontrado, tentei achar erros mas n acho:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Pode me ajudar Porfavor ?

Opa Heberty, perdão pela demora!

Por algum motivo ele não está conseguindo achar o seu servlet "PegarInformacaoServlet".

Tente fazer o processo de "clean" que eu mencionei no tópico que vou disponibilizar abaixo:

Veja se esse processo funciona!

Se não, vou pedir que você copie e cole todo o seu código aqui, para eu conseguir conferir melhor.

Fico no aguardo!

Olá, eu tentei fazer dessa forma mas o problema persiste, vou passar meus códigos aqui mais organizado:

file Bem-vindo.jsp:


<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

Digite aqui: <input type="text" name="number" value="1 2 ou 3..."/>

<input type="submit">
________________________________________________________________________________________________________________________________________________________________

file PegarInformacaoServlet.java:


package config;

import java.io.IOException;

import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

/**

  • Servlet implementation class PegarInformacaoServlet */ @WebServlet("/pegarInformacao") public class PegarInformacaoServlet extends HttpServlet { private static final long serialVersionUID = 1L;

    /**

    • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub

      request.setAttribute("numero", request.getParameter("number")); RequestDispatcher rd = request.getRequestDispatcher("/funciona.jsp"); rd.forward(request, response);

      }

}


file funciona.jsp:


<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

Valor: ${numero}
_________________________________________________________________________________________________________________________________________________________________

?????

Oie Heberty, tudo bem contigo?

Perdão pela demora!

Tive que fazer uma pequena alteração no seu código da jsp do "Bem-vindo.jsp", segue abaixo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:url value="/pegarInformacao" var="link"/>

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<form action="${link}" method="post">

    Digite aqui: <input type="text" name="number" value="1 2 ou 3..."/>
    <input type="submit">        

</form>

</body>
</html>

Para fazer funcionar você vai precisar adicionar a library da "jstl 1.2" na pasta "lib" e fazer essas alterações do código que fiz acima.

Espero que agora funcione!

Qualquer coisa estarei por aqui :)

olá essa resolveu, mas no meu projeto que estou criando não está resolvendo ... Posso mandar link do meu github pra vc verificar ? porfavor, pois faz tempo que estou com esse tipo de problema na maioria dos meus projetos !

Pode mandar sim!

Ficarei no aguardo!

aqui está o meu link:

https://github.com/Heberty123/Spring/tree/master/workspaces/TestFunciona

O problema que está tendo é a busca da requisição do formulário para servlet, aparece o erro de 404, mas não acho nenhum erro...

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

?????

Oie Heberty!

Perdão pela demora! Acabei tendo outras demandas e só tive tempo de olhar direito seu código hoje.

Fiz algumas alterações na jsp "CadastrarInput" e na "CadastrarEmployeeServlet", veja abaixo:

CadastrarInput.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:url value="/cadastrarEmployee" var="link"/>

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>



<form action="${link}" method="post">

    <c:if test="${numberDeclarado == 1}">

    <h1>Cadatrando Gerente...</h1>

    <br/>
    <br/>
    <br/>

    Nome:    <input type="text" name="nome" value="nome"/>
    <br/>
    <br/>
    Salário: <input type="text" name="salario" value="salario"/>
    <br/>
    <br/>
    Data:    <input type="text" name="data" value="data"/>
    <br/>
    <br/>
    Senha:   <input type="text" name="senha" value="senha"/>
    <br/>
    <br/>
             <input type="hidden" name="number" value="${numberDeclarado}"/>
             <input type="hidden" name="number" value="Gerente"/>

    </c:if>

    <c:if test="${numberDeclarado == 2}">

    <h1>Cadatrando Diretor...</h1>

    <br/>
    <br/>
    <br/>

    Nome:    <input type="text" name="nome" value="nome"/>
    <br/>
    <br/>
    Salário: <input type="text" name="salario" value="salario"/>
    <br/>
    <br/>
    Data:    <input type="text" name="data" value="data"/>
    <br/>
    <br/>
    Senha:   <input type="text" name="senha" value="senha"/>
    <br/>
    <br/>
             <input type="hidden" name="number" value="${numberDeclarado}"/>
             <input type="hidden" name="position" value="diretor"/>

    </c:if>

    <c:if test="${numberDeclarado == 3}">

    <h1>Cadatrando Photographer...</h1>

    <br/>
    <br/>
    <br/>

    Nome:    <input type="text" name="nome" value="nome"/>
    <br/>
    <br/>
    Salário: <input type="text" name="salario" value="salario"/>
    <br/>
    <br/>
    Data:    <input type="text" name="data" value="data"/>
    <br/>
    <br/>
    Senha:   <input type="text" name="senha" value="senha"/>
    <br/>
    <br/>
             <input type="hidden" name="number" value="${numberDeclarado}"/>
             <input type="hidden" name="position" value="Photographer"/>

    </c:if>

        <input type="submit" />

</form>


</body>
</html>

CadastrarEmployeeServlet.java

@WebServlet("/cadastrarEmployee")
public class CadastrarEmployeeServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public CadastrarEmployeeServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub

        BancoDados banco = new BancoDados();
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

        String name = request.getParameter("nome");
        double Salario = Double.valueOf(request.getParameter("salario"));
        Date data = null;
        try {
            String dataStr = request.getParameter("data");
            data = sdf.parse(dataStr);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        Integer number = Integer.valueOf(request.getParameter("number"));
        String position = request.getParameter("position");


        if (number == 1) {


            banco.adiciona(new Gerente(name, Salario, data, position));

        }
        else if (number == 2) {


            banco.adiciona(new Diretor(name, Salario, data, position));
        }
        else {

            banco.adiciona(new Photographer(name, Salario, data, position));
        }


        request.setAttribute("nome_cadastrado", name);
        request.setAttribute("Employee", banco.getList());
        RequestDispatcher rd = request.getRequestDispatcher("/ListaCadastrada.jsp");    // esse "ListaCadastrada" não existe, por isso dá erro 404
        rd.forward(request, response);


    }
}

Fazendo essas alterações acima, aquele erro que estava acontecendo será resolvido! Entretanto, acontecerá o erro 404 devido a inexistência da JSP ListaCadastrada.

Espero ter ajudado! :)