Baixei uma apostila de introdução de Java para Web, e logo no início é ensinado como instalar o servidor Apache Tomcat. Os passos descritos são estes:
[quote]1. Certifique-se que você tenha o JDK (J2SE) instalado na sua máquina.
2. Faça o download dos binários da última versão do Apache Tomcat no próprio site da Apache. O binário vem empacotado em um arquivo zip.
3. Descompacte o zip no diretório onde deseja ter o Tomcat instalado (ex: ?C:?).
4. Edite o arquivo catalina.bat (catalina.sh, no Linux), que se encontra no diretório bin, adicionando a linha abaixo (no Linux omita a palavra SET):
SET JAVA_HOME=C:\Caminho-do-seu-jdk[/quote]
Baixei o Tomcat, escolhi uma pasta e coloquei. Mas não entendi como funciona este tal catalina.bat. Não sei onde devo adicionar esta linha SET. A variável de ambiente JAVA_HOME eu já tinha definido antes, exatamente com o que está nesta linha SET.
Mas acho que tem algo errado, pois o primeiro exemplo de Servlet da apostila não funciona, dá umas exceções, sendo uma delas ClassNotFoundException.
Mas eu apenas recortei e colei o código pronto da apostila, era só pra testar. Não tem o que dar errado ainda, apenas deve aparecer uma frase num arquivo html. Creio que o problema seja na instalação do Tomcat.
creio que seja um bom caminho para iniciar com java na web… [/quote]
Peguei esta apostila, mas acabei encalhando de novo… Eu faço exatamente o que é mandado e de novo nada funciona.
Estou compilando este código, exatamente como está na apostila:
public class JDBCExemplo {
public static void main(String[] args) {
try {
Class.forName(“com.mysql.jdbc.Driver”);
Connection con = DriverManager.getConnection(“jdbc:mysql://localhost/teste”, “root”, “”);
System.out.println(“Conectado!”);
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}[/code]
E é gerado este erro:
[code]com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
Last packet sent to the server was 0 ms ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2104)
at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:729)
at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at JDBCExemplo.main(JDBCExemplo.java:9)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.(Unknown Source)
at java.net.Socket.(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.(MysqlIO.java:276)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2027)
… 12 more
[/code]
O que está havendo?
Tem certeza que a url correta é essa? >> Copiei igual à do exemplo, não faço idéia de como funcione ainda.
O usuário do banco é root? >> Não sei o que é isso
A senha é em branco? >> também não sei.
O jar do mysql que vc tem possui a classe Driver.class dentro do pacote com.mysql.jdbc? >> Sim, possui.
O tomcat está funcionando direito.
Esta apostila me pareceu bem organizada, mas ela trata o usuário logo no primeiro capítulo como se ele já soubesse do assunto. Apenas copiei e colei o primeiro programa, entendi as explicações, baixei o jar mais novo do mysql, e o programa exemplo simplesmente não funciona.
Alguém conhece uma apostila ou livro bom de Java p/ Web? Estou tentando aprender, mas por falta de materiais bons pra iniciantes, já estou quase desistindo.