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! :)