Avatar billede backupmand Nybegynder
09. juli 2002 - 13:51 Der er 30 kommentarer og
2 løsninger

hvorfor virker min jsp under resin 2.1.2 ikke?


Jeg bruger Resin 2.1.2
Jeg placerer min first.jsp under
C:\Resin-2.1.2\doc\jspfun\

Jeg har en java fil, som jeg placerer under
C:\Resin-2.1.2\doc\WEB-INF\classes
Jeg skriver i min url
http://localhost:8080/jspfun/first.jsp

Men jeg får en "500 Servlet Exception"...

Hvorfor?

Her er min jsp fil:

<html>
<head>
  <title> jsp example </title>
</head>
<body bgcolor="#ffffff">
<p>

  Now I'm accessing a java bean
  <jsp:useBean id="test" class="TestBean"/> 
  <jsp:getProperty name="test" property="hello"/>
 
</p>
 
  </body>
</html>

Her er min java fil:

public class TestBean
{
    public String hello;
   
    public TestBean()
    {
    hello="Hello from bean";
    }

    public void setHello(String h)
    {hello=h;}
   
    public String getHello()
    {return hello;}
}

Jeg har også prøvet at compile filen først, så
jeg har en klassefil, når jeg tester i browser.

Jeg har også prøvet
http://loopback:8080/jspfun/first.jsp
and http://127.0.0.1:8080/jspfun/first.jsp

Men det er lige godt det samme!

HELP!

Tak!
Avatar billede r9 Nybegynder
09. juli 2002 - 14:20 #1
Alle min webapp's ligger i:
C:\resin\webapps\



F.eks. JSP sider i:
C:\resin\webapps\webshop

og *.class i:
C:\resin\webapps\webshop\WEB-INF


Så spiller det bare: http://localhost:8080/webshop/
Avatar billede r9 Nybegynder
09. juli 2002 - 14:22 #2
Hvis du rette lidt i resin.conf, så der står dette:

<!-- the http port -->
  <http port='80'/>


Så kan du bare skrive:
http://localhost/webshop
Avatar billede r9 Nybegynder
09. juli 2002 - 14:27 #3
rettelse:

*.class i:
C:\resin\webapps\webshop\WEB-INF\classes
Avatar billede r9 Nybegynder
09. juli 2002 - 14:29 #4
Jeg har lige testet din kode, og det virker fint.

JSP
C:\resin\webapps\jspfun

CLASS
C:\resin\webapps\jspfun\WEB-INF\classes
Avatar billede backupmand Nybegynder
09. juli 2002 - 17:51 #5
Jeg har lavet den samme biblioteksstruktur nu...

Jeg får flg fejl:
404 Not Found
/webapps/jspfun/first.jsp was not found on this server.

Hvad er der galt?
I
C:\resin-2.1.2\webapps\jspfun
ligger first.jsp
I
C:\resin-2.1.2\webapps\jspfun\WEB-INF\classes
ligger
TestBean.java
Avatar billede r9 Nybegynder
09. juli 2002 - 18:04 #6
Hvis jeg var dig vil jeg slette hele Resin
Og Udpakke zipfilen fra caucho endnu engang.
Avatar billede backupmand Nybegynder
09. juli 2002 - 21:53 #7
Jeg har downloaded noget der hedder resin-ee-2.1.2. Jeg går ud fra den kan det samme. Jeg lagde filerne ind i de respektive direktorier, jeg skriver
flg i min url:
http://localhost:8080/jspfun/first.jsp (jeg bruger iøvrigt win xp, ved ikke om det har noget at sige)

Så får jeg flg besked:

500 Servlet Exception
java.lang.NullPointerException
    at com.caucho.xml.QAttributedNode.getAttribute(QAttributedNode.java:85)
    at com.caucho.jsp.JavaGenerator.generateUseBean(JavaGenerator.java:1315)
    at com.caucho.jsp.JavaGenerator.generateTag(JavaGenerator.java:795)
    at com.caucho.jsp.JspGenerator.generateChildren(JspGenerator.java:877)
    at com.caucho.jsp.JspGenerator.generate(JspGenerator.java:315)
    at com.caucho.jsp.JspParser.parse(JspParser.java:327)
    at com.caucho.jsp.JspParser.parse(JspParser.java:232)
    at com.caucho.jsp.JspManager.createPage(JspManager.java:174)
    at com.caucho.jsp.PageManager.getPage(PageManager.java:345)
    at com.caucho.jsp.PageManager.getPage(PageManager.java:201)
    at com.caucho.jsp.QServlet.getPage(QServlet.java:215)
    at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:129)
    at com.caucho.server.http.Invocation.service(Invocation.java:311)
    at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:221)
    at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:163)
    at com.caucho.server.TcpConnection.run(TcpConnection.java:137)
    at java.lang.Thread.run(Thread.java:484)
Avatar billede backupmand Nybegynder
09. juli 2002 - 21:55 #8
Det skal lige siges, jeg slettede den gamle version af resin og
udpakkede hele denne version og lagde dernæst filerne ind i bibliotekerne.
Avatar billede r9 Nybegynder
09. juli 2002 - 21:59 #9
Jeg tror at du har hentet J2EE versionen.

Hent ren JSP version her:
http://www.caucho.com/download/resin-2.1.2.zip

Og pak den ud. Så skulle det virke.
Det betyder intet om du har winXP
Avatar billede backupmand Nybegynder
10. juli 2002 - 00:13 #10
Ja ok det kan godt være. jeg har også den gamle. Nu har jeg fjernet
ee versionen helt og udpakket den ordinære version.

I min url skriver jeg:

http://localhost:8080/jspfun/first.jsp

Forudsat at
I
C:\resin-2.1.2\webapps\jspfun
ligger first.jsp
I
C:\resin-2.1.2\webapps\jspfun\WEB-INF\classes
ligger
TestBean.java

Jeg får samme 500 Servlet Exception osv osv fejl
hvad er der galt?

Jeg har startet resin serveren.
Avatar billede r9 Nybegynder
10. juli 2002 - 01:01 #11
underligt.
Prøv lige dette kode:

indes.jsp

<html>
<head>
  <title> jsp example </title>
</head>
<body bgcolor="#ffffff">
<p>

  <jsp:useBean id="dinBean" class="TestBean"/>

  <%

  String t = dinBean.test();

  %>

  <%=t%>

</p>

  </body>
</html>



TestBean.java:

public class TestBean {

    public String test() {

        return "hello world";
    }
}


Se lige om det virker!
Avatar billede backupmand Nybegynder
10. juli 2002 - 21:26 #12
OK. Jeg har taget dine filer og
jeg skriver i min url:
http://localhost:8080/jspfun/index.jsp

jsp ligger i
C:\Resin-2.1.2\webapps\jspfun\index.jsp
java fil ligger i
C:\Resin-2.1.2\webapps\jspfun\WEB-INF\classes\TestBean.java

Den laver vist selv class filen har jeg hørt...

Ligger filerne de rigtige steder? Jeg har sikret mig der ikke er dubletter rundt omrking.

Jeg får så en

500 Servlet Exception ... det samme som før.
Avatar billede r9 Nybegynder
10. juli 2002 - 22:32 #13
hvad sker der hvis du skriver http://localhost:8080 ?
Avatar billede backupmand Nybegynder
10. juli 2002 - 23:36 #14
Jeg får en standard web-besked om at "The page cannot be displayed"
Skulle der ske noget specielt?
Avatar billede backupmand Nybegynder
10. juli 2002 - 23:36 #15
Jeg har lige checket om resin er startet op, og det var den.
Avatar billede backupmand Nybegynder
10. juli 2002 - 23:38 #16
Undskyld, jeg skrev http://localhost:8080/
Nu har jeg prøvet at skrive uden den sidste slash .. jeg får en
500 Servlet Exception .. det samme som før
Avatar billede r9 Nybegynder
10. juli 2002 - 23:53 #17
det er TestBean.class der skal ligge i:
C:\Resin-2.1.2\webapps\jspfun\WEB-INF\classes\

*.java er ligegyldig.

Resin laver ikke selv class filer ud af java filer.
Men resin laver derimod servletter ud fra de jsp sider som du laver.


Prøv lige at smid din TestBean.class derind.....
Avatar billede disky Nybegynder
11. juli 2002 - 09:17 #18
r9:
J2ee udgaven indeholder det samme som JSP udgaven + mere :)
Avatar billede disky Nybegynder
11. juli 2002 - 09:18 #19
r9:
Ja Resin compiler selv .java filer til .class filer hvis de ikke er kompilet i forvejen.

Hvis du ligger den i WEB-INF/classes

Men det er ret dumt at gøre det, for så kan folk teoretisk få fat i sourcekoden.
Avatar billede r9 Nybegynder
11. juli 2002 - 09:20 #20
ok. Så blev jeg det klogere :-)
Avatar billede backupmand Nybegynder
11. juli 2002 - 16:22 #21
OK. Jeg har efterchecket. Alle filer ligger de steder du/i siger de skal ligge.
Jeg har efterchecket og slettet alle dubletter i andre biblioteker så mine test-
filer ligger netop ét sted.
dvs jsp i c:\resin-2.1.2\webapps\jspfun\index.jsp
og java filen i c:\resin.2.1.2\webapps\jspfun\WEB-INF\classses\TestBean.java

Jeg har compilet java filen inden programstart.

Jeg skriver så i min url:
http://localhost:8080/jspfun/index.jsp

SÅ får jeg igen en 500 servlet exception....

Jeg ved sør'me ikke hvad der er galt.
Avatar billede backupmand Nybegynder
12. juli 2002 - 18:22 #22
Jeg vil gerne knytte en kommentar til alle mine fejl. Jeg har erfaret at
skriver man bare http://127.0.0.1:8080/ i sin url skulle man få en default caucho side... det får jeg ikke. Til gengæld kan jeg se flg meddelelse fra output vinduet i prompten for resin serveren:


http listening to *8080
srun listening to 127.0.0.1:6892
#
# HotSpot Virtual Machine Error, EXCEPTION_ACCESS_VIOLATION
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Error ID: 4F533F57494E13120E43505002D4
#                                                       

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
Resin 2.1.2 (built Tue Jun 11 08:26:56 PDT 2002)
Copyright(c) 1998-2002 Caucho Technology. All rights reserved.

Er der nogen der har en ide om det?
Avatar billede disky Nybegynder
13. juli 2002 - 00:07 #23
installer en ny JDK
Avatar billede r9 Nybegynder
14. juli 2002 - 00:28 #24
her er en med samme problem: http://forum.java.sun.com/thread.jsp?forum=27&thread=273296

men intet svar!

Men prøv da med en ny JDK
Avatar billede r9 Nybegynder
14. juli 2002 - 00:30 #25
http://www.jascii.com/html/information.html
De skriver at problemmet skyldes en bug i JDK 1.3.

Så installerer JDK 1.4 istedet, så skulle det virke.
http://java.sun.com/j2se/1.4/index.html
Avatar billede backupmand Nybegynder
14. juli 2002 - 04:08 #26
det skal jeg lige prøve!
Avatar billede backupmand Nybegynder
15. juli 2002 - 16:01 #27
Jeg har fundet jdk 1.3.1_03 og installeret den. Jeg har resin 2.1.0 og det
virker, så jeg gi'r point.
Avatar billede disky Nybegynder
15. juli 2002 - 17:42 #28
mange tak, hvorfor henter du ikke JDK1.4 ?
Avatar billede backupmand Nybegynder
15. juli 2002 - 19:33 #29
Fordi jeg kun har et 56 k modem!!
Avatar billede disky Nybegynder
15. juli 2002 - 20:02 #30
okay, det er en særdeles god grund :)
Avatar billede backupmand Nybegynder
15. juli 2002 - 22:30 #31
Så er den gal igen.
Jeg får default siden frem under localhost:8080 - den er god nok.
Min jsp fil ligger under resin-2.1.2\doc\jsp\index.jsp
og min java fil ligger under resin-2.1.2\doc\WEB-INF\classes\TestBean.java

Jeg går til min url og skriver http://localhost:8080/jsp/index.jsp

og får flg fejl:

500 Servlet Exception
/jsp/index.jsp:8: Class _jsp.TestBean not found.
      TestBean dinBean;
      ^
/jsp/index.jsp:9: Class _jsp.TestBean not found.
      dinBean = (TestBean) pageContext.getAttribute("dinBean");
                ^
/jsp/index.jsp:11: Class _jsp.TestBean not found.
        dinBean = new TestBean();
                      ^
/jsp/index.jsp:12: Variable dinBean may not have been initialized.
  String t = dinBean.test();
            ^
4 errors

Hvad nu?

Det er samme filer som før.
Avatar billede disky Nybegynder
15. juli 2002 - 22:40 #32
du skal kompile din .java fil

du kan på en eller anden måde sætte resin op til selv at gøre det men jeg kan ikke lige huske hvordan.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester