Java Servlet ISYS 350. What is Java Servlet? It is a java class that serves a client request....
-
Upload
brian-heath -
Category
Documents
-
view
216 -
download
0
Transcript of Java Servlet ISYS 350. What is Java Servlet? It is a java class that serves a client request....
Java Servlet
ISYS 350
What is Java Servlet?
• It is a java class that serves a client request. • Servlets are most often used to:• Process or store data that was submitted from an HTML
form• Provide dynamic content such as the results of a
database query.• It is not a web page and cannot be opened by
itself.• A servlet is called by a HTML form’s action
attribute:• <form name="fvForm" method="post" action="FVServlet">
Adding a Servlet
• Servlet is a class with a “java” extension:– Ex: FVServlet.java
• It must belong to a package:– Add a new package– Then add a new servelet– Ex: ServletPackage
• FVServlet.java
Servlet’s processRequest Method
• This method use the same request and response objects as JSP. For example, it uses the request.getParameter method to read the data submitted with http request:– myPV=request.getParameter("PV");
• It uses the out.println statement to send HTML code to browser:• out.println("<html>");• out.println("<head>");
Example: Future Value Calculator:Requesting FVServlet servlet
<form name="fvForm" method="post" action="FVServlet"> Enter present value: <input type="text" name="PV" value="" /><br><br> Select interest rate: <select name="Rate"> <option value=.04>4%</option> <option value=.05>5%</option> <option value=.06>6%</option> <option value=.07>7%</option> <option value=.08>8%</option> </select><br><br> Select year: <br> <input type="radio" name="Year" value="10" />10-year<br> <input type="radio" name="Year" value="15" />15-year<br> <input type="radio" name="Year" value="30" />30-year<br><br> <br> <input type="submit" value="ComputeFVJSP" name="btnCompute"/> </form>
FVServlet
protected void processRequest(HttpServletRequest request, HttpServletResponse response) String myPV, myRate, myYear,qString; myPV=request.getParameter("PV"); myRate=request.getParameter("Rate"); myYear=request.getParameter("Year"); double FV, PV, Rate, Year; PV=Double.parseDouble(myPV); Rate=Double.parseDouble(myRate); Year=Double.parseDouble(myYear); FV=PV*Math.pow(1+Rate,Year); out.println("FutureValue is:"+ FV);
Note: Copy/paste the code between: out.println("<body>"); and out.println("</body>");
Servlet: depTableServletto create straight line depreciation table
Straight Line Depreciation Table <form name="depForm" method="post" action="depTableServlet"> Enter Property Value: <input type="text" name="pValue" value="" /><br> Enter Property Life: <input type="text" name="pLife" value="" /><br> <input type="submit" value="Show Table" name="btnShowTable" /> </form>
String strValue, strLife; strValue=request.getParameter("pValue"); strLife=request.getParameter("pLife"); double value, life, depreciation,totalDepreciation=0; value=Double.parseDouble(strValue); life=Double.parseDouble(strLife); NumberFormat nf = NumberFormat.getCurrencyInstance(); out.println("Straight Line Depreciation Table" + "<br>"); out.println("Property Value: <input type='text' name='pValue' value='" + nf.format(value) + "' /><br>"); out.println("Property Life: <input type='text' name='pLife' value='" + life + "' /><br>"); depreciation=value/life; totalDepreciation=depreciation; out.println( "<table border='1' width='400' cellspacing=1>"); out.println("<thead> <tr> <th>Year</th> <th>Value at BeginYr</th>"); out.println("<th>Dep During Yr</th> <th>Total to EndOfYr</th></tr> </thead>"); out.println("<tbody>"); for (int count = 1; count <= life; count++) { out.write("<tr>"); out.write(" <td width='10%'>" + count + "</td>"); out.write(" <td width='30%'>" + nf.format(value) + "</td>"); out.write(" <td width='30%'>" + nf.format(depreciation) + "</td>"); out.write(" <td width='30%'>" + nf.format(totalDepreciation) + "</td>"); value -= depreciation; totalDepreciation+=depreciation; }