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、输入页面:输入汽车类型和行驶公里,提交给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, HttpServletResponse response) throws ServletException, IOException {

 }
}

上述仅部分代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • javaWeb实现学生信息管理系统

    本文为大家分享了javaWeb实现学生信息管理系统,供大家参考,具体内容如下 初始版 初始版是没有加分页的.因为没怎么学过前端,界面很丑陋.主要技术:JSP,JavaBean,servlet,JDBC主要页面如下: 登录页面 主页 添加学生 查看所有学生 查询学生 工程目录 数据库 两个表,user表和student表.为了使用DBUtils工具,一定要注意数据库表的属性的命名和JavaBean的get(),set() 方法的匹配.比如t_user表里的uname,在JavaBean中是:pri

  • 一个简陋的java图书管理系统

    本文代码为原创一个简陋的管理系统,只做功能的测试.并没有去完善所有应有的功能,只做了输入输出查找,仅供参考! 菜单部分: import java.util.Scanner; public class Menu { int Min = 1; int Max = 3; public void getMenu(){ System.out.println("1.显示/2.输入/3.查找"); } public void getFindMenu(){ System.out.println(&qu

  • java学生管理系统界面简单实现(全)

    学生管理系统简单的实现,供初学Java Swing同学学习使用. import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import jav

  • java学生信息管理系统源代码

    本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Stude

  • Java+MySQL实现学生信息管理系统源码

    基于Java swing+MySQL实现学生信息管理系统:主要实现JDBC对学生信息进行增删改查,应付一般课设足矣,分享给大家.(由于篇幅原因,代码未全部列出,如有需要留下邮箱) 鉴于太多同学要源码,实在发不过来,上传到github上 https://github.com/ZhuangM/student.git 1. 开发环境:jdk7+MySQL5+win7 代码结构:model-dao-view 2. 数据库设计--建库建表语句: CREATE DATABASE student; DROP

  • 图书管理系统java版

    本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询.插入.删除.修改. 内容:在数据库中创建一张书目信息表,包括书名.作者.出版社.出版日期.书号.价格字段.设计一个GUI界面进行书目管理.在该界面上有四个选项卡,分别是查询.插入.删除.修改.点击查询选项卡,出现的界面上有书名.作者.出版社.书号四个文本框,一个按钮和一个只读文本区.文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的"查询"按钮,可以在界面

  • java实现水果超市管理系统

    本文为大家分享了java实现水果超市管理系统的具体代码,供大家参考,具体内容如下 首先建立水果类的界面 public class Fruit { //定义ID private String id; //定义名称 private String name; //定义价格 private int price; //定义单位 private String unit; //定义数量 private int number; public Fruit(String id, String name, int p

  • Java+Mysql学生管理系统源码

    最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多. 开发语言:java: 开发环境:Mysql, java: 开发工具:eclipse 开发此案例,首先得在电脑上有java开发环境和Mysql, java开发环境与Mysql的搭建,就不再叙述了,如果需要,请联系我最下面的联系方式:dingyelf@aliyun.com 此次系统比较简易:数据库中只有一个表:stu;功能:能够对学生增加.删除.修改. 开发步骤:  

  • 图书管理系统java代码实现

    本文实例为大家分享了java实现图书管理系统的具体代码,供大家参考,具体内容如下 /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:    <图书管理系统--java>                          * 作    者:       刘江波                       * 完成日期:    2012     年  3    

  • Java GUI实现学生成绩管理系统

    学习java有一年多了,一直在做web方面的练习,在一个项目中发现需要用到GUI的相关知识,结果没法做出来,网上这方面的文章又不是很多,所有只好自己硬着头皮从头再学一遍了,不过学习后发现,其实GUI是非常有趣的,他并不像WEB程序一样依赖互联网,而且还有许多布局和android相差不是很大,这才发现自己竟又爱上GUI的开发了,不多说了,直接上代码吧,相信有过android或相关界面开发的都明白这其中的道理. 先看看效果吧 1.登录主界面 package edu.gzu.stuManager; i

随机推荐