Εισαγωγή στις Σελίδες Εξυπηρετητή Java Java Server Pages (JSP)

Σχετικά έγγραφα
Java Servlets: Principles and Programming 1/19

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 8 η Διάλεξη: Προγραμματισμός στην πλευρά του εξυπηρετητή: Τεχνολογία Java Server Pages (JSP)

Java Servlets. Εισαγωγή. Σταύρος Πολυβίου

Περιγραφή της εργασίας

Java & Java EE 2o Μέρος: Διασφάλιση ευκολίας τροποποίησης με το πρότυπο MVC (Model View Controller) Κακαρόντζας Γεώργιος

Διαδίκτυο και Εφαρμογές 2η Άσκηση Μετασχηματισμοί XML και XSL. Γιαννέλος Γιάννης ΑΜ: Μαρινέλλης Γιώργος ΑΜ:

Περιεχόμενα ΕΥΧΑΡΙΣΤΙΕΣ ΕΙΣΑΓΩΓΗ Σχετικά με τους συγγραφείς...24

Κατανεµηµένα Συστήµατα ΙΙ Μάθηµα Ελεύθερης Επιλογής, Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Τα βασικά για Servlet

Διαδικτυακές Εφαρμογές Ενότητα 5: Servlets και JSPs

Αντικειµενοστρεφής Προγραµµατισµός

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Προγραμματισμός στην πλευρά του εξυπηρετητή: Τεχνολογία Servlet

Σύστημα για on-line δημοπρασίες & πωλήσεις

Βούρβαχης Αντώνιος Γεώργιος 1086 ΠΓ. Γιάνναρος Παναγιώτης Μιχαήλ-Στυλιανός 1148 ΠΒ. Αιβαλής Κωνσταντίνος Καθηγητής Τομέα Πληροφορικής

Java & Java EE 1o Μέρος: Servlets και Java Server Pages. Κακαρόντζας Γεώργιος

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

Cloud Computing Database with Amazon SimpleDB

ΤΕΙ Σερρών Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής & Επικοινωνιών. Επώνυμο Όνομα: Α.Μ. : Εξάμηνο : Αίθουσα

ΜΑΘΗΜΑ: Διαδικτυακές Εφαρμογές

Κεφάλαιο 7 ΔΙΑΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ JAVA SERVLETS


ΚΑΤΑΝΕΜΗΜΕΝΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΣΥΣΚΕΥΩΝ ΑΣΗΜΑΚΟΠΟΥΛΟΣ ΣΩΤΗΡΗΣ ΑΜ : 3021

Πτυχιακή εργασία. Ανάπτυξη παιχνιδιού πολλών παικτών

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1

Αντικειµενοστραφής Προγραµµατισµός

Μάθημα 2 [10/11/2015]

Τι είναι η Spring. Η Spring είναι ένα ελεύθερο (open source) περιβάλλον εργασίας για εφαρμογές Java. Μπορεί να περιγραφεί ως:

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ

ΑΝΑΠΤΥΞΗ WEB ΕΦΑΡΜΟΓΩΝ ΜΕ JAVA SERVLETS

Αντικειμενοστρεφής Προγραμματισμός

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack

Java & Java EE 3o Μέρος: Διασφάλιση ασφάλειας σε εφαρμογές Java Enterprise Edition. Κακαρόντζας Γεώργιος

NetBeans και σχετικά προγράμματα. Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα

Λογισµικό (Software SW) Γλώσσες

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

ιαδικτυακές Εφαρµογές

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

Βασικά της γλώσσας JAVA

Αντικειμενοστρεφής Προγραμματισμός

Τεχνικός Εφαρμογών Πληροφορικής

Διαδικτυακές Εφαρμογές Ενότητα 6: Servlets και JSPs (Παραδείγματα)

2.1 Αντικειµενοστρεφής προγραµµατισµός

Οντοκεντρικός Προγραμματισμός

Εργαστήριο Σημασιολογικού Ιστού

HelloApplet. Παύλος Εφραιμίδης Java Applets 1

Κληρονομικότητα. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Java Κληρονομικότητα 1

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

Βασικές Έννοιες Web Εφαρμογών

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

ΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ

9:00-10:00 π.μ. (60 λεπτά) Παρασκευή, 14 Οκτωβρίου, 2016

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

Εργαστήριο Σημασιολογικού Ιστού

ιαδικτυακές Εφαρµογές Πραγµατικού Χρόνου µε Java

6. Εξαιρέσεις στη γλώσσα Java

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

Οντοκεντρικός Προγραμματισμός

Πρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη

class object Database Database Item Item [sub-typing and polymorphism] MusicCD Video MusicCD Video

Το παρακάτω πρόγραμμα ορίζει δυο κλάσεις την SimpleThread και την TwoThreadsTest:

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP

Δομές Δεδομένων & Ανάλυση Αλγορίθμων. 3ο Εξάμηνο. Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΠΡΟΤΥΠΩΝ ΣΧΕΔΙΑΣΗΣ» της ΜΑΡΙΑΣ ΜΟΥΡΑΤΙΔΟΥ

Java Μέρος Ι Αντικειμενοστρεφής Προγραμματισμός - 7

Τεχνολογία Λογισμικού

άσκηση Hide UI Elements 7.2 Try and Catch

Ask1, Ask2, Ask3. private void jbutton1actionperformed(java.awt.event.actionevent evt) { jlabel1.settext( "You pressed the 1st button" ); }

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΥΛΟΠΟΙΗΣΗ ΔΙΑΔΙΚΤΥΑΚΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ SUPER MARKET (e-shop), ΜΕ ΧΡΗΣΗ ΤΩΝ ΤΕΧΝΟΛΟΓΙΩΝ JAVA (JSP, servlets, JDBC) & MYSQL

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους

Διδάσκων: Παναγιώτης Ανδρέου

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #12

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

Εναρμόνιση παραδειγμάτων δυναμικών σελίδων σε διάφορες τεχνολογίες ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης

Αντικειμενοστρεφής Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ηµιουργία ιαλογικών Προγραµµάτων για το Web

Παύλος Εφραιµίδης. Java. Κληρονοµικότητα

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης

14. Δικτύωση με Java Δικτύωση με Java Sockets Δημιουργία της σύνδεσης Διευθυνσιοδότηση της σύνδεσης

Oι βασικές πράξεις (λειτουργίες) που ορίζονται για τον τύπο στοίβα αναφέρονται παρακάτω:

Ειδικά Θέματα Προγραμματισμού

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Οντοκεντρικός Προγραμματισμός

Transcript:

Εισαγωγή στις Σελίδες Εξυπηρετητή Java Java Server Pages (JSP)

Τι είναι τα JSP ; Σελίδες Εξυπηρετητή σε Java Μέθοδος δημιουργίας δυναμικών σελίδων (σε HTML ή XML) Το κύριο έγγραφο είναι γραμμένο σε HTML και περιέχει ενσωματομένο κώδικα Java Βασική διαφορά με τα Servlets: Στα Servlets Ο κώδικας HTML παράγεται από εντολές println

Servlet ServerTime package mypackage; import @WebServlet("/servertime") public class ServerTime extends HttpServlet { @Override public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html"); PrintWriter out = response.getwriter() out.println ("<!DOCTYPE html>\n" + "<html>\n" + "<head><title>server Time by Servlet</title></head>\n" + "<h1>time on Server: </h1>\n" + new java.util.date() + "</body></html>"); } }

Έξοδος ServelTime

servertime.jsp <!DOCTYPE html> <html> <head><title>server Time by JSP Page</title></head> <body> <h1>time on server: </h1> <%= new java.util.date () %> </body> </html>

Έξοδος servertime.jsp

Πως λειτουργούν ; Την πρώτη φορά μια JSP σελίδα μεταφράζεται σε ένα Servlet το οποίο και εκτελείται. Τις επόμενες φορές απλά εκτελείται το servlet (αν η JSP σελίδα δεν έχει αλλάξει) Χρησιμοποιείται το πακέτο javax.servlet.jsp JspPage HttpJspPage Ορίζουν τις ακόλουθες μεθόδους jspinit() jspdestroy() _jspservice(httpservletrequest request, Http ServletResponse response)

Που βρίσκεται το Jsp Servlet στο Περιβάλλον Eclipse C:\TED\workspace\eclipse\99999\.metadata\.plugins\ org.eclipse.wst.server.core\tmp 0\work\ Catalina\localhost\myproject\or g\apache\jsp

Jsp <%@ page %> Directive <%@ page import="java.util.*" %> <!DOCTYPE html> <html> <head><title>server Time by JSP Page</title></head> <body> <h1>time on server: </h1> <%= new Date () %> </body> </html>

Jsp scriplets <% %> <%@ page import="java.util.*" %> <!DOCTYPE html> <html> <head><title>server Time by JSP Page</title></head> <body> <% Date now = new Date(); %> <h1>time on server: </h1> <%= now %> </body> </html>

Jsp Δηλώσεις <%! %> <%@ page import="java.util.*" %> <%! Date firstdate = new Date(); Date getservertime () { return new Date(); } %> <!DOCTYPE html> <html> <head><title>server Time by JSP Page</title></head> <body> <h1>time on server: </h1> <%= getservertime() %> <h2>time first called: </h2> <%= firstdate %> </body> </html>

Χρήση UTF-8 σε JSP <%@ page import="java.util.*" %> <%@ page contenttype="text/html; charset=utf-8" %> <!DOCTYPE html> <html> <head><title>server Time by JSP Page</title></head> <body> <h1>η ώρα είναι: </h1> <%= new Date() %> </body> </html>

Ποια είναι τα στοιχεία JSP Υπάρχουν πολλές εκδόσεις των προδιαγραφών JSP (1.0, 1.1, 1.2, 2.0, 2.2) σε κάθε μια προστίθενται νέα στοιχεία Οδηγίες - Directives (γενικές πληροφορίες για την σελίδα, πχ import files, χρήση session) Δηλώσεις - Declaratives (Μεταβλητές και συναρτήσεις ορατές από όλη την σελίδα) Τμήματα Κώδικα - Scriptlets (Ο κώδικας Java που περιέχεται στην σελίδα) Εκφράσεις - Expressions (Εκφράσεις που μετατρέπονται σε String και εισάγονται στην σελίδα). Ενέργειες - Actions (Χρήση ειδικών ετικετών για χρήση κώδικα που ορίζεται εκτός της σελίδας).

Οδηγίες (Directives) <%@ directive {attribute= " value } %> page, include, taglib <%@ page import="java.io.*, java.util.date" %> <%@ page contenttype="text/html; charset=utf-8" %> Χαρακτηριστικά για την οδηγία page language, import, extends session (true/false), buffer, autoflush (true/false) errorpage, iserrorpage, contenttype

Δηλώσεις (Declaratives) Τοποθετούνται σαν μέλη της κλάσης (servlet) που θα δημιουργηθεί. Τα αντικείμενα που δηλώνονται ειναι ορατά από διάφορες κλήσεις της σελίδας. <%! String var1 = "x "; %>

Τμήματα Κώδικα (scriplets) Τοποθετείται μέσα στην μέθοδο _jspservice η οποία καλείται όταν ζητηθεί η σελίδα jsp που την περιέχει. <%.. %> Μπορεί να χρησιμοποιεί τις μεταβλητες: request, response, pagecontext, session, application (getservletconfig.getcontext()), out, config (ServletConfig object), page(this), exception (errorpage)

Εκφράσεις (Expressions) <%=. %> Μετατρέπονται σε εντολές out.write και τοποθετούνται μέσα στην μέθοδο _jspservice() Τα περιεχόμενα της έκφρασης τοποθετούνται στην σελίδα. <%= request.getparameter("price") %>