exercise51: JavaBeans izmantošana
Dota klase Vehicle.java:
public class Vehicle {
private double load;
private double maxLoad;
public Vehicle(double max_load) {
load = 0.0;
maxLoad = max_load;
}
public double getLoad() {
return load;
}
public double getMaxLoad() {
return maxLoad;
}
public boolean addBox(double weight) {
boolean result = true;
if ( maxLoad < (weight + load) ) {
result = false;
} else {
load = load + weight;
}
return result;
}
}
- Pamatot, ka klase ir Javas pupiņa un šai klasei ir divas lasāmās īpašības: load un maxLoad.
- Mērķis ir izveidot JSP lapu, kura izveido sesijas redzamības līmeņa (scope="session") pupiņu ar tipu Vehicle; attēlo tās stāvokli ar divām krāsainiem stabiņiem un piedāvā HTML formā pievienot šai pupiņai jaunu kasti.
- Failu exercise51/docs/sample0.html var izvēlēties par sagatavi JSP lapai vehicle.jar, kuru jāliek direktorijā exercise51/web (JSP lapas šai ziņā ir līdzīgas HTML lapām un citiem statiskiem resursiem Web aplikācijā.)
- Jūsu JSP failam ir dinamiski jārūpējas par sekojošām lietām: par abu krāsaino stabiņu "width" un "title" atribūtiem (tos uzstāda, nolasot getLoad() un getMaxLoad()), par vārdu "IR pievienota/NAV pievienota" paziņojumā par iepriekšējo kasti.
- JSP lapā ievietotā forma nosūtās atkal uz to pašu JSP lapu, kurā parādās atbilstošs paziņojums par to, vai lapu izdevās sekmīgi nosūtīt.
- Sabūvēt un uzkopēt aplikācijas EAR failu ar komandām:
ant clean
ant build
deploy
bind
Vajadzības gadījumā klasei Vehicle deklarēt piederību pie java.io.Serializable interfeisa.
exercise52: Tagu bibliotēka
Mērķis: Dotajiem HTML dokumentiem izveidot aplikāciju, kurā tie publicēti katrs kopā ar identisku navigācijas joslu
- Navigācijas joslas pievienošanai izmantot datubāzu risinājumu ar OC4J iebūvēto tegu bibliotēku.
Darbības:
- No arhīva c:\oc4j\j2ee\home\jsp\lib\taglib\ojsputil.jar izkopēt failu sqltaglib.tld un ielikt to direktorijā web/WEB-INF.
- Sabūvēt un uzkopēt aplikācijas EAR failu ar komandām:
ant clean
ant build
deploy
bind
- Palaist gatavo piemēru, izsaucot URLu http://localhost:8888/exercise52/oracle_page.jsp. Pirms tam Jums vajadzētu savā shēmā izveidot, piemēram, tabulu "cilveks" ar vienu INT un vienu CHAR(n) lauku. (Vai arī pielāgojiet "oracle_page.jsp" kodu jau eksistējošām tabulām.)
- Dotajiem failiem a.jsp, b.jsp, c.jsp izveidot atbilstošus ierakstus Oracle datubāzē. Norādīt lasāmu faila nosaukumu - "title" un URLisku identifikatoru "id". Izveidot failu navigation.jsp, kurš uzbūvē navigācijas joslu ar linkiem no "title" un URLiem no "id".
- Ar "include" vai "jsp:include" direktīvu iekopēt "navigation.jsp" lapu katrā no dokumentiem "a.jsp", "b.jsp" un "c.jsp", iespējami maz mainot pārējo dokumenta struktūru.
- Atvērt http://localhost:8888/exercise52/a.jsp un pārliecināties, ka navigācija strādā arī uz dokumentiem B un C.
Par "include" un "jsp:include" direktīvām sk. JSP mācību līdzekli: http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/
Piezīme: Navigācijas problēmai ir izplatīts alternatīvs risinājums. Dokumentus var glabāt datubāzē kā tīra HTML BLOBus un ielasīt tos vienā - "universālajā" JSP lapā, kurai kā parametru padod dokumenta id'u.