Zum Inhalt springen

Servlet's schreiben?


Festus

Empfohlene Beiträge

Hallo,

ich habe mal wieder ein kleines Problem mit Java.

Jaraz hat mir vor einiger Zeit geraten eine Datenbankabfrage mit Servlets zu realisieren nun stehe ich erneut vor ein Problem.

Ich habe ein Servlet geschrieben (glaube ich jedenfalls) doch als was speicher ich das File?

Als *.java?

Und wie bekomme ich die *.class Datei?

Der Compiller JpadPro gibt mir mir folgende Fehlermeldungen aus:

(Könnt Ihr mir einen Tip geben welchen Compiller man evtl. noch verwenden könnte?)

Compiling C:\JSDK2.0\Stabil.java

C:\JSDK2.0\Stabil.java:37: ')' expected

rsgetInt ("ScVorw") + rs.getInt ("ScRuf");

^

C:\JSDK2.0\Stabil.java:38: ')' expected

out.println("</Li>"

^

C:\JSDK2.0\Stabil.java:1: package javax.servlet does not exist

import javax.servlet.*;

^

C:\JSDK2.0\Stabil.java:2: package javax.servlet.http does not exist

import javax.servlet.http.*;

^

C:\JSDK2.0\Stabil.java:7: cannot resolve symbol

symbol : class HttpServlet

location: class Stabil

public class Stabil extends HttpServlet

^

C:\JSDK2.0\Stabil.java:9: cannot resolve symbol

symbol : class HttpServletRequest

location: class Stabil

public void doGet (HttpServletRequest request, HttpServletResponse response)

^

C:\JSDK2.0\Stabil.java:9: cannot resolve symbol

symbol : class HttpServletResponse

location: class Stabil

public void doGet (HttpServletRequest request, HttpServletResponse response)

^

C:\JSDK2.0\Stabil.java:10: cannot resolve symbol

symbol : class ServletException

location: class Stabil

throws ServletException, IOException

^

C:\JSDK2.0\Stabil.java:37: cannot resolve symbol

symbol : method rsgetInt (java.lang.String)

location: class Stabil

rsgetInt ("ScVorw") + rs.getInt ("ScRuf");

^

C:\JSDK2.0\Stabil.java:45: cannot resolve symbol

symbol : class SQLExeption

location: class Stabil

catch (SQLExeption e)

^

10 errors

Und so sieht der Quellcode aus:

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.sql.*;

import java.text.*;

public class Stabil extends HttpServlet

{

public void doGet (HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException

{

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

response.setContentType("text/html");

PrintWriter out = response.getWriter();

try

{

Class.forName("jdbc:odbc:schulen");

String url = "jdbc:odbc:schulen";

conn = DriverManager.getConnection( url, "User", "User" );

stmt = conn.createStatement();

String query = "select ScSNR, SCNam1, ScVorw, ScRuf" +

"from schule" +

"where ScNr = '" + request.getParameter("schulnummer") + "'";

rs= stmt.executeQuery(query);

out.println("<Html>");

out.println("<Head> <Title> IZN-Stabil-Support-Formular </Title> </Head>");

out.println("<Body>");

out.println("<H1> Schuldaten </H1>");

out.println("<Ul>");

while (rs.next())

out.println("<Li>" + rs.getInt ("ScSNR") +

rs.getString ("ScName1") +

rsgetInt ("ScVorw") + rs.getInt ("ScRuf");

out.println("</Li>"

out.println("</Body> </Html>");

}

catch (ClassNotFoundException e)

{

out.println("Datenbanktreiber nicht gefunden:"+ e.getMessage());

}

catch (SQLExeption e)

{

out.println("SQLException: " + e.getMessage());

}

finally

{

try

{

if (conn !=null) conn.close();

} catch (SQLException ignorieren) {}

}

}

}

Vielen Dank im Voraus

Festus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Festus

Als *.java?

Ja

Original geschrieben von Festus

Und wie bekomme ich die *.class Datei?

indem du die java Dateien compilierst. ;)

Original geschrieben von Festus

Der Compiller JpadPro gibt mir mir folgende Fehlermeldungen aus:

Das ist eine IDE und kein Compiler. ;)

Einfach losprogrammieren, bringt ziemlich wenig, wenn man sich nicht mal mit den Basics beschäftigt.

Siehe erst einmal zu, dass du ein Hello World im Browser hinbekommst.


import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;


public class HelloWorld extends HttpServlet {


  public void doGet(HttpServletRequest req, HttpServletResponse res)

                               throws ServletException, IOException {


    res.setContentType("text/html");

    PrintWriter out = res.getWriter();


    out.println("<HTML>");

    out.println("<HEAD><TITLE>Hello World</TITLE></HEAD>");

    out.println("<BODY>");

    out.println("<BIG>Hello World</BIG>");

    out.println("</BODY></HTML>");

  }


Auf alle Fälle brauchst du einen Servlet Container.

Die Referenzimplementierung Tomcat findest du unter http://jakarta.apache.org.

Dabei ist eine gute Doku und jede Menge Examples die du dir anschauen solltest. Servlet Unterstützung gibt es für verschiedenste IDEs. Ich nutze Eclipse www.eclipse.org , was aber nicht gerade einfach zu benutzen ist, da du dort erstmal Plugins nachinstallieren musst. Ob JpadPro das debuggen von Servlets unterstützt, weiss ich nicht.

Relativ einfach soll wohl IDEA sein. Gibt es unter http://www.intellij.com/idea/.

Ebenso würde ich dir als Einstiegslektüre zu

Java Servlet-Programmierung von O'Reilly raten.

http://www.oreilly.de/catalog/jservlet2ger/

Weitere Allgemeine Infos zu Servlets gibt es unter: http://www.servlets.com/docs/index.html

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke erstmal!

TomCat und Apache habe ich schon auf einen seperaten Rechner installiert und es läuft soweit.

Na dann werde ich erst mal schauen ob ich das „Hello World“ Servlet zum laufen bekomme.

Werde wohl einen anderen IDEA ;) verwenden.

Ist TomCat eigentlich ein eigener Webserver oder setzt er den Apache oder IIS voraus?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Festus

Ist TomCat eigentlich ein eigener Webserver oder setzt er den Apache oder IIS voraus?

Tomcat kann wenn man ihn dafür konfiguriert, beides. In Produktionsumgebungen wird aber weiterhin Apache für statischen Content beutzt, da das nicht gerade Tomcats stärke ist.

Näheres hier: http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk/aphowto.html

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 7 Monate später...

Um in Eclipse Plugins zu installieren muss man meistens eine Datei entpacken. Der darin enthalten Ordner hat dann einen Namen, der eine Paket Struktur darstellt

Bsp

org.eclipse.ant.core_2.11

Diesen Ordner muss man dann in den Plugins Ordner von Eclipse kopieren und dann Eclipse neu starten.

Bei den meisten Plugins gibt es allerdings auch eine Readme die erklärt wie man das Plugin installiert und wie man es danach startet

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke, habe es geschafft. Hier nochmal für alle:

1. unter http://jakarta.apache.org/site/binindex.cgi Tomcat runterladen und installieren (egal wohin, Port: 8080)

2. unter http://www.sysdeo.com/eclipse/tomcatPlugin.html

TomcatPlugin für Eclipse herunterladen und ins Plugin-Verzeichnis von Eclipse kopieren/entpacken

3. Eclipse starten

4. Unter Windows-Customize Perspective wählen und bei "Other" Häkchen bei Tomcat -> dadurch erscheinen die 3 Buttons (T starten, T beenden, T neustarten)

5. Windows-Preferences-Tomcat dort den Ort einstellen (da, wohin installiert); bei den JVM Einstellungen entsprechende Einstellungen eingeben (Admin/Entwickler fragen)

6. Neues Tomcat-Projekt anlegen, Projektname beliebig, Häkchen bei content auf 'use default' belassen

7. alle benötigten Jars ins Verz lib kopieren

8. alle Sourcen nach src kopieren

9. Rechtsklick auf Projektname und Refresh

Ich musste noch eine web.xml erzeugen und dort einiges reinschreiben, aber das muss man selber sehen...

Gruss an alle die dit hilft

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...