Tenho um sistema feito com auxilio da apostila fj21
ele funcionava perfeitamente com tomcat
quando instalei o glasfish para alterar as servlets ele não funcionou de maneira nenhum
então alterei ele de novo pra voltar a rodar com tomcat
mas agora não funciona mais com nenhum dos dois
alias, quando adiciono ou altero algum dado no banco vai tudo bem
erro:
GRAVE: Servlet.service() for servlet jsp threw exception
org.apache.el.parser.ParseException: Encountered " "}" "} "" at line 1, column 3.
Was expecting one of:
<INTEGER_LITERAL> ...
<FLOATING_POINT_LITERAL> ...
<STRING_LITERAL> ...
"true" ...
"false" ...
"null" ...
"(" ...
"!" ...
"not" ...
"empty" ...
"-" ...
<IDENTIFIER> ...
at org.apache.el.parser.ELParser.generateParseException(ELParser.java:2142)
at org.apache.el.parser.ELParser.jj_consume_token(ELParser.java:2024)
at org.apache.el.parser.ELParser.Unary(ELParser.java:951)
at org.apache.el.parser.ELParser.Multiplication(ELParser.java:711)
at org.apache.el.parser.ELParser.Math(ELParser.java:631)
at org.apache.el.parser.ELParser.Compare(ELParser.java:443)
at org.apache.el.parser.ELParser.Equality(ELParser.java:337)
at org.apache.el.parser.ELParser.And(ELParser.java:281)
at org.apache.el.parser.ELParser.Or(ELParser.java:225)
at org.apache.el.parser.ELParser.Choice(ELParser.java:182)
at org.apache.el.parser.ELParser.Expression(ELParser.java:174)
at org.apache.el.parser.ELParser.DynamicExpression(ELParser.java:146)
at org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:43)
at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:114)
at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:172)
at org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:216)
at org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:937)
at org.apache.jsp.lista_002dcontatos_002delegante_jsp._jspx_meth_c_005fforEach_005f0(lista_002dcontatos_002delegante_jsp.java:191)
at org.apache.jsp.lista_002dcontatos_002delegante_jsp._jspService(lista_002dcontatos_002delegante_jsp.java:110)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
pagina jsp que não roda:
<!-- importando as taglibs do jstl -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<title>Lista de contatos</title>
<body>
<!-- importando o cabeçalho através do jstl -->
<c:import url="cabecalho.jsp" />
<!--criando o DAO-->
<jsp:useBean id="dao"
class="br.com.anderson.agenda.jdbc.dao.ContatoDAO" />
<table border=2>
<tr>
<th>Id</th>
<th>Nome</th>
<th>E-mail</th>
<th>Endereço</th>
<th>Data Nascimento</th>
</tr>
<!-- percorre contatos montando as linhas da tabela -->
<!-- jstl core: foreach-var:define o nome da variavel para cada iteração do laço
items:o método a ser executado do objeto para fazer a iteração
varStatus:inteiro para fazer a contagem das iterações -->
<c:forEach var="contato" items="${dao.lista}" varStatus="id">
<!-- usando o inteiro para pintar as linhas da tabela -->
<tr bgcolor="#${id.count %2==0 ? 'aaee88' : 'ffffff' }">
<!-- usanto EL para puxar os registros de cada iteração do laço
${} é a EL padrão -->
<td>${contato.id }</td>
<td>${contato.nome }</td>
<!-- core choose: alternativa ao if - parecido com switch case utiliza when para cada caso e otherwise como default -->
<!-- o teste é feito através de EL -->
<td><c:choose>
<c:when test="${not empty contato.email }">
<a href="mailto:${contato.email }">${contato.email }</a>
</c:when>
<c:otherwise>E-mail não informado</c:otherwise>
</c:choose></td>
<td>${contato.endereco }</td>
<td>
<!-- fmt - taglib jstl para formatação -->
<!-- formatDate - usado para formatar datas - value:valor a ser formatado
pattern: padrão para visualização -->
<fmt:formatDate value="${contato.dataNascimento.time }" pattern="dd/MM/yyyy" />
</td>
</tr>
</c:forEach>
</table>
<a href="adiciona-contato.jsp">Novo</a>
<a href="altera-contato.jsp">Alterar</a>
<a href="remove-contato.jsp">Remover</a>
<!-- importando o rodapé através do jstl -->
<c:import url="rodape.jsp" />
</body>
</html>