Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

KaiStapel

Trainee

  • "KaiStapel" started this thread

Posts: 59

Date of registration: Sep 11th 2007

Location: FG SE, LUH

1

Thursday, October 16th 2008, 2:45pm

SOA Übung 1: Weiteres Beispiel im JSP Tutorial

Hallo,

ich habe ein zweites JSP-Beispiel im JSP-Tutorial zur Verfügung gestellt. Das illustriert kurz die Verwendung von Java Beans. Ich hoffe, dass euch das bei der Bearbeitung der Hausaufgabe hilft.

Gruß,
Kai
© by Kai

KaiStapel

Trainee

  • "KaiStapel" started this thread

Posts: 59

Date of registration: Sep 11th 2007

Location: FG SE, LUH

2

Thursday, October 16th 2008, 5:46pm

Noch ein Hinweis zur Übung:

Falls ihr sowas im JSP macht,

Source code

1
<jsp:setProperty name="person" property="name" value="<%= request.getParameter("name") %>" />


und folgende Exception bekommt,

Source code

1
2
org.apache.jasper.JasperException: /hello.jsp(12,65) Attribute value  request.getParameter("name")  is quoted with " which must be escaped when used within the value
[...]


liegt das nicht daran, dass ihr was falsch gemacht habt, sondern an einem Bug in Apache Tomcat 6.0.18.

Abhilfe schafft ein Downgrade auf Tomct 6.0.16.

Gruß,
Kai
© by Kai

Finn MacCool

Junior Schreiberling

Posts: 195

Date of registration: Oct 7th 2006

3

Saturday, October 18th 2008, 3:32pm

öhmm, 3 dateien, darunter die .exe, sind beschädigt und/oder unvollständig
So berichte uns weiter, sagte Diarmuid Donn, um der Liebe Gottes willen.
Fürwahr, sagte Finn, ich will nicht.

KaiStapel

Trainee

  • "KaiStapel" started this thread

Posts: 59

Date of registration: Sep 11th 2007

Location: FG SE, LUH

4

Saturday, October 18th 2008, 4:47pm

öhmm, 3 dateien, darunter die .exe, sind beschädigt und/oder unvollständig
Meinst du in der .zip von Tomcat 6.0.16? Das gleiche Problem hatte ich auch. Bei mir hat die .tar.gz funktioniert, obwohl da auch eine Fehlermeldung kam. Ansonsten kann ich noch auf den Windows-Installer verweisen. Den habe ich selbst aber noch nicht versucht.

Gruß,
Kai
© by Kai

Finn MacCool

Junior Schreiberling

Posts: 195

Date of registration: Oct 7th 2006

5

Saturday, October 18th 2008, 5:51pm

der lässt sich bei mir nichtmal starten - na, mal sehen, was die .tar bringt...


was anderes: wieso erhalte ich für


"< jsp:useBeanid="sweet"class="Sweet"scope="session">..."



die meldung "org.apache.jasper.JasperException: /shopIn.jsp(5,0) The value for the useBean class attribute Sweet is invalid."?
So berichte uns weiter, sagte Diarmuid Donn, um der Liebe Gottes willen.
Fürwahr, sagte Finn, ich will nicht.

This post has been edited 2 times, last edit by "Finn MacCool" (Oct 18th 2008, 6:03pm)


DrChaotica

Senior Schreiberling

  • "DrChaotica" is male

Posts: 714

Date of registration: Jan 22nd 2005

Location: SHG

Occupation: SW-Entwickler

6

Sunday, October 19th 2008, 8:49pm

Bei mir hat die Installation scheinbar funktioniert, die Beispiele auf eurer SOA-Seite lassen sich zumindest fehlerfrei kompilieren und ausführen. Allerdings bekam ich jetzt ein Problem, als ich eine Bean einer selbstdefinierten Klasse verwenden wollte:

Java source code

1
2
3
4
5
6
7
Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 13 in the jsp file: /summary.jsp
ShopArticle cannot be resolved to a type
...
13: <jsp:useBean id="newArticle" class="ShopArticle" scope="session" />

Die Artikel-Klasse sieht testweise momentan so aus:

Java source code

1
2
3
4
5
6
public class ShopArticle {
	String name;
	public ShopArticle() {	}
	public String getName() {return name;}
	public void setName(String name) {this.name = name;}
}

Es gibt also (wie für die Beans gefordert) nur den leeren Standardkonstruktor sowie get- und set-Methoden für alle Variablen, und die Javasource wird offenbar auch gefunden.
Trotzdem geht es nicht, warum? ?(

This post has been edited 1 times, last edit by "DrChaotica" (Oct 20th 2008, 12:41pm)


Warui

Turner, Serveradmin & Workaholic

  • "Warui" is male

Posts: 717

Date of registration: Apr 25th 2006

Location: Südstadt

Occupation: (iter (B.Sc. Inf, 8)) \n (be-a-slave ("SRA", "Bachelor Thesis")) \n (be-a-programmer-slave ("Freelancer", "Programming"))

7

Sunday, October 19th 2008, 11:36pm

Bei mir geht es nur dann, wenn ich den kompletten Pfad angebe ... also in meinem Beispiel

Java source code

1
<jsp:useBean id="bookstore" class="de.warui.code.bookstore.model.BookStore" scope="session"></jsp:useBean>


Mein Shop ist "fertig" .... Juhu! :)
Sch*** JSP .... n paar Sachen hätten sie mal echt sinnvoller machen können .... oder ich bin nur so verwöhnt von Python und Ruby *seufz*

Wo steht das übrigens mit dem leeren Standardkonstruktor?
Ich habe durchaus Beans mit komplexeren verketteten Konstruktoren, aber die noch nicht ausprobiert ....
Erwachsenwerden? Ich mach ja viel Scheiß mit, aber nicht jeden!

derSmutje

Alter Hase

  • "derSmutje" is male

Posts: 295

Date of registration: Dec 7th 2004

8

Sunday, October 19th 2008, 11:47pm


Wo steht das übrigens mit dem leeren Standardkonstruktor?
Ich habe durchaus Beans mit komplexeren verketteten Konstruktoren, aber die noch nicht ausprobiert ....

Hier auf Folie 5. Weiß aber auch nicht, ob das nur Mindestanforderungen sind und trotzdem weitere Konstruktoren erlaubt sind...
/join #inf

KaiStapel

Trainee

  • "KaiStapel" started this thread

Posts: 59

Date of registration: Sep 11th 2007

Location: FG SE, LUH

9

Monday, October 20th 2008, 11:39am

Hier auf Folie 5. Weiß aber auch nicht, ob das nur Mindestanforderungen sind und trotzdem weitere Konstruktoren erlaubt sind...
Ja, das sind Mindestanforderungen. Darüber hinaus kann man in Klassen machen, was man will. Diese Anforderungen sind nötig, damit das Einbinden mit useBean funktioniert. Dabei wird nämlich der Standardkonstruktor aufgerufen.

Zum Attribut class in useBean: Ihr müßt dort den vollqualifizierten Klassennamen angeben, weil er sonst nicht weiß, wo er suchen muss.

Gruß,
Kai
© by Kai

DrChaotica

Senior Schreiberling

  • "DrChaotica" is male

Posts: 714

Date of registration: Jan 22nd 2005

Location: SHG

Occupation: SW-Entwickler

10

Monday, October 20th 2008, 12:39pm

Zum Attribut class in useBean: Ihr müßt dort den vollqualifizierten Klassennamen angeben, weil er sonst nicht weiß, wo er suchen muss.
Das ist der Pfad, den ich in Eclipse über "Rechtsklick <Dateiname> -> Properties -> Path" erfahre, nicht wahr?
Seltsamerweise sind meine Fehler jetzt alle weg, irgendwann war es immer so, dass es auf einmal ging, aber ich weiß immer noch nicht recht, warum eigentlich.

Ein paar Vermutungen:
- Eclipse hat irgendwann ungefragt ein "<%@page import="model.ShopArticle"%>" in mein jsp geknallt, dadurch kann man sich später offenbar die Vollqualifizierungen sparen.
- Meine Java-Bean-Klassen warfen Exceptions, bis ich in dem Package "model" eine Testklasse schrieb und ausführte, die alle Beanklassen einmal benutzt. Möglicherweise wurden die erst damit neu kompiliert, jedenfalls lief anschließend nach dem Test auch alles bei den JSPs.

Scheinbar bin ich jetzt auch fertig, der bekloppte Shop tut nun was ich will. Endlich.
In solchen Tagen wünsche ich mir wirklich, mich mehr mit HTML und den ganzen anderen Internetsprachen auszukennen, hat das ewig gedauert...das war eine ganz furchtbare Aufgabe ;)
Aber irgendwie auch lehrreich. Mehr davon.

This post has been edited 1 times, last edit by "DrChaotica" (Oct 20th 2008, 12:42pm)


KaiStapel

Trainee

  • "KaiStapel" started this thread

Posts: 59

Date of registration: Sep 11th 2007

Location: FG SE, LUH

11

Monday, October 20th 2008, 1:33pm

...das war eine ganz furchtbare Aufgabe... Mehr davon.
OK, wenn das euer Wunsch ist 8)
© by Kai

Posts: 60

Date of registration: Oct 10th 2005

12

Monday, October 20th 2008, 7:50pm

der lässt sich bei mir nichtmal starten - na, mal sehen, was die .tar bringt...


was anderes: wieso erhalte ich für


"< jsp:useBeanid="sweet"class="Sweet"scope="session">..."



die meldung "org.apache.jasper.JasperException: /shopIn.jsp(5,0) The value for the useBean class attribute Sweet is invalid."?
Ein ähnliches Problem hatte ich gestern auch. (Wobei ich mal davon ausgehe dass du die Klasse "Sweet" vorher auch richtig importiert hast)
Das Problem war bei mir das die compilierten Klassen nicht in

Source code

1
"../WEB-INF/classes"
gelandet sind.
Die Lösung ist denkbar einfach, in der .classPath Datei nach dem Output-Verzeichnis mal gucken, der entsprechende Eintrag könnte z.B. so aussehen :

Source code

1
<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>

Wichtig nur dannach natürlich mal ein Clean und Build drüber laufen lassen, wenn der automatische Build-Durchlauf deaktiviert wurde.

Dann funktionieren auch so Sache wie

Source code

1
"<%@page import="model.ShopArticle"%>" 


Hoffe hilft irgendwem weiter. ;)

This post has been edited 4 times, last edit by "ShadowScout" (Oct 20th 2008, 7:57pm)


Warui

Turner, Serveradmin & Workaholic

  • "Warui" is male

Posts: 717

Date of registration: Apr 25th 2006

Location: Südstadt

Occupation: (iter (B.Sc. Inf, 8)) \n (be-a-slave ("SRA", "Bachelor Thesis")) \n (be-a-programmer-slave ("Freelancer", "Programming"))

13

Monday, October 20th 2008, 9:13pm

Ah, der ist schick, den hab ich nicht hinbekommen .... bei mir sind die Sachen in /src gelandet ....
Erwachsenwerden? Ich mach ja viel Scheiß mit, aber nicht jeden!

KaiStapel

Trainee

  • "KaiStapel" started this thread

Posts: 59

Date of registration: Sep 11th 2007

Location: FG SE, LUH

14

Friday, October 24th 2008, 11:00am


Zum Attribut class in useBean: Ihr müßt dort den vollqualifizierten Klassennamen angeben, weil er sonst nicht weiß, wo er suchen muss.
...

Ein paar Vermutungen:
- Eclipse hat irgendwann ungefragt ein "<%@page import="model.ShopArticle"%>" in mein jsp geknallt, dadurch kann man sich später offenbar die Vollqualifizierungen sparen.
- Meine Java-Bean-Klassen warfen Exceptions, bis ich in dem Package "model" eine Testklasse schrieb und ausführte, die alle Beanklassen einmal benutzt. Möglicherweise wurden die erst damit neu kompiliert, jedenfalls lief anschließend nach dem Test auch alles bei den JSPs.
...
Wenn ihr trotz vollqualifizierten Klassennamen oder <%@ page import="..." %> noch Exceptions bei der Nutzung einer bean bekommt liegt das evtl. am fehlenden Standardkonstruktor (Parameterloser Konstruktor) in der bean-Klasse.

Gruß,
Kai
© by Kai