java web实现简易收费站

网友投稿 238 2023-02-18

java web实现简易收费站

本文实例为大家分享了java web实现简易收费站的具体代码,供大家参考,具体内容如下

一、目标

页面内输入车的类型和行驶公里数,可以得到该车的收费金额。

注:小汽车:每公里5角。大巴车:每公里1元,营运税每次100元。

二、基础知识

JavaBeans的使用

1、JavaWeb开发中常用JavaBeans来存放数据、封装业务逻辑等。JavaBeans最大的优点就是可以实现代码的重用。

2、作为JavaBeans使用的Java类需遵循三个规范:

1).JavaBeans应该是public类,并且具有无参数的public构造方法

2).JavaBeans类的成员变量一般被称为属性,对每个属性访问权限一般定义为private

3).每个属性通常定义两个public方法,一个是访问方法(getter),一个是修改方法(setter),使用它们访问和修改JavaBeans的属性值。

三、实现思路

1、输入页面:输入汽车http://类型和行驶公里,提交给servlet

2、servlet:读取提交的数据,生成相应的汽车类类型(不能声明小汽车类型或大巴车)的对象,调用对象的收费方法,跳转到收费结果jsp。

3、结果显示页面:读取数据(javabean)的收费金额,显示结果(不能有任何脚本和java代码)

四、代码

charge-select.jsp(输入界面)

汽车类型:

行驶里程/公里:

charge-result.jsp(显示金额界面)

//声明javabeans

//javabeans的使用

价格:

Vehicle.java

package charge;

//Vehicle类

public abstractuVBGx 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.huVBGxttp.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 {

}

}

上述仅部分代码

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MyBatis中的JdbcType映射使用详解
下一篇:短信平台api接口是什么(短信API接口)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~