Handout „Klausurnoten-Tool“ Inhaltsverzeichnis: 1) Vorstellung 2) JSP – Funktionsweise 3) Tomcat – Kleiner Überblick 4) Apache Tomcat – WebApplikationen 5) Apache Tomcat – Beispiel für Deployment 6) Glossar 7) Quellenangaben (1) Vorstellung Notentool als Teil eines ganzen: FH-Portal Für das Portal werden mehrere Dinge benötigt (Pinnwand, Notentool, usw.). Daher passt dieses Projekt sehr gut in unser großes Projekt. Das Notentool ermöglicht das Hochladen von Noten per JSP Oberfläche in eine Datenbank. Außerdem beinhaltet es eine Userverwaltung um z.B. sicher zu stellen, dass jeder nur seine eigenen Noten einsehen kann. Das Team Name: Vorname: Geb.-Datum: Beruf: Aufgabenfeld: Kontakt: Zerna Michael 23.06.1984 Student an der HS-Merseburg (FH) * allgemeine Programmlogik * Sicherheitsaspekte * CSS * allgemeines Layout * Teamleitung [email protected] Name: Vorname: Geb.-Datum: Beruf: Aufgabenfeld: Radestock Robert 11.05.1986 Student an der HS-Merseburg (FH) * DB-Logik * DB-Design * DB-Sicherheit * XLS Kontakt: [email protected] (2) JSP – Funktionsweise (3) Apache Tomcat – Kleiner Überblick Tomcat 5.5 |__bin |__common |__conf |__logs |__webapps |__work die Programme startup und shutdown verfügbare Klassen für interne Web-Apps. Konfigurationsdateien. Wichtigste server.xml die Log-Dateien JSPs, Servlet, HTML-Seiten temporäre Dateien von Tomcat (4) Apache Tomcat – WebApplikationen Verzeichnis Inhalt Erläuterung / HTML, Bilder, statische Dateien, JSPs Statische Dateien: alle Dateien die unverändert durch den Webserver an den Browser geschickt werden /WEB-INF Web.xml Deployment-Deskriptor /WEB-INF/classes Class-Dateien *.class-Dateien liegen hier. Ordner ist automatisch im CLASSPATH eingetragen /WEB-INF/lib Jar-Archive Jars, die *.class-Dateien enthalten. z.B.: JXL (5) Beispiel für Deployment Web-Applikation als WAR-Datei (Beispiel für /Web-Inf/web.xml) <?xml version="1.0" encoding="ISO-8859-1"?> <!-Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description> <!-- JSPC servlet mappings start --> <servlet> <servlet-name>org.apache.jsp.index_jsp</servlet-name> <servlet-class>org.apache.jsp.index_jsp</servlet-class> </servlet> <servlet-mapping> <servlet-name>org.apache.jsp.index_jsp</servlet-name> <url-pattern>/index.jsp</url-pattern> </servlet-mapping> <!-- JSPC servlet mappings end --> </web-app> Web-Applikation als Verzeichnis ($TOMCAT_HOME/conf/server.xml) <Server><Service><Engine><Host> ... ... <Context path="/Board" reloadable="true" docBase="C:\Engineering\Tomcat\webapps\ROOT\Board" workDir="C:\Engineering\Tomcat\webapps\ROOT\Board\work" /> </Host></Engine></Service></Server> (6) Glossar JSP Java Server Pages (JSP) ist eine Technologie für die Programmierung von Webseiten mit dynamischen Inhalten. Sie stammt von der Firma Sun Microsystems, die auch Java entwickelt hat. JSPs sind HTML-Seiten, in die Java-Code eingebettet ist.1 JavaScript JavaScript ist eine Sprache, die 1995 von Netscape eingeführt und lizenziert wurde. JavaScript ist eine objektbasierte Skriptsprache mit Elementen aus den funktionalen Programmiersprachen. Objektorientierung wird durch Prototypen unterstützt. 2 Servlet Servlet ist ein kleines, nachladendes Programmstück, das ähnlich CGI Webseiten dynamisch generiert. Es bietet gegenüber CGI besserer Performance und mehr Funktionalität. Entwickelt wurde es vom Java-“Papa“ James Gosling um 1994. 3 CGI Common Gateway Interface (CGI) generiert dynamische Webseiten. Wurde in der Anfangsphase des Web definiert und war praktisch überall verfügbar. Ist jedoch langsam. Es startet für jede Anfrage ein Programm. Java-Programmierer wurden mit CGI nicht glücklich. Es dauerte zu lange ein Java-Programm zu starten. 3 WML Wireless Markup Language (WML) ist eine XML-basierte Seitenbeschreibungssprache, die eine stark reduzierte Fassung von XHTML darstellt. Sie ist Teil des Wireless Application Protocol (WAP) und zur Darstellung veränderlicher Inhalte auf Mobiltelefonen entwickelt worden. Der WML-Code wird in einen speziellen Binärcode umgewandelt, der an das Mobiltelefon gesendet wird. 4 WAP Das Wireless Application Protocol (WAP) bezeichnet eine Sammlung von Technologien und Protokollen, deren Zielsetzung es ist, Internetinhalte für die langsamere Übertragungsrate und die längeren Antwortzeiten im Mobilfunk sowie für die kleinen Displays der Mobiltelefone verfügbar zu machen. 5 JVM Die Java Virtual Machine führt den so genannten Java-Bytecode aus. Bytecode entsteht durch Kompilierung von Programmen, die z.B. in Java geschrieben sind. Durch die Java Virtual Machine und des Bytecodes, sind plattformunabhängige Programme möglich. 6 ASP Active Server Pages, sind HTML-Seiten die Scriptcode einbetten, in der Regel VBScript. Das ASP-Modell ist intuitiv und leicht zu erlernen. Java Beans JavaBeans sind Software-Komponenten für die Programmiersprache Java. Sie werden in der Softwareentwicklung als Container zur Datenübertragung verwendet. 7 Template-Modell Veränderliche Teile, bei HTML-Seiten, werden zur Laufzeit ausgefühlt. Java Server Faces JavaServer Faces (kurz: JSF) ist ein Framework-Standard im Bereich der Webanwendungen. Mit Hilfe von JSF kann der Entwickler auf einfache Art und Weise Komponenten für Benutzerschnittstellen in Webseiten einbinden und die Navigation definieren. 8 (7) Quellenangaben Quellen: ¹Wille: Java Server Pages, S. 23. 2 Vgl.: http://de.wikipedia.org/wiki/JavaScript 3 Wille: Java Server Pages, S. 24. 4 Vgl.: http://de.wikipedia.org/wiki/Wireless_Markup_Language 5 Vgl.: http://de.wikipedia.org/wiki/Wireless_Application_Protocol 6 Vgl.: http://www.statistik.baden-wuerttemberg.de/intermaptiv/vm.asp 7 Vgl.: http://de.wikipedia.org/wiki/JavaBeans 8 Vgl.: http://de.wikipedia.org/wiki/JavaServer_Faces