Jsp funciona local mas na web não, mesmo codigo

olá pessoal
tenho um pagina jsp bem simples, que apenas imprime “alo mundo”
quando rodo localhost funciona
quando roda no meu servidor, roda 100 %
dae outra classe, que eu uso para chamar um relatorio .jasper e abrir ele via pdf
local funciona
na web não

na web da o seguinte erro

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: Cannot allocate servlet instance for path /web/servlet/ExecutaRelatorio
	org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:389)
	org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:134)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
	java.security.AccessController.doPrivileged(Native Method)
	javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
	org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
	org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)

root cause

java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/JRException
	java.lang.Class.getDeclaredConstructors0(Native Method)
	java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
	java.lang.Class.getConstructor0(Class.java:2699)
	java.lang.Class.newInstance0(Class.java:326)
	java.lang.Class.newInstance(Class.java:308)
	org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:370)
	org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:134)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
	java.security.AccessController.doPrivileged(Native Method)
	javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
	org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
	org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)

root cause

java.lang.ClassNotFoundException: net.sf.jasperreports.engine.JRException
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1362)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)
	java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	java.lang.Class.getDeclaredConstructors0(Native Method)
	java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
	java.lang.Class.getConstructor0(Class.java:2699)
	java.lang.Class.newInstance0(Class.java:326)
	java.lang.Class.newInstance(Class.java:308)
	org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:370)
	org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:134)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
	java.security.AccessController.doPrivileged(Native Method)
	javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
	org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
	org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5 logs.
Apache Tomcat/5.5

parece que ele não esta encontrando o jar do ireport
mas a estrutura que testo localhost é a mesma do servidor
e os arquivos estão atualizados, sem erros

o que pode ser

obrigado

Olá,

… de uma olha se realmente o .war tem os jars na pasta lib.
Pois, pode ser que a IDE não esteja colocando os jars necessários na pasta lib.

sim
na pasta lib estao todos os jars …
agora .war ???
quando rodei local nao mexi em nenhum .war

[quote=marcoscorso]sim
na pasta lib estao todos os jars …
agora .war ???
quando rodei local nao mexi em nenhum .war[/quote]

Bom … quando vc joga no servidor web … vc envia o pacote .war ou alguma outra coisa ?

SE for o war, pode ser que quando o war é gerado, esteja faltando algumas libs.

ai que esta
não mexo com nenhum war
nem sei da existencia desse arquivo
nunca ouvi falar dele

o que é esse arquivo, para que serve, como funciona ?
obrigado

[quote=marcoscorso]ai que esta
não mexo com nenhum war
nem sei da existencia desse arquivo
nunca ouvi falar dele

o que é esse arquivo, para que serve, como funciona ?
obrigado[/quote]

Na verdade é um pacote java web, ao inves de jar ele é war.

Como vc disponibiliza o aplicativo na web, vc pega e joga uma pasta… gera algum pacote e deploya no servidor … como vc faz ?

eu apenas mando todos os arquivo ( class, jasper, jar, … ) via ftp para o site e rodo ele …

tudo o que tem no ambiente local tem no servidor ? … as libs são as mesmas? …

sim
eu deleto a pasta e depois mando toda ela
pasta \webapps\curso por exemplo, mando a pasta curso
vai a web-inf, o web.xml, a pasta classes e a lib
é a mesma pasta que eu rodo local

o jar do jasperrepot está na lib do servidor? Pois o erro acusado é que a classe não net.sf.jasperreports.engine.JRException não foi encontrada, por isso acho que o jar não está no servidor, ou então por algum motivo o servidor não está reconhecendo o jar, tente reestartar o servidor, ou deployar todo o pacote novamente. Porque isso esta muito estranho mesmo.

olá
não mexi nos jar
apenas criei outro programa semelhante
e novamente o mesmo erro
local funciona
na web não
segue erro

java.lang.StringIndexOutOfBoundsException: String index out of range: -2
	java.lang.String.substring(String.java:1937)
	classe.Codigo_barra.<init>(Codigo_barra.java:115)
	classe.Boleto.processRequest(Boleto.java:108)
	classe.Boleto.doGet(Boleto.java:195)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	sun.reflect.GeneratedMethodAccessor87.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
	java.security.AccessController.doPrivileged(Native Method)
	javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
	org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
	org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)

engraçado que aparece erro de string, mas local, apontando para a mesma base de dados, mesmos fontes, tudo igualzinho …

   classe.Codigo_barra.<init>(Codigo_barra.java:115) 

Na linha 115 da sua classe Codigo_barra.java, você está tentando acessar pegar um pedaço de String usando um índice inválido.
Posta o código do Codigo_barra.java que dará para explicar melhor.

mas e porque que local funciona ?
só da esse erro na web …
se fosse erro de programação teoricamente daria erro local
fiz um erro bobo e dae local apareceu
mas esse só na web
em todo caso segue o fonte

BigDecimal valor100 = new BigDecimal(100.00);
BigDecimal valor1 = new BigDecimal(35.00); ;
valor1  = valor1.multiply(valor100) ;		 
String bigtostring = valor1.toString();
int tamanhovalor =   bigtostring.length();
tamanhovalor =  (tamanhovalor  -  3 ) ;		 
String esse =  bigtostring.substring(0,tamanhovalor );
int preenchidos1 = esse.length();
int preencher1 = 10 - preenchidos1;

String preenche_zero1 = "" ;
for ( int i1 = 0 ; i1 < preencher1 ; i1++ ) {
     preenche_zero1 += "0" ;
}
 		
String correto1 = preenche_zero1 + esse;

Este trecho de código não contém erros.
Mas o log q vc mostrou dizia:

 java.lang.StringIndexOutOfBoundsException: String index out of range: -2  
     java.lang.String.substring(String.java:1937)  
     classe.Codigo_barra.<init>(Codigo_barra.java:115)  
...

Indicando erro na linha 115 do Codigo_barra.

Supondo que o trecho que você enviou contenha a linha 115 do seu arquivo .java, e como você disse que localmente funciona e no servidor dá erro, então provavelmente você está com duas versões diferentes. Uma rodando no servidor e uma local.

Como você disse que faz deploy jogando o que tem diretamente no servidor, pode ser necessário:

  • reiniciar o servidor de aplicação (só o container)
    ou
  • apagar a pasta work, cache, … este tipo de coisa
    Vc chegou a fazer isto?