JSP lapok - ms.sapientia.ro

40
JSP lapok ANTAL Margit Sapientia - EMTE, Pannon Forr´ as ,,Egys´ eges erd´ elyi feln˝ ottk´ epz´ es a arp´ at-medencei h´ al´ozatban” 2010 ANTAL Margit JSP lapok

Transcript of JSP lapok - ms.sapientia.ro

Page 1: JSP lapok - ms.sapientia.ro

JSP lapok

ANTAL Margit

Sapientia - EMTE, Pannon Forras ,,Egyseges erdelyi felnottkepzes aKarpat-medencei halozatban”

2010

ANTAL Margit JSP lapok

Page 2: JSP lapok - ms.sapientia.ro

JSP lapok

JSP alapfogalmak

JSP szkriptelemek

JSP standard tagok

Expression Language

ANTAL Margit JSP lapok

Page 3: JSP lapok - ms.sapientia.ro

Hello szervlet reszlet (1)

import java.io*;import javax.servlet.*;import javax.servlet.http.*;public class HelloWorldServlet extends HttpServlet {

private static final String DEFNAME ="Vilag";

protected void generateResponse(...){}

protected void doGet(...){generateResponse(request, response);

}

protected void doPost(...){generateResponse(request, response);

}}

ANTAL Margit JSP lapok

Page 4: JSP lapok - ms.sapientia.ro

Hello szervlet reszlet (2)

protected void generateResponse(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();String name = request.getParameter("name");if( name == null || name.length() == 0 )

name = DEFNAME;out.println("Hello, "+name+"!");out.close();

}

ANTAL Margit JSP lapok

Page 5: JSP lapok - ms.sapientia.ro

Hello szervlet konfiguralas

<servlet-mapping><servlet-name>HelloWorldServlet</servlet-name><url-pattern>/hello.view</url-pattern>

</servlet-mapping>

ANTAL Margit JSP lapok

Page 6: JSP lapok - ms.sapientia.ro

Hello JSP lap

<%! private static final StringDEFNAME = "vilag"; %>

<html><head>

<title>JSP Page</title></head><body><%

String name = request.getParameter("name");if( name == null || name.length() == 0 )name = DEFNAME;

%><h2>Hello, <%= name %> !</h2></body>

</html>

ANTAL Margit JSP lapok

Page 7: JSP lapok - ms.sapientia.ro

JSP lapok eletciklusa

void jspInit()

void _jspService(HttpServletRequest,HttpServletResponse)

void jspDestroy()

ANTAL Margit JSP lapok

Page 8: JSP lapok - ms.sapientia.ro

JSP lap

1 JSP lap atalakıtasa szervlette: foo.jsp → foo jsp.java,minden modosıtas utan

2 A szervlet fordıtasa: foo jsp.java → foo jsp.class

3 A foo jsp.class fajl betoltese

4 A foo jsp osztaly peldanyosıtasa

5 A jspInit metodus meghıvasa a letrehozott peldanyra

6 HTTP keresek kiszolgalasa: jspService metodus hıvasaval

7 A jspDestroy metodus hıvasa a komponens eltavolıtasakor

ANTAL Margit JSP lapok

Page 9: JSP lapok - ms.sapientia.ro

JSP szkriptelemek

Szkriptelem Pelda

Megjegyzes < %−−megjegyzes −−% >Direktıva < %@ direktiva % >Deklaracio < %! deklaracio % >Szkriptlet < % szkriptlet % >Kifejezes < % = kifejezes % >

ANTAL Margit JSP lapok

Page 10: JSP lapok - ms.sapientia.ro

Megjegyzesek

HTML megjegyzes: <!−− HTML megjegyzes −− >, reszelesz a HTTP valasznak, tehat a kiszolgalo ezt is elkuldi abongeszonek

JSP megjegyzes: < %−− JSP megjegyzes −−% >, a JSPmegjegyzes csak a JSP lapon lathato, ez nem kerul bele alapbol eloallıtott szervlet osztalyba, illetve a HTTP valaszbasem

Java megjegyzes: < %/∗ Java megjegyzes / ∗% >, a Javamegjegyzes belekerul a JSP lapbol eloallıtott szervlet osztalykodjaba, de nem kerul bele a HTTP valaszba

ANTAL Margit JSP lapok

Page 11: JSP lapok - ms.sapientia.ro

Direktıvak

page:pl. Java import utasıtasok

< %@ page import = ”java.util .∗, java.io. ∗ ” % >

include: egy masik komponens tartalmanak beszurasa

< %@ include file = ”banner .jsp” % >

taglib: elemkonyvtarak hasznalata

< %@ taglib uri = ”tlds/taglib.tld” prefix =”mytag” % >

ANTAL Margit JSP lapok

Page 12: JSP lapok - ms.sapientia.ro

Deklaraciok

Szintaxis

< %! deklaracio % >

Peldak:

1. <%! int counter = 0; %>

2. <%!public void jspInit(){

//}%>

3. <%!public void jspDestroy(){

//}%> ANTAL Margit JSP lapok

Page 13: JSP lapok - ms.sapientia.ro

Szkriptletek

<% for( int i=0; i<10; ++i){%><h2>Hello World!</h2>

<% }%>

ANTAL Margit JSP lapok

Page 14: JSP lapok - ms.sapientia.ro

Kifejezesek

Kifejezesek

< % = a% >, < % = b% >

< % = a + b + 10% >

ANTAL Margit JSP lapok

Page 15: JSP lapok - ms.sapientia.ro

Implicit objektumok

Objektum Tıpus

request javax.servlet.http.HttpServletRequestresponse javax.servlet.http.HttpServletResponseout javax.servlet.jsp.JspWritersession javax.servlet.http.HttpSessionapplication javax.servlet.ServletContextconfig javax.servlet.HttpServletConfigpageContext javax.servlet.jsp.PageContextpage java.lang.Objectexception java.lang.Throwable

ANTAL Margit JSP lapok

Page 16: JSP lapok - ms.sapientia.ro

A page direktıva

language

extends

buffer

autoFlush

session

import

isThreadSafe

info

contentType

pageEncoding

isELIgnored

errorPage

isErrorPage

ANTAL Margit JSP lapok

Page 17: JSP lapok - ms.sapientia.ro

Az include direktıva

<%@ include file="header.jsp" %>

Fontos!!!

A beillesztes meg szervlette alakıtas elott tortenik.

ANTAL Margit JSP lapok

Page 18: JSP lapok - ms.sapientia.ro

JSP standard tagok

<jsp:prefix .../>

<jsp:prefix ...>...

</jsp:prefix>

ANTAL Margit JSP lapok

Page 19: JSP lapok - ms.sapientia.ro

JavaBeans komponensek

Jellemzok:

nincs publikus attributum

minden attributumhoz van get/set metodus

van parameter nelkul hıvhato konstruktor

szerializalhato

ANTAL Margit JSP lapok

Page 20: JSP lapok - ms.sapientia.ro

JSP standard tagok

<jsp:useBean.../><jsp:setProperty.../><jsp:getProperty.../><jsp:include.../><jsp:param.../><jsp:forward.../>

ANTAL Margit JSP lapok

Page 21: JSP lapok - ms.sapientia.ro

A useBean tag

<jsp:useBeanid="beanName"scope="page|request|session|application"class="className"

/>

ANTAL Margit JSP lapok

Page 22: JSP lapok - ms.sapientia.ro

useBean pelda

<jsp:useBean id="course" scope="request"class="model.Course">

<%course.setName ( request.getParameter("name"));course.setPrice( Integer.parseInt

(request.getParameter("price")));

%></jsp:useBean>

ANTAL Margit JSP lapok

Page 23: JSP lapok - ms.sapientia.ro

A setProperty tag

<jsp:setProperty name="beanName" propertyexpresion />

property="*"

property="propertyName"

property="propertyName" param="paramName"

property="propertyName" value="propertyValue"

ANTAL Margit JSP lapok

Page 24: JSP lapok - ms.sapientia.ro

setProperty pelda(2)

<jsp:setProperty name="course" property="name"/>

Ekvivalens Java kod:

course.setName(request.getParameter("name"));

ANTAL Margit JSP lapok

Page 25: JSP lapok - ms.sapientia.ro

setProperty pelda(2)

<jsp:setProperty name="course" property="name"param="nev" />

Ekvivalens Java kod:

course.setName(request.getParameter("nev"));

ANTAL Margit JSP lapok

Page 26: JSP lapok - ms.sapientia.ro

setProperty pelda(3)

<jsp:setPropertyname="course"property="name"value=’<%= metodus() %>’

/>

Ekvivalens Java kod:

course.setName(metodus());

ANTAL Margit JSP lapok

Page 27: JSP lapok - ms.sapientia.ro

setProperty pelda(4)

<jsp:setProperty name="course" property="*" />

ANTAL Margit JSP lapok

Page 28: JSP lapok - ms.sapientia.ro

A getProperty tag

Szintaxis:

<jsp:getProperty name="beanName"property="propertyName"/>

Hasznalat:

<jsp:getProperty name="course"property="price"/>

Ekvivalens Java kod:

out.print(course.getPrice());

ANTAL Margit JSP lapok

Page 29: JSP lapok - ms.sapientia.ro

Az include tag

beagyazo.jsp:

<%! String name="Hello"; %><jsp:include page="beagyazott.jsp" />

beagyazott.jsp

<% out.print(name); %>

ANTAL Margit JSP lapok

Page 30: JSP lapok - ms.sapientia.ro

A param tag

Beagyazo JSP lap:

<jsp:include page="beagyazott.jsp"><jsp:param name="username" value="jojo"/>

</jsp:include>

Beagyazott JSP lap:

A felhasznalo neve:<%= request.getParameter("username") %>

ANTAL Margit JSP lapok

Page 31: JSP lapok - ms.sapientia.ro

Az forward tag

<jsp:forward page={"pageURL" | "<%= expression %>"} ><jsp:param

name="parameterName"value="{parameterValue | <%= expression %>}"

/></jsp:forward>

<jsp:forward page="masik.jsp"><jsp:param name="username" value="jojo" />

</jsp:forward>

ANTAL Margit JSP lapok

Page 32: JSP lapok - ms.sapientia.ro

Expression Language

Mikor hasznaljuk?

akcioelemben valamely attributum megadasakor:

<jsp:include page=’${URL_to_page}’/>

HTML szovegben:

<H2>Hello, ${param.name}</H2>

ANTAL Margit JSP lapok

Page 33: JSP lapok - ms.sapientia.ro

EL implicit objektumok

pageContext

pageScope (String - Object)

requestScope(String - Object)

sessionScope(String - Object)

applicationScope(String - Object)

param(String - String)

paramValues(String - String[])

header(String - String)

headerValues(String - String[])

cookie(String - String)

ANTAL Margit JSP lapok

Page 34: JSP lapok - ms.sapientia.ro

EL es a Java tarolok

Java tarolok

tomb, Vector, List, Set, Map

<%String[] allatok={"kutya", "macska", "elefant"};request.setAttribute("allatok", allatok);

%>

<p>Elso: ${allatok[0]}</p><p>Elso: ${requestScope.allatok[0]}</p>

<p>Masodik: ${allatok[’1’]}</p><p>Masodik: ${requestScope.allatok[’1’]}</p>

<p>Harmadik: ${allatok["2"]}</p><p>Harmadik: ${requestScope.allatok["2"]}</p>

ANTAL Margit JSP lapok

Page 35: JSP lapok - ms.sapientia.ro

EL es a keres parameterei

Keres

index.jsp?productid=12&productid=23

${paramValues.productid[0]}${paramValues.productid[1]}

${paramValues[’productid’][0]}${paramValues[’productid’][1]}

ANTAL Margit JSP lapok

Page 36: JSP lapok - ms.sapientia.ro

Babok a elerese

<jsp:useBean id="person" class="model.Person"/><jsp:setProperty name="person"

property="firstName" value="Margit"/><jsp:setProperty name="person"

property="lastName" value="Antal"/>

<p>First name: ${person.firstName} </p><p>Last name: ${person.lastName} </p>

${person[firstName]}${person[’firstName’]}${person["firstName"]}

ANTAL Margit JSP lapok

Page 37: JSP lapok - ms.sapientia.ro

EL operatorok

Aritmetikai operatorok

Operator neve Operator

osszeadas +kivonas -szorzas *osztas /osztasi hanyados %

ANTAL Margit JSP lapok

Page 38: JSP lapok - ms.sapientia.ro

EL operatorok

Relacios es egyenlosegi operatorok

Operator neve Operator

egyenlo == es eqkulonbozo != es nekisebb < es ltnagyobb > es gtkisebb vagy egyenlo <= es lenagyobb vagy egyenlo >= es ge

ANTAL Margit JSP lapok

Page 39: JSP lapok - ms.sapientia.ro

EL operatorok

Relacios es egyenlosegi operatorok

Operator neve Operator

es && es andvagy || es ornem ! es not

ANTAL Margit JSP lapok

Page 40: JSP lapok - ms.sapientia.ro

JSP kornyezet konfiguralasa

<jsp-config><jsp-property-group>

<url-pattern>*.jsp</url-pattern><el-ignored>true</el-ignored>

</jsp-property-group>

<jsp-property-group><url-pattern>/scriptless/*</url-pattern><scripting-invalid>true</scripting-invalid>

</jsp-property-group></jsp-config>

ANTAL Margit JSP lapok