calculator.jsp
01 <%@ page import="trail.injection.*, javax.naming.*, java.text.*,
02                  javax.jms.*,
03                  java.sql.Timestamp"%>
04 
05 <%
06   if ("send".equals(request.getParameter ("action"))) {
07 
08     QueueConnection cnn = null;
09     QueueSender sender = null;
10     QueueSession sess = null;
11     Queue queue = null;
12 
13     try {
14       InitialContext ctx = new InitialContext();
15       queue = (Queuectx.lookup("queue/injection");
16       QueueConnectionFactory factory =
17           (QueueConnectionFactoryctx.lookup("ConnectionFactory");
18       cnn = factory.createQueueConnection();
19       sess = cnn.createQueueSession(false,
20                   QueueSession.AUTO_ACKNOWLEDGE);
21 
22     catch (Exception e) {
23       e.printStackTrace ();
24     }
25 
26     TextMessage msg = sess.createTextMessage(
27         request.getParameter ("start""," +
28         request.getParameter ("end""," +
29         request.getParameter ("growthrate""," +
30         request.getParameter ("saving")
31     );
32     // The sent timestamp acts as the message's ID
33     long sent = System.currentTimeMillis();
34     msg.setLongProperty("sent", sent);
35 
36     sender = sess.createSender(queue);
37     sender.send(msg);
38     // sess.commit ();
39     sess.close ();
40 %>
41 
42 <html>
43 <head><meta http-equiv="REFRESH" content="3;
44                   URL=check.jsp?sent=<%=sent%>"></head>
45   <body>
46     Please wait while I am checking whether the message has arrived.<br/>
47     <a href="calculator.jsp">Go back to Calculator</a>
48   </body>
49 </html>
50 
51 <%
52     return;
53 
54   else {
55 
56     int start = 25;
57     int end = 65;
58     double growthrate = 0.08;
59     double saving = 300.0;
60 %>
61 
62 <html>
63 <body>
64 <p>Investment calculator<br/>
65 <form action="calculator.jsp" method="POST">
66   <input type="hidden" name="action" value="send">
67   Start age = <input type="text" name="start" value="<%=start%>"><br/>
68   End age   = <input type="text" name="end" value="<%=end%>"><br/>
69   Annual Growth Rate = <input type="text" name="growthrate" value="<%=growthrate%>"><br/>
70   Montly Saving = <input type="text" name="saving" value="<%=saving%>"><br/>
71   <input type="submit" value="Calculate">
72   <INPUT type="button" value="Close Window" onClick="window.close()">
73 </form>
74 </p>
75 </body>
76 </html>
77 
78 <%
79     return;
80   }
81 %>