Eigenes CMS schreiben (mit JSP, Java, HTML, CSS und JavaScript)

Malak410

Ensign
Registriert
Aug. 2010
Beiträge
254
Hallo zusammen,

ich habe ein neues Projekt - und zwar möchte ich basierend auf den im Titel genannten Technologien ein eigenes kleines CMS mit Benutzer und Inhalt-Verwaltung schreiben. Die Inhalte die via JSP-Seiten dann angezeigt werden sollen, müssen aus einer MySQL-Datenbank eingelesen werden können. Bevor man aber Inhalte anlegen kann, muss man sich erst registrieren und einloggen.

Ist mein Vorhaben realistisch? Ich habe so etwas noch nie gemacht...
Welche Herangehensweisen gibt es da und wie setze ich die Idee am besten in die Tat um?
 
- Freemarker statt JSP
- dein Vorhaben ist ziemlich allgemein gehalten. Hast du mal eine kleine Liste von Anforderungen erstellt, was du dir überhaupt vorstellst, was es alles leisten kann/soll?
 
  • Gefällt mir
Reaktionen: Malak410
Vielen Dank für deine Antwort.
Die Freemarker sind ein guter Tipp!

Folgende Anforderungen habe ich erstmal:

=> alles soll irgendwie in einer MySQL Datenbank gespeichert werden
  1. Es soll ein Front- und ein Backend geben
  2. Einfache Benutzerverwaltung (Loginformular mit Username + Password): es soll default und admin Benutzer geben
  3. Es soll ein Benutzerkontrollzentrum geben, in dem jeder Benutzer sein passwort ändern kann
  4. Die eingeloggten Nutzer sollen Dateien hochladen können (ähnlich einer Cloud) und diese dann über eine Seite angezeigt bekommen und wieder downloaden können
  5. Die Nutzer sollen Texte auf bestimmten Seiten hochladen können und diese bearbeiten können
 
Das ist sehr gut realisierbar, allerdings unter der Kategorie Hobbyprojekt. :)

Ist ein gutes Projekt, um Datenbanken und serverseitig Sprachen besser zu lernen.

Ich würde anfangen mit der Authentifizierung, also dem Login etc. Gleichzeitig solltest du dabei aber schon einen (sehr) konkreten Plan haben, was für Benutzerrollen du brauchst, welche anderen Attribute, also wie deine Seite aufgebaut sein soll.

Ich sollte schon ein paar mal auf vorhandenen Seiten ein Login einbauen und es war meiner Meinung nach jedes Mal eine Qual, weil die Authentifikation dabei halt eigtl. ins Grundgerüst gehört und man deshalb echt viel ändern muss etc.
 
  • Gefällt mir
Reaktionen: Malak410
Magst du das Projekt einfach aus Spaß an der Freude umsetzen oder gibt es einen Hintergrund dazu? Soll es später produktiv verwendet werden? Gibt´s einen Zeitrahmen dafür?
 
Was FranzvonAssisi schon angedeutet hat, ist dies eher erstmal ein Projekt was ich für mich nutzen möchte, um mich in dem Befeich weiterzubilden.
Wenn ich später einmal vor ähnlichen Aufgaben stehe, wäre das natürlich nett, wenn ich auf entsprechende Codezeilen und Vorgehensweisen zurückgreifen könnte. Also möchte trotzdem strukturiert vorgehen und nicht irgendwas halbherziges zusammenprogrammieren, was zwar funktioniert, wo aber niemand mehr durchblicken kann.

Habt ihr evtl. noch ein paar Tipps und Leitfäden zum Vorgehen und zu verwendende Werkzeugen und Sprachen?

Ich arbeite mit Eclipse und möchte eine MySQL Datenbank nutzen, auf die ich global zugreifen kann zwecks CRUD. Ein Login mit Zugriff auf die Datenbank habe ich nun schon mittels Servlet, einer Validate Klasse und JSP-Seiten umgesetzt (Vgl.: https://www.studytonight.com/servlet/login-system-example-in-servlet.php)

Wie kann ich am einfachsten CRUD umsetzen, ohne dabei Unmengen von Code schreiben zu müssen?

PS: ich verwende zum Layouting übrigens Bootstrap
 
Zuletzt bearbeitet:
Ich kann hier nur das Laravel Framework ans Herz legen, ist zwar PHP und nicht JSP, aber mit Einarbeitung kommt man sehr schnell zu brauchbaren Ergebnissen. CRUD ist damit spielend einfach.

Hier wird im Übrigen ebenfalls das MVC Modell angewandt...
 
  • Gefällt mir
Reaktionen: Malak410
Du bist dir also seitens der Backend-Sprache bereits sicher, dass du Java benutzen willst?

Ich denke in deinem Fall wäre es sinnvoller, wenn du ein bereits bestehendes Web-Framework benutzt und da dann deine eigenen Bedürfnisse und Anforderungen rein programmierst. Klar kannst du das auch mit Servlets machen aber mit einem Framework kommst du schnellerer ans Ziel.

Der Industrie-Standard bei Java-Web-Applikationen ist das Spring-Framework.

Es gibt allerdings auch einige interessante Micro-Frameworks die sehr interessant sind.


Du solltest dir auf jeden Fall bewusst sein, dass wenn du soetwas das erste Mal machst, du viel Code schreiben wirst, den du nach einer Weile verwirfst, weil du im Laufe der Zeit erst merkst, dass du was falsch gemacht hast bzw. die neue Anforderungen immer komplizierter werden zu integrieren.

Ich hatte vor vielen Jahren ein sehr ähnliches Programm geschrieben wo es auch mein erstes Mal war und ich hab da teilweise Code-Stücke 6-7mal neu geschrieben (selbst dann wars nicht mal ansatzweise professionell)


Was auch sehr wichtig ist, du solltest dich direkt während deines CMS-Baus auch mit Unit-Testing beschäftigen. Der Vorteil solcher Unit-Tests ist nicht nur, dass Sie dein System testen ob denn alle Funktionen so funktionieren wie du es dir vorstellst. Viel wichtiger ist auch, dass wenn du später mal an irgendeiner Stelle etwas umbaust und einer der Unit-Tests schmeißt hinterher einen Fehler - dann weißt du genau du hast irgend einen Blödsinn beim Umbau gemacht
 
  • Gefällt mir
Reaktionen: Malak410
DJ_We$t schrieb:
Ich kann hier nur das Laravel Framework ans Herz legen, ist zwar PHP und nicht JSP, aber mit Einarbeitung kommt man sehr schnell zu brauchbaren Ergebnissen. CRUD ist damit spielend einfach.

Danke für die Empfehlung, allerdings möchte ich das ganze gerne auf JSP-Basis machen und nicht php benutzen.
 
Ich schließe micht dem Spring-Vorschlag an. Und bloß nicht mehr mit nackigen Servlets rumfummeln. Da kannst du der Bildung wegen mal eine halbe Stunde mit rumprobieren, denn unter der Haube bleiben dir die Servlets erhalten, aber normalerweise hast du damit nicht mehr viel zu tun.

Direkt Spring MVC (ob JSP oder z.B. Thymeleaf, dazu solltest du dir vorher mal Vergleiche ansehen), Spring Security für die Authentisierung ansehen, Spring Data für den Datenbankzugriff.

Starte am besten hiermit und erweitere das Beispiel: https://spring.io/guides/gs/serving-web-content/
 
  • Gefällt mir
Reaktionen: PEASANT KING und Malak410
Von Spring fühle ich mich gerade etwas erschlagen... :rolleyes:

Gibt es dazu einsteigerfreundliche Tutorials mit Beispielprojekten? Ich habe keine Ahnung wo und wie ich am besten damit anfangen soll.
 
Zuletzt bearbeitet:
Ich finde Spring persönlich auch übertrieben für kleinere Projekte

schau dir mal das Ninja-Framework an, damit habe ich einige kleinere Projekte realisiert, ich finds super.

http://www.ninjaframework.org/
 
  • Gefällt mir
Reaktionen: Malak410
Zurück
Oben