HTTP Status 500

13 views
Skip to first unread message

Marcos Vinithius Melo Filho

unread,
Mar 11, 2014, 10:04:15 AM3/11/14
to ce...@googlegroups.com
Bom dia pessoal!

Estou um problema muito chato e realmente não sei mais o que fazer... Eu tenho um JSP e um Servlet...

JSP:

<%! TiposDeEnsaiosDAO tiposEnsaiosDao = new TiposDeEnsaiosDAO(); %>
<%! TiposDeEquipamentoDAO tiposEquipamentosDao = new TiposDeEquipamentoDAO();%>

<!DOCTYPE html>
<html>
    <head>
        <meta content="charset=UTF-8">
        <title>Página para relacionamento no BD</title>
    </head>
    <body>
        <p><h3>Selecione a relação das tabelas:</h3></p>
        <div id = "div-principal">
            <form method="post" action="servlet-relacionamento">
                <fieldset>
                    <legend>Ensaios e Equipamentos</legend>
                    <label for="Ensaios">Ensaios</label>
                    <select id="ensaio" name="ensaio">
                        <% for(TiposDeEnsaios ensaio : tiposEnsaiosDao.findAll()){ %>
                        <option value=<% ensaio.getId(); %>><%= ensaio.getNome() %></option>
                        <% }%>
                    </select>
                    <label for="Equipamentos">Equipamentos</label>
                    <select id="equipamento" name="equipamento">
                        <% for(TiposDeEquipamento equipamento : tiposEquipamentosDao.findAll()){ %>
                        <option value=<% equipamento.getId(); %>><%= equipamento.getNome() %></option>
                        <% }%>
                    </select>
                    <input type="submit" value="Cadastrar">
                </fieldset>
            </form>
        </div>
    </body>
</html>


Servlet:

public class ServletRelacionamento extends HttpServlet {

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
          
        String idEn = request.getParameter("ensaio");
        Long idEnsaio = Long.parseLong(idEn);
        
        String idEq = request.getParameter("equipamento");
        Long idEquipamento = Long.parseLong(idEq);

        TiposDeEnsaiosDAO ensaiosDao = new TiposDeEnsaiosDAO();
        TiposDeEquipamentoDAO equipamentoDao = new TiposDeEquipamentoDAO();
        TiposDeEquipamento tiposEq = equipamentoDao.load(idEquipamento);
        
        ensaiosDao.load(idEnsaio).getTiposDeEquipamentos().add(tiposEq);

        request.getRequestDispatcher("relacionamento.jsp").forward(request, response);    
    }
}

E quando mando rodar ele da o bendito erro 500, andei lendo na internet que isso quer dizer que o servidor não consegue ler meu código, existe algum erro, tudo bem, porém eu não vi nada D+ (Não sei vcs).

Leonardo

unread,
Mar 11, 2014, 10:06:40 AM3/11/14
to ce...@googlegroups.com
Olá,

envie-nos a stacktrace do seu erro 500;


--
Você recebeu essa mensagem porque está inscrito no grupo quot;CEJUG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cejug+un...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para ce...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/cejug.
Para mais opções, acesse https://groups.google.com/d/optout.

Marcos Vinithius Melo Filho

unread,
Mar 11, 2014, 10:10:21 AM3/11/14
to ce...@googlegroups.com

HTTP Status 500 -


type Exception report

message

descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NumberFormatException: For input string: ""

note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.1.2.2 logs.


GlassFish Server Open Source Edition 3.1.2.2

Efraim Gentil

unread,
Mar 11, 2014, 10:13:55 AM3/11/14
to ce...@googlegroups.com
Marcos, 

Você está tendo problema na conversão de um numero, provavelmente nessas linhas, pode ser que você não esteja fornecendo os valores numericos, ou simplesmente n esteja fornecendo valor nenhum, tente utilizar dentro de um try/catch para tratar conversões =) 

  String idEn = request.getParameter("ensaio");
        Long idEnsaio = Long.parseLong(idEn);
        
        String idEq = request.getParameter("equipamento");
        Long idEquipamento = Long.parseLong(idEq);
--
Atenciosamente,
Efraim Gentil - @efraimgentil

Marcos Vinithius Melo Filho

unread,
Mar 11, 2014, 10:18:25 AM3/11/14
to ce...@googlegroups.com
Ok, vou verificar!

Marcos Vinithius Melo Filho

unread,
Mar 11, 2014, 10:38:28 AM3/11/14
to ce...@googlegroups.com
Valeu parceiro, deu certo! fiz um tratamento, porém tinha alguns erros no meu JSP...

                    <select id="ensaio" name="ensaio">
                        <% for(TiposDeEnsaios ensaio : tiposEnsaiosDao.findAll()){ %>
                        <option value="<%=ensaio.getId() %>"><%=ensaio.getNome()%></option>
                        <% }%>
                    </select>
                    <label for="Equipamentos">Equipamentos</label>
                    <select id="equipamento" name="equipamento">
                        <% for(TiposDeEquipamento equipamento : tiposEquipamentosDao.findAll()){ %>
                        <option value="<%=equipamento.getId()%>"><%=equipamento.getNome()%></option>
                        <% }%>
                    </select>

Percebe-se que eu usei o sinal = e " " no VALUE do OPTION, pois é, não tinha me tocado, porém encontrei outro problema com os IDs, vou tentar resolver, caso não consiga, apelarei, rsrsrsrs... Obrigado!

Efraim Gentil

unread,
Mar 11, 2014, 10:46:34 AM3/11/14
to ce...@googlegroups.com
Marcos,

Outra sugestão, evita usar scriptlets, usa as tags do JSTL, seu código vai ficar bem mais limpo =) 


--
Você recebeu essa mensagem porque está inscrito no grupo quot;CEJUG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cejug+un...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para ce...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/cejug.
Para mais opções, acesse https://groups.google.com/d/optout.

Marcos Vinithius Melo Filho

unread,
Mar 11, 2014, 11:49:15 AM3/11/14
to ce...@googlegroups.com

Blz, valeu pela dica... Ainda to aprendendo, irei estudar...

Paulo Jr.

unread,
Mar 11, 2014, 5:49:40 PM3/11/14
to ce...@googlegroups.com
Efraim foi bem leve no sentido de sugestão de usar JSTL, usar JSTL tem que ser regra. Scriptlet vai te permitir usar o que tu quiser (já que é java) mas vai permitir você fazer umas coisas bem bizarras na JSP onde o foco não é código java mas apenas mostrar informações ao usuários. :) 

A apostila de web da caelum é aberta e pode ser acessada diretamente ou baixada com pdf. Da uma olhada nela que já tem o básico para aprender jstl lá. (http://www.caelum.com.br/apostila-java-web/)

E qualquer dúvida só perguntar no grupo que estamos aqui para ajudar :D

Abraço,
Paulo Alves Junior
Twitter: @paulojribp
Instrutor - Caelum | Ensino e Inovação
JugLeader CEJUG
Hurraa - OpenSource project to resource management

Marcos Vinithius Melo Filho

unread,
Mar 11, 2014, 5:52:20 PM3/11/14
to ce...@googlegroups.com

Valeu pela Paulo!

Feliz pela recepção e colaboração de vocês, espero um dia poder ajudar também.

Marcos Vinithius Melo Filho

unread,
Mar 11, 2014, 5:52:56 PM3/11/14
to ce...@googlegroups.com

*Valeu pela "dica" Paulo

Em 11/03/2014 18:49, "Paulo Jr." <paulo...@gmail.com> escreveu:
Reply all
Reply to author
Forward
0 new messages