---
title: "Bönor"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/28388-bönor"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "SPiN"
published: "2001-11-07T13:44:00.000Z"
updated: "2001-11-27T22:42:00.000Z"
replies: 12
views: 576
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/28388-bönor"
---

# Bönor

## #1 — SPiN, 2001-11-07T13:44Z

Halloj!

Jag har nyligen satt mig in i JSP, och har nu ett par basic-frågor om bönor.

\- Ska jag kompilera mina Java-klasser som ska användas som bönor, och lägga .class-filerna i en speciell katalog?
\- Ska Java-klasserna ärva, implementera från någon speciell klass/interface?
\- Måste de ingå i något package, eller kan jag anropa dem med \<jsp:useBean id="minBean" class="minBeanKlass" scope="page"\>?

Permalänk: https://www.webforum.nu/p/28388

## #2 — jorgen, 2001-11-07T15:25Z

> \- Ska jag kompilera mina Java-klasser som ska användas som bönor, och lägga .class-filerna i en speciell katalog?

Ja, för att använda javabeans ska du kompilera källkoden och placera klass-filen i katalogen:

(gäller tomcat)

\<server_root\>/din_jspkatalog/Web-inf/classes

r: observera att sökvägen blir en annan i webläsaren: tex
 <http://localhost:8080/din_jspkatalog/servletens>  namn eller jsp-sidan som anropar bönan

mvh Jörgen :)

Permalänk: https://www.webforum.nu/p/402375

## #3 — jorgen, 2001-11-07T15:37Z

> \- Måste de ingå i något package, eller kan jag anropa dem med \<jsp:useBean id="minBean" class="minBeanKlass" scope="page"\>

Det räcker, om du vill ha räckvidden "page". Du kan ju välja "session", "request" eller "application" också som angiven räckvidd.

Om jag bara hittar på något kan du hämta in bönan med tex:

\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>
\<%= counter.getCount() %\>

mvh Jörgen :)

Permalänk: https://www.webforum.nu/p/402376

## #4 — jorgen, 2001-11-07T15:44Z

> \- Ska Java-klasserna ärva, implementera från någon speciell klass/interface?

Vill du ärva egenskaper från en färdig klass till din böna är det ju bara att importera den klassen med tex:

\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>
import java.lang.Float;

precis som i andra applicationer. Vill du skapa egna super- och subklasser till bönan kan du ju oxxå göra det.

Ps. delade upp det i 3 svar för att skilja frågorna åt :e

r: glömde ett ;

mvh Jörgen :)

Permalänk: https://www.webforum.nu/p/402377

## #5 — SPiN, 2001-11-07T16:03Z

Tack för alla svaren, jorgen! :)

Nu ska jag sätta mig in i bönornas underbara (?) värld. :e

Permalänk: https://www.webforum.nu/p/402378

## #6 — SPiN, 2001-11-12T15:05Z

Nu har jag äntligen lyckats få tummen ur och börjat pilla med bönor, dock fungerar det inte. Jag kör inte på en lokal Tomcat-server, utan på ett Webhotells, närmare bestämt space2u.com's.

Felmeddelandet lyder:

org.apache.jasper.JasperException: Unable to compile /usr/local/tomcat/work/www.command.nu/ROOT/JavaPortalen/index_1.java:56: Class JavaPortalen.Template not found.
                    Template template = null;
                    ^
/usr/local/tomcat/work/www.command.nu/ROOT/JavaPortalen/index_1.java:59: Class JavaPortalen.Template not found.
                        template= (Template)
                                   ^
/usr/local/tomcat/work/www.command.nu/ROOT/JavaPortalen/index_1.java:64: Class JavaPortalen.Template not found.
                              template = (Template) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "Template");
                                          ^
3 errors

Så här ser katalogstrukturen ut:

\- \[root\] **&#0124;dir&#0124;**
&nbsp; &nbsp; - jallah **&#0124;dir&#0124;**
&nbsp; &nbsp; &nbsp; &nbsp; - WEB-INF **&#0124;dir&#0124;**
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; - Template.class
&nbsp; &nbsp; &nbsp; &nbsp; - minjsp.jsp

Provade också med:

\- \[root\] **&#0124;dir&#0124;**
&nbsp; &nbsp; - jallah **&#0124;dir&#0124;**
&nbsp; &nbsp; &nbsp; &nbsp; - minjsp.jsp
&nbsp; &nbsp; - WEB-INF **&#0124;dir&#0124;**
&nbsp; &nbsp; &nbsp; &nbsp; - Template.class

Vad kan vara fel?

Permalänk: https://www.webforum.nu/p/402379

## #7 — jorgen, 2001-11-12T16:14Z

Hej!

Har du registrerat katalogen **jallah**  som webbapplication?

Borde se ut så här:

\- \[root\] &#0124;dir&#0124;
    \- jallah &#0124;dir&#0124;
        \- minjsp.jsp
    \- WEB-INF &#0124;dir&#0124;
    \- classes &#0124;dir&#0124;
        \- Template.class

mvh Jörgen :)

Permalänk: https://www.webforum.nu/p/402380

## #8 — SPiN, 2001-11-13T07:30Z

Tack för ditt svar, men hur kan jag registrera en web-app när jag inte kör lokalt? Jag har inte tillgång till configurationsfiler eller liknande, jue...

Permalänk: https://www.webforum.nu/p/402381

## #9 — jorgen, 2001-11-13T16:31Z

Tja!

Jag har för mig att man har tillgång till filen även icke lokalt:

**\[root\]/conf/server.xml**

Precis efter posten *example* i tomcats configuationsfil server.xml skriver du:

\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>
\<Context path="/jallah" docBase="jallah" defaultSessionTimeOut="30" isWARExpanded="true" isWARValidated="false" isInvokerEnabled="true" isWorkDirPersistent="false" /\>

Fråga mig inte bara vad den gör, för det har jag ingen susning om ;)

mvh Jörgen :)

Permalänk: https://www.webforum.nu/p/402382

## #10 — Lime, 2001-11-14T08:21Z

> Vill du ärva egenskaper från en färdig klass till din böna är det ju bara att importera den klassen med tex:
>
>                              Kod:
>
>
>                              import java.lang.Float;
>
> precis som i andra applicationer. Vill du skapa egna super- och subklasser till bönan kan du ju oxxå göra det.

Ville bara pepåka att "import" på inget sätt gör att man ärver från en klass. Det enda den gör är att utöka namnrymden så man slipper skriva ut "distinguished name" hela tiden.

Ärver gör man med "extends" om det skall vara en subklass eller med "implements" om det är ett interface.

/Lime

Permalänk: https://www.webforum.nu/p/402383

## #11 — jorgen, 2001-11-14T10:01Z

Tack för ditt förtydligande lime.

Jag menade inte att man ärvde med import, utan att man är tvungen att "utöka namnrymden" om jag får använda dina egna ord, för att sedan kunna ärva från en redan befintlig klass. Gör du inte en import på klassen, då har du ju inte den tillgänlig heller. ;)

mvh Jörgen :)

Permalänk: https://www.webforum.nu/p/402384

## #12 — spango, 2001-11-14T19:33Z

Joorå...
\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>
public class Blargha extends foo.Bar implements baz.Quux{
...
}

Permalänk: https://www.webforum.nu/p/402385

## #13 — SPiN, 2001-11-27T22:42Z

Så var man tillbaka med flera bön-frågor :)

Om jag skapar en böna, kan jag på nåt sätt få flera instanser av den klassen - eller måste jag skapa nya bönor?

Som det är nu gör jag så här:
\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>
\<jsp:useBean id="minBona" scope="page" class="minKlass"\>
\</jsp:useBean\>
\<jsp:useBean id="minBona2" scope="page" class="minKlass"\>
\</jsp:useBean\>

Det ser inte snyggt ut, kanske är det inte heller speciellt smart. Går det att komma förbi det, eller ska jag skapa ett eget package och importera det istället?

Permalänk: https://www.webforum.nu/p/402386

---

Tråden på webben: https://www.webforum.nu/amne/java/28388-bönor
