java web实现简易收费站
本文实例为大家分享了java web实现简易收费站的具体代码,供大家参考,具体内容如下
一、目标
页面内输入车的类型和行驶公里数,可以得到该车的收费金额。注:小汽车:每公里5角。大巴车:每公里1元,营运税每次100元。
二、基础知识
JavaBeans的使用
1、JavaWeb开发中常用JavaBeans来存放数据、封装业务逻辑等。JavaBeans最大的优点就是可以实现代码的重用。2、作为JavaBeans使用的Java类需遵循三个规范:1).JavaBeans应该是public类,并且具有无参数的public构造方法2).JavaBeans类的成员变量一般被称为属性,对每个属性访问权限一般定义为private3).每个属性通常定义两个public方法,一个是访问方法(getter),一个是修改方法(setter),使用它们访问和修改JavaBeans的属性值。
三、实现思路
1、输入页面:输入汽车类型和行驶公里,提交给servlet2、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 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的子类Carclass 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的子类Busclass 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, HttpServletResponse response) throws ServletException, IOException { }}
上述仅部分代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。
相关文章: