Problemas em um código

2 respostas
G

Boa tarde pessoal,

Bom sou um iniciante em java e estou estudando Servlets agora desenvolvi esse código:

import javax.servlet.<em>;

import javax.servlet.http.</em>;

import <a href="http://java.io">java.io</a>.<em>;

import java.util.</em>;

import java.sql.Connection;

import java.sql.*;

import java.sql.DriverManager;

public class ServletLogin extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

sendLoginForm(response, false);

}

private void sendLoginForm(HttpServletResponse response, boolean withErrorMessage) throws ServletException, IOException {

response.setContentType(“text/html”);

PrintWriter out = response.getWriter();

out.println("<HTML>");

out.println("<HEAD>");

out.println("<TITLE>Login</TITLE>");

out.println("</HEAD>");

out.println("<BODY>");

out.println("<CENTER>");

if (withErrorMessage)
out.println(“O Login falhou. Por favor tente novamente.<BR>”);

out.println("<BR>");

out.println("<BR><H2>Página de Login</H2>");

out.println("<BR>");

out.println("<BR><FORM METHOD=POST>");

out.println("<TABLE>");

out.println("<TR>");

out.println("<TD>Nome de Usuário:</TD>");

out.println("<TD><INPUT TYPE=TEXT NAME=userName></TD>");

out.println("</TR>");

out.println("<TR>");

out.println("<TD>Senha:</TD>");

out.println("<TD><INPUT TYPE=PASSWORD NAME=password");

out.println("</TR>");

out.println("<TR>");

out.println("<TD ALIGN=RIGHT COLSPAN=2>");

out.println("<INPUT TYPE=SUBMIT VALUE=Login></TD>");

out.println("</TR>");

out.println("</TABLE>");

out.println("</FORM>");

out.println("</CENTER>");

out.println("</BODY>");

out.println("</HTML>");

}

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String userName = request.getParameter(userName);

String password = request.getParameter(password);

if (login(userName, password)) {

RequestDispatcher rd = request.getRequestDispatcher(ServletPrimitivo);

rd.forward(request, response);

}

else {

sendLoginForm(response, true);

}

}
boolean login(String userName, String password) {

try {

Class.forName(“com.mysql.jdbc.Driver”);

Connection con = DriverManager.getConnection(“jdbc:mysql://localhost/teste1);

System.out.println(“got connection”);
Statement s = con.createStatement();
  String sql = "SELECT userName FROM users" + "WHERE userName='" + userName + "'" + " AND password='" + password + "'";
  ResultSet rs = s.executeQuery(sql);
  if (rs.next()) {
        rs.close();
        s.close();
        con.close();
        return true;
 }
 rs.close();
 s.close();
 con.close();
}

catch (ClassNotFoundException e) {

System.out.println(e.toString());

}
catch (SQLException e) {

System.out.println(e.toString());

}
catch (Exception e) {

System.out.println(e.toString());

}

return false;

}

}

Mas não sei pq sempre que vou testar esse servlet me apareçe uma mensagem de erro no Tomcat com a mensagem abaixo:

HTTP Status 500 -

type Exception report

message

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

exception

javax.servlet.ServletException: Servlet execution threw an exception

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:222)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)

at filters.ExampleFilter.doFilter(ExampleFilter.java:102)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:445)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)

at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)

at java.lang.Thread.run(Thread.java:595)

root cause

java.lang.NoClassDefFoundError: org/aspectj/lang/Signature

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:164)

at ServletLogin.login(ServletLogin.java:67)

at ServletLogin.doPost(ServletLogin.java:56)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)

at filters.ExampleFilter.doFilter(ExampleFilter.java:102)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:445)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)

at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)

at java.lang.Thread.run(Thread.java:595)

E já tentei de tudo que pude imaginar agora já me levantei várias dúvidas até sobre se eu instalei o driver do banco corretamente.

Enfim não consigo mesmo encontrar o erro, agradeçeria uma luz ou então algum tutorial que explicasse mais detalhadamente sobre conexões com banco de dados para Servlets.

Grato pela Atenção

Gabriel

2 Respostas

P

A versão do seu driver deve ser um build debug e esta versão precisa de um outro jar para poder rodar aspectjrt.jar .

Instale outra versao do driver ou configure a lb aspectjrt.jar em seu classpath.

http://dev.mysql.com/doc/refman/5.0/en/cj-system-requirements.html

G

Não a build version é a que tem o nome -g no final e a minha é apenas bin.jar ou seja não sei o que ocorre mas estou tentando instalar outro driver

Criado 20 de julho de 2006
Ultima resposta 21 de jul. de 2006
Respostas 2
Participantes 2