Ergebnis 1 bis 9 von 9

Thema: JSP-Script läuft nicht unter Tomcat, woran liegts?

  1. #1
    Prinz(essin) Avatar von Lizzard
    Registriert seit
    19.02.2006
    Ort
    München
    Beiträge
    788
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard JSP-Script läuft nicht unter Tomcat, woran liegts?

    Guten Morgen liebe Community,

    derzeit beschäftige ich mich mit Ajax in Verbindung mit JSP (nette Weihnachtslektüre dazu bekommen). Allerdings scheitere ich nun schon am ersten Beispiel des Buches. Es liegt aber weniger an der Syntax oder der Programmierung an sich, die sich m.E. sehr gut nachvollziehen lässt. Ich vermute, es gibt ein Problem mit der Tomcat-Installation, und somit kann das verwendete JSP-Script nicht ausgeführt werden.

    Der Aufbau der Sache ist recht simpel und sieht so aus:

    HTML-Dokument:
    Code:
    <html>
    <head>
      <title>Beispiel 1</title>
      <script type="text/javascript" src="test.js"></script>
    </head>
    <body>
    
    <form name="f">
    	Bundesland?
    	<select name="bundesland" onclick="sndReq&#40;&#41;">
    		<option>Bayern</option>
    		<option>Sachsen</option>
    		<option>Thüringen</option>
    	</select>
    </form>
    
    <span id="hs"></span>
    
    </body>
    </html>
    Das Javascript test.js:
    Code:
    var resObjekt;
    
    if&#40;navigator.appName.search&#40;"Microsoft"&#41; > -1&#41;&#123;
      resObjekt = new ActiveXObject&#40;"MSXML2.XMLHTTP"&#41;;
    &#125;else&#123;
      resObjekt = new XMLHttpRequest&#40;&#41;;
    &#125;
    function sndReq&#40;&#41;&#123;
      for&#40;i=1;i<=3;i++&#41;&#123;
        if&#40;this.document.f.bundesland.options&#91;i-1&#93;.selected&#41;&#123;
          resObjekt.open&#40;'get', 'request.jsp?wo='+i, true&#41;;
          resObjekt.onreadystatechange = handleResponse;
          resObjekt.send&#40;null&#41;;
          break;
        &#125;
      &#125;
    &#125;
    function handleResponse&#40;&#41;&#123;
      if&#40;resObjekt.readyState == 4&#41;&#123;
        document.getElementById&#40;"hs"&#41;.innerHtml = resObjekt.responseText;
      &#125;
    &#125;
    Das JSP-Script das mit der Funktion open() aufgerufen wird:
    Code:
    <%@ page language="java"
    
    switch&#40;new Integer&#40;request.getParameter&#40;"wo"&#41;.intValue&#40;&#41;&#41;&#123;
      case 1&#58; %> Du hast Sachsen ausgew&auml;hlt. <% break;
      case 2&#58; %> Du hast Thu&uml;ringen ausgew&auml;hlt. <% break;
      default&#58; %> Du hast Bayern ausgew&auml;lt  <%
    &#125;
    
    %>

    Als Fehlermeldung beim ausführen des Scripts bekomme ich das hier:
    org.apache.jasper.JasperException: /development/request.jsp(3,6) equal symbol expected
    und
    org.apache.jasper.JasperException: Unable to load class for JSP

    org.apache.jasper.JspCompilationContext.load(JspCo mpilationContext.java:599)

    org.apache.jasper.servlet.JspServletWrapper.getSer vlet(JspServletWrapper.java:137)

    org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:314)

    org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:329)

    org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:265)

    javax.servlet.http.HttpServlet.service(HttpServlet .java:803)



    Da ich das Script selbst als fehlerfrei einschätze (entstammt ja mit kleinerer Modifikation dem Buch), schätze ich dass bei der Installation von Tomcat noch irgendetwas nicht richtig konfiguriert wurde, da die Klassen wohl nicht geladen werden können. Aber was fehlt? Habe bisher nur den Installer von Tomcat ausgeführt, und Tomcat gestartet. Die Startseite von Tomcat unter localhost:8080 wird einwandfrei angezeigt.

    Was muss ich noch konfigurieren, und wie kann ich den Rootfolder von Tomcat auf ein anderes Verzeichnis legen?
    Cool wäre auch noch zu wissen, wie ich das JSP auf meinem Webspace zum laufen bekomme, da erhalte ich nämlich den selben Fehler wie im Localhost.


    Vielen Dank für alle die sich das alles durchgelesen haben, und evtl. eine Lösung anzubieten haben!


    Grüße,
    Lizzard
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.

  2. #2
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Erstmal Frohe Festtage,

    zunächst einmal würde mich interessieren, welchen IDE du benutzt. Unabhängig von Fehlermeldungen usw. würde ich dir empfehlen Netbeans zu benutzen, hierfür gibt es auch ein Plugin, dass sich "visual web application" nennt. Mit diesem kann man eigentlich alles machen.

    Falls du schon Netbeans nutzt, du musst in der Projektliste-> rechtsklick -> Eigenschaften -> Server einstellen, den du benutzen willst. Es kann aber sein, dass da bei deinem Code was net stimmt, will mich aber heute nicht da reinvertiefen.

    Generell würde ich dir aber sowieso zum Glasfish bzw. Applicaiton Server von Sun raten.
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  3. #3
    Prinz(essin)
    Themenstarter
    Avatar von Lizzard
    Registriert seit
    19.02.2006
    Ort
    München
    Beiträge
    788
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hi K.Y.L.T.,

    danke für deine rasche Antwort, im Moment benutze ich noch überhaupt keinen IDE, sondern lediglich einen normalen Editor (PSPad). Das Buch meint, dass man für diese JSP-Scripts die im Beispiel verwendet werden, keine IDE bräuchte, da es sich ja um clientseitige Scripte handelt, die auch nicht kompiliert werden müssen. Erst serverseitige Applets müssten laut dem Buch dann auch durch ein IDE laufen und kompiliert werden.
    Ich hoffe ich liege da richtig, weil ich nicht hoffe, dass mich das Buch belügt

    Aber ich lade gerade Netbeans herunter, und werde dann mal sehen wie es mit der Ausführbarkeit in Glasfish aussieht, ich melde mich sobald es Neuigkeiten gibt.


    Vielen Dank soweit schonmal für deine Hilfe!



    EDIT:
    Habe Netbeans jetzt installiert, und da scheint sich auch gleich der Fehler zu zeigen.
    Es scheint so, als könnte mein Script nicht auf den Konstruktor Integer() und die Funktion intValue() zugreifen...
    Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.

  4. #4
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Natürlich ist JS clientseitig, damit du die Daten aber auch serverseitig verwenden kannst (willst sie ja letztendlich weiterverarbeiten) solltest du dich mit dem IDE beschäftigen, wir arbeiten zum Beispiel mit Netbeans in der Firma.
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  5. #5
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Edit :Sorry fürs doppelposting: dachte ich hätt den Editbutten erwischt :-/


    Also hier fehlt schonmal eine normale Klammerzu

    switch(new Integer(request.getParameter("wo").intValue())) {
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  6. #6
    Prinz(essin)
    Themenstarter
    Avatar von Lizzard
    Registriert seit
    19.02.2006
    Ort
    München
    Beiträge
    788
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Danke für den Hinweis, die Sache mit der Klammer hat schonmal das ursprüngliche Fehlerchen beseitigt.
    Nun sieht das ganze wie folgt aus (siehe Anhang).
    Irgendeine Ahnung wie ich das beseitigen kann? Ich habe den Eindruck, dass mein Script nicht auf die ganz gewöhnlichen Standard-Funktionsbibliotheken zugreifen kann...
    Angehängte Grafiken Angehängte Grafiken
    Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.

  7. #7
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Du darfst bei der Initialisierung in Java nicht in einem Schritt nen Methodenaufruf machen, du kannst

    int i = new Integer("1");

    i = i.intValue();

    setzen aber nicht in einem Schritt.
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  8. #8
    Großmeister(in)
    Registriert seit
    06.07.2004
    Ort
    NRW
    Beiträge
    681
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Code:
    request.getParameter&#40;"wo"&#41;.intValue&#40;&#41;
    request.getParameter("wo") gibt einen String zurück,
    und kann somit nichts mit der Methode intValue() anfangen.
    Versuchs mal ohne dem intValue().
    System.out.print("Java ist nicht JavaScript!");

  9. #9
    Prinz(essin)
    Themenstarter
    Avatar von Lizzard
    Registriert seit
    19.02.2006
    Ort
    München
    Beiträge
    788
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Danke für deine kompetente Hilfe KYLT,

    ich habe mit deinem Ansatz noch einmal ein wenig weiter gekuckt, bin auf zwei Sachen gestoßen (nur der Vollständigkeit halber):

    Dein neuer Ansatz funktioniert nicht, da Primitives wie Ints den .-Operator nicht beherrschen.
    Der Methodenaufruf in der switch()-Anweisung funktioniert, allerdings muss dazu die Klammer, die du vorhin folgerichtig ergänzt hast, bereits nach dem Konstruktor new Integer() folgen:

    switch(new Integer(request.getParameter("wo")).intValue()) {


    Auf jeden Fall läuft das Skript jetzt, es schien wohl doch ein Vertipper meinerseits gewesen zu sein -.-

    Das Java sieht nun so aus und läuft fehlerfrei:

    Code:
    <%@ page language="java" %>
    
    <%
    
    switch&#40;new Integer&#40;request.getParameter&#40;"wo"&#41;&#41;.intValue&#40;&#41;&#41;&#123;
      case 1&#58; %>Du hast Bayern gew&auml;hlt<% break;
      case 2&#58; %>Du hast Sachsen gew&auml;hlt! <% break;
      case 3&#58; %>Du hast Th&uuml;ringen gew&auml;hlt! <% break;
    &#125;
    
    %>
    Die korrekte Ausgabe wurde zudem noch verhindert im test.js, da hier

    statt
    document.getElementById("hs").innerHTML = resObjekt.responseText;

    dass hier:


    document.getElementById("hs").innerHtml = resObjekt.responseText;

    notiert war.


    Nochmal vielen Dank für die Hilfe!
    Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.

Ähnliche Themen

  1. php script bei host europe läuft nicht Part II
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 10
    Letzter Beitrag: 05.06.2009, 16:19
  2. Javascript Script läuft nicht
    Von sprint im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 13.07.2008, 13:26
  3. php script bei host europe läuft,dann wieder nicht, ???
    Von axe im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 09.05.2007, 09:44
  4. Seite läuft unter Netscape nicht einwandfrei! Warum?
    Von Thomas Wahn im Forum HTML & CSS Forum
    Antworten: 0
    Letzter Beitrag: 28.12.2006, 12:21
  5. Login script läuft nur bei Firefox, nicht beim IE!
    Von -nitro- im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 24.01.2006, 09:44

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •