java web實現簡易收費站
阿新 • • 發佈:2020-11-24
本文例項為大家分享了java web實現簡易收費站的具體程式碼,供大家參考,具體內容如下
一、目標
頁面內輸入車的型別和行駛公里數,可以得到該車的收費金額。
注:小汽車:每公里5角。大巴車:每公里1元,營運稅每次100元。
二、基礎知識
JavaBeans的使用
1、JavaWeb開發中常用JavaBeans來存放資料、封裝業務邏輯等。JavaBeans最大的優點就是可以實現程式碼的重用。
2、作為JavaBeans使用的Java類需遵循三個規範:
1).JavaBeans應該是public類,並且具有無引數的public構造方法
2).JavaBeans類的成員變數一般被稱為屬性,對每個屬性訪問許可權一般定義為private
三、實現思路
1、輸入頁面:輸入汽車型別和行駛公里,提交給servlet
2、servlet:讀取提交的資料,生成相應的汽車類型別(不能宣告小汽車型別或大巴車)的物件,呼叫物件的收費方法,跳轉到收費結果jsp。
3、結果顯示頁面:讀取資料(javabean)的收費金額,顯示結果(不能有任何指令碼和java程式碼)
四、程式碼
charge-select.jsp(輸入介面)
<form action="vehicle.do" method="post"> <table> <tr> <td> 汽車型別: </td> <td> <select name="type"> <option value="0">--請選擇--</option> <option value="car">小汽車</option> <option value="bus">大卡車</option> </select> </td> </tr> <tr> <td> 行駛里程/公里: </td> <td> <input type="text" name="mile"/> </td> </tr> <tr> <td> <input type="submit"/> </td> <td> <input type="reset"/> </td> </tr> </table> </form>
charge-result.jsp(顯示金額介面)
//宣告javabeans <jsp:useBean id="v" type="charge.Vehicle" scope="request"/> <html> <head> <title>收費結果</title> </head> <body> //javabeans的使用 價格:<jsp:getProperty name="v" property="money"/>元 </body> </html>
Vehicle.java
package charge; //Vehicle類 public abstract class Vehicle { private float mile; private float money; public abstract float count(float mile); public Vehicle(){}; public Vehicle(float mile){ this.mile = mile; } public float getMile() { return this.mile; } public float getMoney(){ return this.money; } public void setMoney(float money){ this.money = money; } } //Vehicle的子類Car class Car extends Vehicle{ private float mile; private float money; public Car(float mile) { super(mile); } //計算收費金額 public float count(float mile){ float price; price =(float) 0.5*this.getMile(); return price; } } //Vehicle的子類Bus class Bus extends Vehicle{ private float mile; private float money; public Bus(float mile) { super(mile); } //計算收費金額 public float count(float mile){ return (float) (mile+100); } }
VehicleServlet.java(計算金額)
package charge; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; @WebServlet(name = "VehicleServlet",urlPatterns = "/vehicle.do") public class VehicleServlet extends HttpServlet { protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { response.setContentType("text/html,charset=utf-8"); //獲取輸入的資訊 String type = request.getParameter("type"); float mile =Float.parseFloat(request.getParameter("mile")); float price=0; Vehicle v ; //分情況計算收費金額 if(type.equals("car")){ v = new Car(mile); price = v.count(mile); v.setMoney(price); request.setAttribute("v",v); } else if(type.equals("bus")){ v = new Bus(mile); price = v.count(mile); v.setMoney(price); request.setAttribute("v",v); } //轉發 RequestDispatcher dispatcher = request.getRequestDispatcher("/charge-result.jsp"); dispatcher.forward(request,response); } protected void doGet(HttpServletRequest request,IOException { } }
上述僅部分程式碼
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。