kategória | ||||||||||
| ||||||||||
| ||
|
||||||||||
Web Container (http request és response; webalkalmazás felépítése; hogyan futtatja a Tomcat a servleteket; hány példány jön létre a servletekböl)
A HTML lehetöséges biztosít arra, hogy az Interneten publikált információinkat, dokumentumainkat a világ bármely pontján levö számítógép értelmezni tudja.
Az SGML (Standard Generalized Markup Language, ISO 8879) egy olyan rendszer, amelynek segítségével ún. jelölönyelveket lehet definiálni. A 141c28b dokumentumok szerzöi különbözö jelölésekkel adják meg a szerkezeti, prezentációs és szemantikai információkat. A HTML az SGML tipikus alkalmazása.
Minden SGML alkalmazás a következökkel írható le:
1. SGML deklaráció. Ez meghatározza, hogy mely karakterek és elválasztók jelenhetnek meg az alkalmazásban.
2. Dokumentum Típus Definíció (DTD). Ez a jelölöszerkezetek leírását tartalmazza, ezen kívül karakterhivatkozásokat is magába foglalhat.
3. Specifikáció, amely megadja a szemantikai szabályokat.
Minden SGML alkalmazás deklarál elemtípusokat, amelyek struktúrákat vagy viselkedésmódokat határoznak meg, a HTML esetében például paragrafusokat, hipertext linkeket, listákat, táblázatokat, képeket, stb.
Minden elemtípus deklarációja alapvetöen három dolgot tartalmaz: egy ún. kezdö tag-et, az elem tartalmát és a befejezö tag-et.
A tag-eket a szemléletesség kedvéért úgy is felfoghatjuk, mint egyfajta címkéket. Ezek a címkék határozzák meg a HTML dokumentumban az egyes elemek elejét, végét és a két címke közti tartalmat, amelyre az elem vonatkozik. A tag-et és az elem attributumaihoz rendelt értékeket a szövegben '<' és '>' határolójelek közé írjuk. Ezek nem jelennek meg a megjelenítés során, hanem a kezdö és befejezö tag között lévö tartalom valamilyen jellemzöjét módosítják.
HTTP
A HTTP protokoll a hypertext dokumentumok letöltésére szolgál. A szerverek és a kliensek közti kommunikációt definiálja. TCP kapcsolaton alapul, minden lap letöltésekor új TCP kapcsolat jön létre, ami az átvitel után lebomlik. Az elérendö eröforrást az URL (egységes eröforrás azonosító) azonosítja:
http://számítógép_neve:port/fájlnev?paraméterek
Müködése:
a kliens felveszi a kapcsolatot a szerverrel, majd elküldi a kérését (azt, hogy mivel és mit kell csinálni)
a szerver végrehajtja a kérést, és visszaküldi a válaszát
ha a szerver nem tudja végrehajtani a kérést, akkor ennek okát közli a klienssel
a HTTP kérés és válasz ún. HTTP-fejlécmezöket is tartalmaz
A HTTP fejlécmezök
A REQUEST részei:
request-line: GET/POST <Space> absolute-url <Space> (HTTP/1.0|HTTP/1.1)A RESPONSE részei:
status-line: HTTP/1.1 <Space> status-code+reason-phrase
status-code+reason-phrase =a válasz törzse (body)
WEB-alkalmazás felépítése
Webmodul1 (egy nagyobb egység, mint például egy komplett weboldal)
index.html
index.jsp
valami.gif
...
WEB-INF
classes
servlet / jspproject
*.class
jspproject
*.class
lib
*.jar
web.xml
web.inf
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>WebModule1</display-name>
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>loginservlet.Servlet1</servlet-class>
</servlet>
<servlet>
<servlet-name>masikservlet</servlet-name>
<servlet-class>loginservlet.masikServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/servlet1</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>masikservlet</servlet-name>
<url-pattern>/masikservlet</url-pattern>
</servlet-mapping>
</web-app>
A Tomcat hogyan futtatja a Servleteket?
A TOMCAT egy webszerver. Egy TOMCAT-en több szervlet is futhat egyszerre. Minden szervlet egyszer töltödik be a memóriába, így az összes kliens ugyanazt a szervletet használja, csak külön szálon. A szervlet annyi kliens tud kiszolgálni, ahány szál kezelésére képes. Kétféle módon lehet biztosítani, hogy egy metódust egyszerre csak egy szál tudjon elérni:
a syncronised kulcsszó használatával
a SingleThreadModel interfész implementálásával. Ez biztosítja, hogy a kiszolgáló service metódust egyszerre csak egy szál hívja meg.
Találat: 501