description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet.init() for servlet jsp threw exception at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:946) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:655) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) 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:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475) 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.StandardContext.invoke(StandardContext.java:2347) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) 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:468) 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:174) 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:1027) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125) at java.lang.Thread.run(Thread.java:484)
root cause
java.lang.NoSuchMethodError at org.apache.jasper.compiler.TldLocationsCache.processJars(TldLocationsCache.java:202) at org.apache.jasper.compiler.TldLocationsCache.(TldLocationsCache.java:139) at org.apache.jasper.EmbededServletOptions.(EmbededServletOptions.java:350) at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:265) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:918) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:655) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) 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:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475) 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.StandardContext.invoke(StandardContext.java:2347) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) 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:468) 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:174) 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:1027) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125) at java.lang.Thread.run(Thread.java:484)
Jeg har altid kørt Resin,let og smertefrit når man ikke er den store serverfreak, men mit webhotel vil desværre skifte til Tomcat. så jeg tænkte jeg hellere måtte bide i det sure æble og prøve at installere det.
indtil videre har jeg blot downloadet tomcat, fulgt instruktioner til "test the server" på
Det er netop Levonline vi bruger. Og det har været yderst tilfredsstillende. Man får java, php, asp og hele dynen med i et first class webhotel, og det har indtil nu sådan set kørt upåklageligt.
Men Levonline skifter nu til tomcat nu. Man kan stadig få Resin i en periode vist, men de opgraderer ikke ti nyere versioner. Det er ret fucked, eftersom jeg også har klart bedre erfaringer med Resing end med tomcat.
du kan læse levonlines begrundelse for at skifte her.
Deres forklaring lyder da rigtig nok, men sandheden er nok nærmere at det med Tomcat kan tjene flere penge.
Jeg tror ikke et sekund på deres andre undskyldninger.
Men i have programmet 100% jsp korrekt kode kan tomcat også godt afvikle det, største problem er at tomcat performer en hel del dårligere, at den så er reference implementation er ikke nødvendigvis en fordel.
Der findes en del Amerikanske webhoteler der bruger Resin, men de koster desværre også oppe i den dyre ende :-(
Det er synd de skifter for de mister helt sikkert kunder på den bekostning.
Yes! de mister vist os og vores kunder! Jeg tror også at det hovedsageligt er økonomisk spørgsmål der gør at de skifter. Synd synd synd, så måtte de hellere have sat prisen en smule op.
Der findes forskellige servlet- og jsp-versioner, og Tomcat4 understøtter Servlet2.3 og jsp1.2.
Den indbyggede jsp-compiler i Tomcat benytter derfor bl.a. metoder fra servlet2.3. Det der så sker er, at af en eller anden mystisk grund, er det kun servlet2.2 der er understøttet. jsp-kompileren kalder en servlet2.3-metode, men da det kun er servlet2.2 der er understøttet, kan den så komme til at kalde en metode der ikke findes.
Jeg tror i hvert fald, at det er det der sker.
Men hvordan kan det opstå? Jeg tror at du et eller andet sted må have installeret en ældre srevlet-version, muligvis i forbindelse med installation af en resin, eller måske installation af en j2ee.
Så jeg tror, at der et eller andet sted i din classpath er en reference til enten en j2ee.jar eller en servlet.jar, som er af ældre dato. Så prøv lige at åbne en dosprompt, og fyr en
set classpath
kommando af. Mon der kan ske at stå noget med servlet.jar eller j2ee.jar et eller andet sted? Eller måske javax.jar.
En anden mulighed er, at der i din jdk-installation kan ligge noget og sejle rundt, som bliver inkluderet automatisk (også selvom det ikke kan ses i classpath). Så prøv lige at søge i din jdk-installation efter en af ovennævnte filer.
Hvis du finder en af ovennævnte filer, skulle du ved at nakke den, kunne få Tomcat til at køre.
Hej soelvpil, det er faktisk meget tænkeligy du har ret. Jeg har nemlig et gammelt servlet.jar liggende, jeg checker det lige i løbet af imorgen. Indtil videre tak for hjælpen
Generelt når man afvikler ting, kan der ligge klasser enten i ens jdk-installation, eller i selve serveren, eller også i webapplikationen.
Der kan dog være forskelle i den rækkefølge, de forskellige servere (Tomcat, Resin, Weblogic, Oracle) læser de forskellige. Så derfor kan det let ske, at en applikation der kører på Resin, ikke kører på Tomcat - eller omvendt. Som regel sker det enten hvis man har en j2ee- eller servlet.jar der sejler rundt, eller hvis man bruger xml.
Så paradoksalt nok tror jeg, at en gammel Tomcat ville have kørt fint, selvom den normalt ikke er ret god. (der kan siges meget grimt om Tomcat, men det er mest sandt for den gamle Tomcat 3, mens den nyere Tomcat 4 er rimeligt god).
Her er et uddrag af en mail med sysadm. hos levonline om hvorfor de skifter til resin. The reason we are not supporting new versions of resin are:
1. Resin can and will crash apache due to a bug.
2. Resin drains a lot more memory than tomcat.
3. Tomcat has become somewhat of a reference, Cocon, Xerxes and similar things are now coded against tomcat, and works better with tomcat than with resin.
4. The licence model of resin is "pay per server", since we run a load balanced solution with a webfarm, this does not scale well for us.
Dog har de følgende tilbud som lyder ok. "If a new version of resin is a must for you. I recommend a dedicated server for you. You can run all your domains/sites on one server and we cona configure it to run the newest resin for you and your sites. The cost of such a server is from 2000SEK / month and gives you a lot of advantages."
Ovenstående fire punkter er det vel punkt 4 som vejer tungest i deres beslutning ang. skift fra Resin til Tomcat Thomas
Lige netop, punkt 1-3 er dårlige undskyldninger. Hvorimod pkt 4 netop forklarer det hele, de vil ganske enkelt tjene flere penge, på bekostning af sikkerhed, performance, og ikke mindst brugervenlighed.
pkt 3. er jo helt til grin, hvis Cocoon og Xerxes bliver lavet ordentligt understøtter de også resin, som følger standarden til punkt og prikke.
pkt 2. Ja selvfølgelig bruger den mere ram, den cacher jo tingene og performer derfor langt bedre.
pkt 1. de fejl jeg kender til, blev rettet meget hurtigt, så enten kan de ikke finde ud af at sætte det op, eller også har de ikke videre givet oplysninger om fejlen.
Jeg har desværre opgivet at installere Tomcat. Jeg kan simpelthen ikke få det til at virke.
Jeg er kommet frem til at livet simpelthen er for kort til Tomcat, når der eksiterer et så velfungerende alternativ som Resin.
Soelvpil, jeg beklager meget at jeg ikke har mere rygrad, når nu du har givet dig i kast med at hjælpe mig. Du skal i hver tilfælde have tak for det.
Jeg har besluttet at det må være mest rigtigt at dele pointene mellem jeg. Soelvpil for at have gjort et reelt forsøg på at afhjælpe mit problem. Disky for at bekræfte mig i at Resin er og bli´r den rigtige løsning for os.
MHT. til Levonline er løsningen indtil videre blevet at vi kører videre på deres gamle Resin-serevere et stykke tid endnu. På sigt bliver løsningen nok at vi enten får en dedikeret server hvor vi kan køre nyeste versioner af Resin eller at vi skifter til et nyt webhotel.
Ja, nogen gange må man bare ydmygt bøje hovedet og holde kæft.
Jeg vil dog lige pippe lidt: Jeg har faktisk aldrig haft problemer med en Tomcat-installation, hverken fra zip- eller exe-fil, eller i version 3 eller 4. Eneste problemer jeg har oplevet har været integration med Apache (men det er 2 år sagen jeg har forsøgt det selv, og da vidste jeg næsten intet om Java), samt nogle gange lidt bøvl med ClassLoadere (men det samme bøvl har jeg haft med samtlige Java-servere jeg har prøvet at rode med).
Men selvfølgelig er det altid fiaskoerne man hører om (jeg har nu også set et par indlæg fra folk der har haft problemer med Resin).
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.