Announcement

Collapse
No announcement yet.

Eclipse Tomcat, War Export

Collapse
This topic is closed.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Eclipse Tomcat, War Export

    Hallo Gemeinde,

    ich habe ein kleines Problem, hoffe ich jedenfalls. Folgendes Problem, ich habe ein dynamisches Webprojekt mit Eclipse erstellt und dort das ganze entwickelt. Dort funktioniert alles ohne Probleme.

    Nun wollte ich das ganze auf einem Public Server werfen. Dazu habe ich eine war datei exportiert und diese dann im tomcat deployt.

    Dachte ich jedenfalls, denn im TomCat Manager wird das Projekt nicht angezeigt. Ich weiß nicht ob es daran liegt, aber die jsp Dateien liegen im WEB-INF/jsp Ordner.

    Also irgenwas haut nicht hin, hat jemand eine Ahnung was ich falsch mache?

    beste grüße
    batou

  • #2
    Sicherlich liegt es daran. Für den WEB-INF Ordner bestehen keine öffentlichen Zugriffsrechte

    http://www.jsptutorial.org/content/directoryStructure
    Christian

    Comment


    • #3
      ok! aber im eclipse funktioniert es doch und das dürfte dann theoretisch auch nicht gehen. also ich greife auf nicht direkt auf die jsp zu, sondern ein servlet dispatcht immer auf die jsp's!

      also mir ist unklar warum es im eclipse funktioniert aber public dann nicht mehr. ich bin mir auch nicht ganz sicher ich bekomme folgende Fehlermeldung.

      -----------
      org.apache.jasper.JasperException: /index.jsp(55,11) The value for the useBean class attribute model.UserBean is invalid.
      org.apache.jasper.compiler.DefaultErrorHandler.jsp Error(DefaultErrorHandler.java:40)
      org.apache.jasper.compiler.ErrorDispatcher.dispatc h(ErrorDispatcher.java:407)
      org.apache.jasper.compiler.ErrorDispatcher.jspErro r(ErrorDispatcher.java:148)
      org.apache.jasper.compiler.Generator$GenerateVisit or.visit(Generator.java:1272)
      org.apache.jasper.compiler.Node$UseBean.accept(Nod e.java:1178)
      org.apache.jasper.compiler.Node$Nodes.visit(Node.j ava:2361)
      org.apache.jasper.compiler.Node$Visitor.visitBody( Node.java:2411)
      org.apache.jasper.compiler.Node$Visitor.visit(Node .java:2417)
      org.apache.jasper.compiler.Node$Root.accept(Node.j ava:495)
      org.apache.jasper.compiler.Node$Nodes.visit(Node.j ava:2361)
      org.apache.jasper.compiler.Generator.generate(Gene rator.java:3426)
      org.apache.jasper.compiler.Compiler.generateJava(C ompiler.java:216)
      org.apache.jasper.compiler.Compiler.compile(Compil er.java:332)
      org.apache.jasper.compiler.Compiler.compile(Compil er.java:312)
      org.apache.jasper.compiler.Compiler.compile(Compil er.java:299)
      org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:586)
      org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:317)
      org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:342)
      org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:267)
      javax.servlet.http.HttpServlet.service(HttpServlet .java:717)

      Comment


      • #4
        a) legt doch Eclipse bei der Anlage eines Projektes alle benötigten Ordner an. Im WebContent kommen die JSP,JS u.a. rein. Warum abweichen?

        b) die Ablage der JSP im WEF-INF ist regelmäßig falsch. Siehe Link

        c) der Fehler o.a. Fehler deutet allerdings auf ein Problem mit einer Bean hin
        Christian

        Comment


        • #5
          also ich weiß nicht mehr genau wo ich es gelesen habe zumindestens habe ich es gelesen ... das ich für das session management die jsp dateien in ein ordner unterhalb des web-infs legen soll ...

          aber lassen wir das mal kurz liegen, du sagst der fehler deutet auf einen fehler mit einer bean hin, das hab ich mir auch schon gedacht ... allerdings tritt er im eclipse nicht auf nur auf dem public server das bereitet mir kopf zerbrechen. hast du eine ahnung woran das liegen könnte, habe ich evtl irgendwelche pfade nicht richtig gesetzt?

          Comment


          • #6
            hast du eine ahnung woran das liegen könnte, habe ich evtl irgendwelche pfade nicht richtig gesetzt?
            Nein, ich kann nicht hellsehen.....

            also ich weiß nicht mehr genau wo ich es gelesen habe zumindestens habe ich es gelesen ... das ich für das session management die jsp dateien in ein ordner unterhalb des web-infs legen soll ...
            Sicherlich falsch

            aber lassen wir das mal kurz liegen,
            Würde erstmal das bekannte Problem beheben
            Christian

            Comment


            • #7
              Code der JSP oder Bean kann nicht gezeigt werden?
              Wenn in Zeile 55 Zeichen 11 der Fehler liegt sollte er zu finden sein. Allerdings ohne Glaskugel hier nicht
              Christian

              Comment


              • #8
                JSPs unter WEB-INF ist richtig!

                b) die Ablage der JSP im WEF-INF ist regelmäßig falsch. Siehe Link
                Da muss ich entschieden widersprechen. Es ist durchaus üblich und meiner Meinung nach sogar best Practice, JSPs unterhalb von WEB-INF abzulegen.

                Natürlich kann man sie dann nicht mehr direkt aufrufen (etwa mit http://meinedomain.de/meineAnwendung/meineJsp.jsp). Aber in der Regel will man auch genau das verhindern. Normalerweise schickt man die Requests immer durch einen Controller, der irgendwelche Sachen initialisiert, das an die JSP übergibt, die dann die Anzeige übernimmt. Außer der Einstiegsseite habe ich alle meine JSPs immer unter WEB-INF. Und selbst die Einstiegsseite macht nichts, außer auf einen Controller zu forwarden. Die lieben User sind halt zu faul, eine vollständige URL einzugeben und dafür hab ich halt eine index.jsp. Sonst ist auch die für nix gut.

                Und zu dem Fehler
                org.apache.jasper.JasperException: /index.jsp(55,11) The value for the useBean class attribute model.UserBean is invalid
                Das ist so ohne Code wirklich etwas Kaffesatzleserei. Ist UserBean eine selbst geschriebene Klasse? Oder kommt sie aus einem Framework. Wie sieht die index.jsp aus?

                Gruß ngomo
                Zuletzt editiert von ngomo; 22.09.2010, 23:21.
                http://www.winfonet.eu

                Comment


                • #9
                  ok, also der link den du mir gesendet hast, dort steht eindeutig drinn

                  Man kann dort aber durchaus HTML- und JSP-Seiten nutzen, wenn sie von einem Servlet aus mittels Request-Forwarding aufgerufen werden. Dies ist sogar gängige Praxis bei Anwendungen, die dieses Modell nutzen, um ein versehentliches Aufrufen der JSPs ohne die dringend benötigten Request-Attribute zu unterbinden.
                  Gängie Praxis jsp zu verwenden, also denke ich mal das ich trotzdem alles richtig mache!

                  Comment


                  • #10
                    JSP unter WEB-INF sind MÖGLICH

                    @ngomo

                    b) die Ablage der JSP im WEF-INF ist regelmäßig falsch. Siehe Link
                    Das Wort regelmäßig bedeutet genau wie grundsätzlich, dass es Aussahmen gibt. Die sind auch so im o.a. Link beschrieben. Ist natürlich traurig, wenn man was raussucht und es liest keiner....Deshalb wäre wohl die Überschrift ....möglich" korrekt.


                    Ob es bestPractice kann man diskutieren....

                    also ich greife auf nicht direkt auf die jsp zu, sondern ein servlet dispatcht immer auf die jsp's!
                    Das habe ich überlesen.....

                    Gehe mal davon aus, dass er kein Interesse mahr an der Lösung hat, da er nun nach zweimaligen Nachfragen entsprechenden Code nicht postet
                    Zuletzt editiert von Christian Marquardt; 23.09.2010, 07:05.
                    Christian

                    Comment


                    • #11
                      das man evtl für ne zeit mal nicht am pc ist, das geht nicht oder?

                      die UserBean ist selbst erstellt! und ich denke das es mit dem deployen jetzt auch klappt, da ich das manuell eingestellt habe in der server.xml vom tomcat, sprich ich habe dort den pfad zu meinem projekt angegeben.

                      nochmal zurück zur userBean, ich verstehe ehrlich gesagt nicht warum ich code posten soll, da ich wie schon mehrfach gesagt im eclipse keine probleme habe es läuft einwandfrei. der fehler tritt erst auf wenn das projekt deployt wird und auf dem public server laufen soll! Meiner Meinung nach findet Tomcat irgendwelche Verzeichnisse nicht etc.!

                      Comment


                      • #12
                        nochmal zurück zur userBean, ich verstehe ehrlich gesagt nicht warum ich code posten soll,
                        Weil in der index.jsp offenbar die Nutzung der Bean zu einem Fehler führt. das wäre es gut zu wissen, wer oder was die UserBean ist und was sie intern ev. macht. Nun wurde mit Beitrag 6,7,8 nach dem Code gefragt....

                        Meiner Meinung nach findet Tomcat irgendwelche Verzeichnisse nicht etc.!
                        Auch das ist aus der Ferne ohne weitere Angaben nicht zu lösen. Keiner kennt deine Projektstrukur. Keiner weiss wie die Struktur dann im WAR ist usw.

                        Ev. fehlen Bibliotheken für den Server, die du nicht mit exportierst, aber in Eclipse vorhanden sind...

                        Aber du musst ja nicht zur Lösung beitragen
                        Zuletzt editiert von Christian Marquardt; 23.09.2010, 08:05.
                        Christian

                        Comment

                        Working...
                        X