E ai, cara…beleza??
seguinte…peguei o arquivo .zip do chat q vc fez…mas nao consegui roda-lo p/ ver…
como faco p/ executa-lo???
eh q to querendo fazer um chat aqui em java puro, nao em servlets…apenas p/ usa-lo dentro de minha rede…
obrigado
E ai, cara…beleza??
seguinte…peguei o arquivo .zip do chat q vc fez…mas nao consegui roda-lo p/ ver…
como faco p/ executa-lo???
eh q to querendo fazer um chat aqui em java puro, nao em servlets…apenas p/ usa-lo dentro de minha rede…
obrigado
opa rafa, blz?
entao, o projeto do chat eh baseado em servlets. se voce tem interesse em criar um projeto de chat em aplicacao tera que seguir outro esquema.
eh isso que quer?
as limitacoes das servlets eh o problema da conexao intermitente, que eh resolvida no exemplo que passo.
qual o problema que esta tendo ao compilar/testar?
gui
entao cara…
eu consegui executar a tela de Login, mas ao tentar entrar, dah erro de NullPointer…
como faco exatamente p/ executar o chat?? precisa ter algum tipo de servidor rodando??
me passe os passos certos p/ conseguir…
obrigado cara
entao. os passos de instalacao sao os mais simples possiveis.
basta colocar o jar num local acessivel pela sua web application e acessa-lo pelo browser
o nullpointer eh um tanto quanto estranho
recomendo:
se vc puder me passar esses dados eu posso reproduzir o erro aqu ie ver o q esta acontecendo
abraco
gui
entao cara…
eu uso o tomcat aqui como servidor…
entao, onde devo colocar o .jar??
eu estava acessando a class Login diretamente do browser…nao sabia q podia acessa-lo diretamente do .jar…
valeu cara…
opa rafael, tudo bem?
entao, passo a passo
voce tem o .jar, pegue ele e coloque no diretorio lib que voce tem da sua aplicacao. por exemplo:
examples/WEB-INF/lib
(talvez o diretorio lib nao exista, basta criar)
ai voce acessa a servlet de login e tenta efetuar o login
se ocorrer uma exception, envie ela por favor, sem ela nao da para saber o q ocorre de errado
guilherme
ainda nao foi dessa vez, cara…
tentei executar, mas aidna ocorre NullPointer …
diz q ocorre na linha 93 da classe login, no metodo doPost…
entao, tem como me passar a Stack inteira? isto significa, quem chamou o q?
entao cara…
executei a classe Login e qdo digito o login e clico em Entrar, aparece essa tela…
type Exception report
message Internal Server Error
description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
at Login.doPost(Login.java:93)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
at java.lang.Thread.run(Unknown Source)
se vc souber o q isso significa…
entaum
olhando o codigo fonte da versao, indica a linha que voce mencionou:
res.getWriter().print(
"<html>
"
+ " <frameset rows=*,100>
"
+ " <frame name="text" src=""
+ this.getClass().getPackage().getName()
+ ".Room">
"
+ " <frame name="form" src=""
+ this.getClass().getPackage().getName()
+ ".Form">
"
+ " </frameset>
"
+ "</html>");
Sendo a linha mencionada justo a que chama o getWriter().println().
Isso significa que o objeto res ou o metodo getWriter() estao retornando NULL. Isso seria um TANTO quanto estranho.
Um teste bom para ser feito eh alterar a linha unica acima para as linhas seguinte:
if(res==null) {
System.out.println("res==null");
log("res==null");
}
if(res.getWriter()==null) {
System.out.println("res.getWriter()==null");
log("res.getWriter()==null");
}
if(this.getClass()==null) {
System.out.println("this.getClass()==null");
log("this.getClass()==null");
}
if(this.getClass().getPackage()==null) {
System.out.println("this.getClass().getPackage()==null");
log("this.getClass().getPackage()==null");
}
if(this.getClass().getPackage().getName()==null) {
System.out.println("this.getClass().getPackage().getName()==null");
log("this.getClass().getPackage().getName()==null");
}
res.getWriter().print(
"<html>
"
+ " <frameset rows=*,100>
"
+ " <frame name="text" src=""
+ this.getClass().getPackage().getName()
+ ".Room">
"
+ " <frame name="form" src=""
+ this.getClass().getPackage().getName()
+ ".Form">
"
+ " </frameset>
"
+ "</html>");
A alteracao nao ira resolver o problema, mas ao ser rodado, o programa ira nos mostrar tanto no arquivo de log do seu tomcat quanto no output dele, qual objeto tem valor null (que nao deve ser os dois primeiros mas sim um dos outros seguintes)…
Se voce tiver problemas compilando o codigo da uma avisada.
Fico aguardando o resultado do teste (as saidas).
Mais uma perguntinha, qual o JDK que voce esta usando?
Guilherme
entao Guilherme…
fiz aquela alteracao q vc disse e apareceu o seguinte erro no prompt…
this.getClass().getPackage()==null
como resolve-lo??
ate mais.
entao Guilherme…fiz aquela alteracao q vc disse e apareceu o seguinte erro no prompt…
this.getClass().getPackage()==nullcomo resolve-lo??
ate mais.
MUITO interessante…
significa que o package da classe eh nulo, um tanto quanto estranho.
o negocio eh trocar o codigo:
" + this.getClass().getPackage().getName() + "
por:
br.guj.chat.servlet
isso resolve o problema com certeza.
voce tem como me falar a versao do jdk ou jre que voce esta usando? pq o metodo getPackage() eh do java e eh estranho retornar null
de qq jeito vou alterar o fonte do .zip e reenviar ainda hoje pro guj
guilherme[/code]
valeu Guilherme…
isso resolveu mesmo o problema…agora consegui rodar o chat…
obrigado
Podem mandar os fontes desse chat pra mim…
estao junto ao tutorial de como fazer um chat!
mans eu quero criar um chat
quem solber fasser pega ai meu msn : [email removido]