Download - EAP Aufgabe 4.2
EAP Aufgabe 4.2
Tosten Nordmann
Christian Jordan
Jens Frommelt
PEA 07
Was will ich eigentlich sagen
• Security ist doof
• CMP
• JSP
• Frage: Wohin mit der Anwendungslogik?
WEB Container
JSP
EJB Container
CMP
RequestInputBean
DB
RequestInputBean
• gewuerzname
• propertyStatusMsg
• isInitilized
• Getter-/Setter-Methoden
• isValid()
Spicerequest.jsp Inputvalidate.jsp
WSRequest.jsp
Spicerequest.jsp
<form action="inputvalidate.jsp" method="post"> <table border="1"> <tr> <td>Gewuerzname:</td> <td><input type="text" name="gewuerzname" value="" > <%-- ‘Eingabefeld‘ --%> </td> </tr> <tr> <td colspan=2><input type="submit" value="Als WS suchen"></td> <%-- 'Anfrage senden' Button --%> </tr> </table></form>
<%-- Verweis auf ein Value-Bean, in dem die Benutzereingaben gesichert und validiert werden --%><jsp:useBean id="requestInput" scope="request" class="pea07.beans.RequestInputBean" />
<h3>Statusmeldungen:</h3> <%-- Ausgabeliste mit inkorrekten Werten, falls vorhanden --%> <%-- Hier wird ebenfalls eine Bean-Property aus RequestInputBean abgefragt --%> <font color="red"> <jsp:getProperty name="requestInput" property="propertyStatusMsg" /> </font>
Inputvalidate.jsp
<jsp:useBean id="requestInput" scope="request" class="pea07.beans.RequestInputBean" >
<jsp:setProperty name="requestInput" property="*" />
</jsp:useBean>
<% if (requestInput.isValid()) { %> <jsp:forward page="WSRequest.jsp" />
<% } else { %>
<jsp:forward page="spicerequest.jsp" />
<% } %>
WSRequest.jsp
<%//Instanz eines ServiceLocators erzeugen, die den WebService ausfindig machtPea07_SpiceWSServiceLocator locator = new Pea07_SpiceWSServiceLocator();
//Web-Service initialisierenPea07_SpiceWS service = null;try {
//Service erzeugenservice = locator.getPea07_SpiceWS(new URL(
"http://localhost:80/jboss-net/services/Pea07_SpiceWS"));}catch (javax.xml.rpc.ServiceException se) {
out.println("Service-Fehler: "+se.toString());}catch (MalformedURLException mue) {
out.println("URL-Ausnahme: "+mue.toString());}
//Service verwenden, Suche durchführen//Service verwenden, finde alle Gewürze des LagerbestandsPea07_Gewuerz spice = null;Pea07_Gewuerz[] spices = null;try {
spice = service.pea07_searchSpice(requestInput.getGewuerzname());spices = service.pea07_searchAllSpices();
}catch (java.rmi.RemoteException re) {
out.println("Es wurde eine RemoteException geworfen: ");re.printStackTrace(System.out);
}
out.println("Spice Name: "+spice.getName()+"<br>");out.println("Spice Price: "+spice.getPreis()+"<br>");out.println("Amount in storage [kg]: "+spice.getMenge()+"<br>");out.println("<br><br>");out.println("<h3>List of all offered spices</h3><br>");for (int k=0; k < spices.length; k++) {
out.println(k+1+". "+spices[k].getName());}
%>
WSRequest.jsp (2)