Avatar billede coolfisk Nybegynder
29. april 2004 - 15:39 Der er 22 kommentarer

JSP og entity beans

Har opsat en tomcat server... opstartet den. Kan også åbne min main side, men når jeg åbner en hvor den skal bruge nogle bean som ligger i en package... kan den ikke finde dem:

Har langt filerne:
Main.jsp
Login.jsp

i : webapps/test/

og mine pakker/package:

i : webapps/test/WEB-INF/classes/navn/beanNavn

hvad gør jeg forkert... vil gerne have programmet skal kunne hente fra en ekstern computer
Avatar billede fsconsult.dk Nybegynder
29. april 2004 - 15:43 #1
hvis du med entity beans mener EJB'ere, så kan de ikke afvikles på en Tomcat server (ikke uden JBoss e.lign)
Avatar billede arne_v Ekspert
29. april 2004 - 15:44 #2
pakke og directories skal matche

d.v.s. webapps/test/WEB-INF/dinpakke/DinKlasse.class

(jeg formoder at det ikke er en EJB)
Avatar billede arne_v Ekspert
29. april 2004 - 15:45 #3
Hov der manglede en classes:

webapps/test/WEB-INF/classes/dinpakke/DinKlasse.class
Avatar billede coolfisk Nybegynder
29. april 2004 - 15:47 #4
hmm det gør de også, men får fejlen:
org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 19 in the jsp file: /Login.jsp

Generated servlet error:
    [javac] Compiling 1 source file

C:\jakarta-tomcat-5.0.19\work\Catalina\localhost\test\org\apache\jsp\Login_jsp.java:64: cannot resolve symbol
symbol  : class Databaseforbindelse
location: class Mappe.Mappe
      Mappe.Databaseforbindelse dbf = null;
          ^



An error occurred at line: 19 in the jsp file: /Login.jsp

Generated servlet error:
C:\jakarta-tomcat-5.0.19\work\Catalina\localhost\test\org\apache\jsp\Login_jsp.java:66: cannot resolve symbol
symbol  : class Databaseforbindelse
location: class Mappe.Mappe
        dbf = (Mappe.Databaseforbindelse) _jspx_page_context.getAttribute("dbf", PageContext.SESSION_SCOPE);
                    ^



An error occurred at line: 19 in the jsp file: /Login.jsp

Generated servlet error:
C:\jakarta-tomcat-5.0.19\work\Catalina\localhost\test\org\apache\jsp\Login_jsp.java:68: cannot resolve symbol
symbol  : class Databaseforbindelse
location: class Mappe.Mappe
          dbf = new Mappe.Databaseforbindelse();
                        ^
3 errors


    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:127)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:351)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:415)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:458)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:553)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
Avatar billede coolfisk Nybegynder
29. april 2004 - 15:48 #5
Og har:
webapps/test/WEB-INF/classes/Mappe/Databaseforbindelse.class
webapps/test/WEB-INF/classes/Mappe/Data.class
Avatar billede coolfisk Nybegynder
29. april 2004 - 15:49 #6
C:\jakarta-tomcat-5.0.19\work\Catalina\localhost\test\org\apache\jsp\Login_jsp det er noget den opretter?
Avatar billede arne_v Ekspert
29. april 2004 - 15:51 #7
Ja. JSP sider dobbelt compiles. Først oversættes .java til .jsp og så
oversættes .java til .class - det du ser er .java filen.
Avatar billede coolfisk Nybegynder
29. april 2004 - 15:52 #8
det var det jeg tænkte... hmmm underlidt den ikke kan finde mine packages
Avatar billede arne_v Ekspert
29. april 2004 - 15:53 #9
Er der:

package Mappe;

i toppen af dine beans ?
Avatar billede arne_v Ekspert
29. april 2004 - 15:54 #10
Hvad sker der hvis du laver en import af Mappe.* og du ikke prefixer
med Mappe. ?
Avatar billede coolfisk Nybegynder
29. april 2004 - 15:54 #11
ja... og har også testen den i JDeveloper og der virker det
Avatar billede coolfisk Nybegynder
29. april 2004 - 16:02 #12
Hvad er cocoon egentligt... de anbefaler man installere det?
Avatar billede arne_v Ekspert
29. april 2004 - 16:07 #13
Coccon er et web framework som bygger oven på JSP/Servlet se
http://cocoon.apache.org/ for detaljer

Jeg vil ike tilråde dig at starte på det
Avatar billede coolfisk Nybegynder
29. april 2004 - 16:14 #14
Har lavet det som:
<jsp:useBean id="dbf" class="Mappe.Databaseforbindelse" scope="session"/>

Hvad sker der hvis du laver en import af Mappe.* og du ikke prefixer
med Mappe. ?

Hvis jeg importer Mappe.*; skal jeg så undlade Mappe. (class=)? forstår ikke helt hvad du mener
Avatar billede arne_v Ekspert
29. april 2004 - 16:18 #15
<%@page import="Mappe.*"%>

<jsp:useBean id="dbf" class="Databaseforbindelse" scope="session"/>
Avatar billede coolfisk Nybegynder
29. april 2004 - 16:26 #16
det har jeg prøvet.. melder stadig den samme fejl
Avatar billede coolfisk Nybegynder
29. april 2004 - 16:26 #17
det burde i princippet og give det samme?
Avatar billede arne_v Ekspert
29. april 2004 - 16:37 #18
Ja, men det er den her som generer mig:

symbol  : class Databaseforbindelse
location: class Mappe.Mappe

Du har vel ikke en klasse Mappe i pakken Mappe ?
Avatar billede arne_v Ekspert
29. april 2004 - 16:38 #19
Normalt er pakkenavne iøvrigt all lowercase ...
Avatar billede coolfisk Nybegynder
29. april 2004 - 16:51 #20
jo... må man ikke det?
Avatar billede arne_v Ekspert
29. april 2004 - 16:53 #21
Jeg tror at den bliver forvirret. Kunne du prøve at omdøbe den klasse ?
Avatar billede coolfisk Nybegynder
29. april 2004 - 16:54 #22
prøver jeg lige
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