香雨站

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 81|回复: 0

基于 Java 的在线租车系统的设计与实现

[复制链接]

5

主题

9

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2023-4-28 11:24:33 | 显示全部楼层 |阅读模式
摘 要

随着社会的发展,信息网络化成为时代的主题。许多行业在经营管理过程中对计算机技术的依赖程度也不断增强。对于汽车租赁行业来说,其工作管理流程复杂、多样。计算机已完全能够胜任汽车租赁管理工作,而且能够使管理工作变得更加准确、高效。汽车租赁管理系统有效的解决了纸质手工处理业务时效率低下和数据信息易丢失的问题,使得用户查询车辆信息更方便快捷,同时便于管理员对车辆和用户的管理,从而给汽车租赁管理工作带来更高的效率。由此,本报告设计实现了一个汽车租赁管理系统,完成了系统需求分析、系统设计、系统测试等方面的工作,较为详细地介绍了系统实现开发的整个过程。最后介绍了系统的测试与维护,使系统在之后的运行过程中尽量少的出现错误。该系统采用了 SSH2 框架技术,使用 JSP 网络编程技术,前台采用 Myeclipse 开发环境,后台采用 MySQL 数据库为开发平台。系统主要实现了车辆信息管理和用户信息管理。应用于汽车租赁的日常管理,界面直观,操作简单方便,有较强的实用价值。
关键词:JSP,SSH2,汽车租赁,MySQL
选题依据

选题背景
科学的飞速发展带动计算机进入了大多数领域。现在,随着社会生产的发展,人民生活水平的提高,汽车出租行业也日渐兴起。面对急速发展的机动车租赁市场,如果能使用计算机来代替人工登记的管理方式,这无疑是更为科学有效的业务记录。因此,人们运用计算机科学技术来管理汽车租赁工作渐渐成为必然。
汽车出租管理就是对车辆信息和客户信息的管理,包括车辆的的基本信息、客户留言信息、客户信息管理等。这套管理系统涵盖了车辆出租业务的各个方面,使得汽车出租服务可以快速、规范地完成,节约人力物力,提高了服务质量,间接产生经济效益。
本报告主要介绍了该系统的实现功能以及 SSH 和 Java 的一般原理。阐述了整个出租管理系统的结构和工作原理;分析系统实现中的特殊性、难点和重点;设计实现出系统客户管理、车辆基本信息管理、出租管理等程序模块;分析并解决了现实中的若干技术问题。
开发目标
汽车租赁管理系统的主要任务是利用计算机对汽车租赁的整个流程进行管理,其中包括:登录模块、注册模块、汽车信息管理模块、汽车信息查询模块、汽车出租管理模块、客户信息管理模块、留言板管理模块。
客户的特点
该系统的客户为中小型汽车出租公司,操作人员为汽车出租公司的管理者,其本身的计算机水平不是很高。因此,界面的友好、简洁与易用性将是首要考虑的目标。然后根据客户的需要,加强系统的稳定性和可用性,客户在使用过程中不会出现问题,而且根据客户的特点,简单容易上手是这个系统的一大特点,可以让完全不懂计算机的人马上学会操作。
对功能的需求
在设计程序的过程中,要先做好需求分析,需求分析所要做的工作就是描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。其研究的对象就是客户的要求。

  • 车辆信息管理
  • 车辆的信息全部通过终端保存在中心数据库,管理员可以对这些信息进行增加、修改和删除操作。软件应该提供对车辆的增加、修改和删除的操作。
  • 注册客户管理
  • 注册客户的信息全部通过终端保存在中心数据库,管理员可以对这些信息进行增加、更新和删除操作。
  • 租车管理
  • 提供租车的信息管理,管理员可以对这些信息进行增加修改和删除操作。
技术简介

该系统采用 MyEclipse + MySQL 工具编写代码:采用 Sruts + Hibrenate + Spring 编写后台代码、采用 JSP 页面、Div + CSS ,jQuery 布局以及 JavaScript 脚本控制和 JSTL 表达式获取后台信息。
Java 简介
Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人 PC、、游戏控制台、、移动电话和,同时拥有全球最大的开发者专业社群。在全球云计算和的产业环境下,Java 更具备了显著优势和广阔前景。
Java 技术的现状
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人 PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java 更具备了显著优势和广阔前景。
SSH2 框架技术的特点
SSH 在 J2EE 项目中表示了 3 种框架,即 Spring + Struts +Hibernate。 Struts 对 Model,View 和 Controller 都提供了对应的组件。在 Struts 框架的模型部分,控制业务跳转,利用 Hibernate 框架对持久层提供支持,Spring 做管理,管理 struts 和 hibernate。Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 JSP 的 Web 应用中使用。
Myeclipse 简介
MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench),利用它我们可以在数据库和 JavaEE 的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 JavaEE 集成开发环境,支持 HTML、Struts、JSP、CSS、JavaScript、Spring、SQL、Hibernate。
系统需求分析

系统总体功能需求
为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件(或数据库)。模块是数据说明、可执行语句等程序设计对象的集合,它是单独命名的而且可通过名字来访问。模块化就是把程序化分成若干个模块,每个模块完成一个子功能,把这些模块集起来组成一个整体,可以完成指定的要求。
首先对现有系统进行分析,现有系统是信息的重要来源。分析已有系统的功能和实现,从而确定新系统的设计目标和模型。由于条件有限,调研主要是在网上进行。即通过在网上了解其具备的功能。
系统角色分析
在线租车系统共用到两个角色,为管理员和客户。.
管理员的功能需求
通过登录管理员的页面对客户资料修改和删除,车辆信息管理、留言管理等。
客户的功能需求
可以进行页面浏览、租车以及留言,同时可以通过页面进行车辆的查询,使客户更加方便的查询到自己需要的品牌。
系统运行环境需求
表 3-1 主机配置要求
主机配置要求主机配置要求
内存:4G系统:Windows server 2007
Tomcat 服务器:Tomcat6.0myEclipse 版本:MyEclipse2013
硬盘:500GB数据库软件:MySQL
系统可行性分析
可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题做出判断,避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分析,要求用最小的代价在尽量短的时间内确定系统是否可行。
技术可行性
本项目用到的开发语言:Java,开发工具 myEclipse+ Navicat 工具编写代码。
采用 Sruts + Hibrenate + Spring 编写后台代码、采用 JSP 页面、Div + CSS ,jQuery 布局以及 JavaScript 脚本控制和 JSTL 表达式获取后台信息。同时,在整个系统的设计中都有专业的指导老师进行指导,而且整个系统在功能的需求上也没有太过复杂的功能,所以功能上都基本完成。
经济可行性
个人有能力承担系统开发费用
该系统在开发的整个过程中完全使用个人电脑,在经济支出方面不会产生较多的经费,因此,从经济的角度上考虑,此项目是极具可行性的。
租车网站将节省一定的资源,提高工作效率
当今网络已经覆盖全球,信息量大而独具优势。随着人们日常生活步伐的加快时间已经给人们带来越来越大的压力,不断的学习也变成一种激发人们思维的源泉。如果有一个可以在工作量上能提高工作效率的系统,则能为相关的工作人员节省一定的工作时间,提高工作效率。因此,不管是在经济方面还是时间方面,在线租车系统都具有可行性。
社会可行性
该系统是由本人进行独立的进行整个开发过程,不会存在着其他的侵权问题,不会对社会、政治引起破坏和其他责任性问题。
操作可行性
该系统是我通过任务报告上的时间安排进度进行,系统各个部分都在规定的时间内保质保量的完成。系统针对南充汽车租赁公司的实际状况设计,对客户管理员这个角色具有较强的使用性,可以节约很多的工作时间。
系统设计

系统设计中主要包含了系统的总体设计和数据库设计,本章为后面开发系统提供了一个很好的依据,使项目开发能够顺利进行。
系统总体设计
该系统采用 Myeclipse 和其内置服务器为主要开发工具,MySQL 作为管理系统数据的数据库。整个系统采用 SSH2 框架结构,符合 MVC 模式。在线租车系统的功能会随着客户的要求不断的扩展,因此这个系统需要不断的进行功能的升级和修改。
数据库设计
该系统的后台数据库采用的是 MySQL 数据库,非常容易学习和使用。MySQL 是一种的关系型系统,MySQL 使用最常用的数据库管理语言--(SQL)进行数据库管理。
目的
在线租车系统数据库的设计根据客户的需求分析,进行数据库概念设计、及数据库物理设计,最终采用 myql 数据库进行设计和维护。
背景
使用此数据库的软件系统的名称:在线租车系统
该软件系统的客户:系统管理员
数据库物理设计
在线租车系统一共用到 6 个数据表,表如下:
表 1 客户资料表 customer



表 2 留言表 message



留言表外键



表 3 优惠表 discount



表 4 商品表 record



表 5 租赁表 rental



租赁表外键



表 6 管理员表 user



系统的实现

在系统开发中,经过了前期的调研、需求分析、系统设计和数据库的设计,对该系统的需求和设计有了更深的了解,在这里主要介绍客户浏览前台页面以及管理登陆后台页面对商品的增删改查。
前台页面
前台页面主要是通过客户注册账户,在该系统中,客户可以了解商品的所有信息,可以按照品牌搜寻自己喜欢的商品,并对自己喜欢的车辆直接下单租赁,前台页面主要功能有:客户注册;首页;租车服务模块;留言板;车型预览模块;最新优惠模块、在线租车以及关于我们模块八大模块组成。结构图如下:
图 5-1 前台页面结构图
客户注册页面
客户如需租车,必须先注册一个帐户,通过输入其中的必要的信息在数据库中建立一个账号,然后在租车界面输入相应的客户名和密码便可以租车。



图 5-2 客户注册页面



图 5-3 客户登陆页面
租车服务模块
租车服务包括自驾服务和专车服务,客户可以根据自身情况选择不同的服务,客户可以了解租车各方面的详细信息。更加方便消费者按照自己的喜好进行选择。




  • 图 5-4 租车服务模块
  • 留言板模块
  • 客户能够在线留言,反馈信息给管理员,以便管理员进行服务优化,同时管理员会及时回复留言,形成动态的在线交互平台。客户有效的评价是在线租车系统后期的发展和优化的动力源泉。




图 5-5 留言板模块
车型预览模块
客户可以在线浏览汽车以及汽车的各种性能,如果客户打算租车需登陆以后再进行租车,根据各自不同的喜好选择自己喜欢的汽车类型并提交订单实现在线租车后,管理员会及时联系客户并送货上门。



图 5-7 在线租车模块
最新优惠模块
在不同的时间段,公司会进行相应的优惠来回馈老用户,以表示公司对他们的感谢。




  • 图 5-8 最新优惠模块
  • 关于我们模块
  • 其中包括企业简介、企业文化、新闻资讯、发展历程、合作伙伴、联系我们。





  • 图 5-9 关于我们模块
  • 后台页面
  • 系统管理模块
管理员登录后台页面,对车辆详情、客户信息的增删改查,管理员可在后台对客户留言信息进行管理。可以浏览客户列表,对客户列表进行查看和修改,并添加管理员与其共同管理该系统,管理员后台登陆页面如下:



图 5-10 后台登陆页面
管理员后台登陆页面实现代码如下:
<form method="post" action="user!execute">
                           <label>用户名</label><input name="user.name" id="user.name" type="text" size="20" /><br /><br />        <label密码</label><input name="user.pwd" id="user.pwd" type="password" size="22" /><br /><br />        <button onclick="return login_submit()" style="width:180px;height:35px;background-color:#80DB45;position: bsolute;margin-left: 50px;"> 立即登录</button>
                                   </form>客户管理中心



图 5-11 客户管理模块
车辆信息中心



图 5-12 车辆管理模块
车辆管理代码实现如下:
/**

  • 添加车辆
* @return
    */
public String tianjia() {
    String path=ServletActionContext.getRequest().getRealPath("/")+"upload/";
    System.out.println(path);
    File file=new File(path+"/"+fileImgFileName);
    try {
        FileUtils.copyFile(fileImg, file);
    } catch (IOException e) {
        printStackTrace();
    }
    record.setImg(fileImgFileName);
    recordService.save(record);
    return "tj";
}
/**

  • 删除车辆信息
* @return
    */
public String delet() {
    recordService.delete(record.getId());
    return "delet";
}
/**

  • 修改车辆信息
*/
public String query() {
    record=recordService.getOneById(record.getId());
    ActionContext.getContext().put("list", record);
    return "cx";
}
public String updat() {
    String path=ServletActionContext.getRequest().getRealPath("/")+"upload/";
    System.out.println(path);
    File file=new File(path+"/"+fileImgFileName);
    try {
        FileUtils.copyFile(fileImg, file);
    } catch (IOException e) {
        printStackTrace();
    }
    record.setImg(fileImgFileName);
    recordService.update(record);
    return "updat";
}



图 5-13 添加车辆信息
留言中心



图 5-14 留言板管理
代码实现如下:
/**

  • 管理员回复留言
* @return
    */
public String huifu() {
    Map<String, Object> map=ActionContext.getContext().getSession();
    user=(User) map.get("user");
    if (user==null) {
        return "login";
    }
    message.setRecovery_date(new Date());
    message=messageService.getOneById(message.getId());
    return "hf";
}
public String hfAdmin() {
    Message m=messageService.getOneById(message.getId());
    setAgent_content(message.getAgent_content());
    setRecovery_date(new Date());
    messageService.update(m);
    return "hfAdmin";
}管理员中心



图 5-15 注册管理员
添加管理员实现代码如下:
<form method="post" action="user!register">
                           <table> <tr>        <td>账号</td>
                           <td><input type="text" name="user.name" id="user.name" onfocus="this.value=''"/></td> </tr> <tr><td>密码</td>
                                   <td><input type="password" name="user.pwd" id="user.pwd"  onfocus="this.value=''"/></td>
                                           </tr> </table> <button onclick="return login_submit()" >添加管理员</button> </form>系统测试


  • 测试计划
  • 目的
  • 确定“在线租车系统”数据的安全性和正确性。
  • 范围
  • 单元测试:每个模块需实现不同的功能、安全性、权限等进行测试,此过程总体上是应用白盒测试进行的,可以由编码人员在一边编码一边采用白盒测试的方式进行测试。
  • 集成测试:对于多个完整的模块进行集成可采用黑盒测试。
  • 执行系统测试。
  • 测试环境策略
  • 表 6-1 数据和数据库完整性测试
测试目标确保所使用的数据库中的数据完整、正确
方法采用黑盒测试对数据进行输入、输出测试
完成标准对所输入的数据能够准确无误的进行处理,然后输出
需考虑的特殊事项不同的数据类型可能得不到预期的结果
表 6-2 功能测试
测试目标保证此项目基本能够达到客户的需求
方法采用单元测试、集成测试,其中含白盒测试
完成标准软件能够保证需求完善以及代码规范化
表 6-3 客户界面测试
测试目标确保客户能够登录以及对信息的查看、处理
方法采用白盒测试
完成标准客户能够登录页面、进行查看相应的页面
需考虑的特殊事项系统管理页面不能访问,管理员拥有所有权
测试环境需求
表 6-4 测试环境表
软件环境软件环境硬件环境硬件环境
系统测试Windows7CPU3230M
数据库MySQL内存4G
测试平台MyEclipse网卡100Mbps
浏览器Firefox带宽4M
测试用例
表 6-5 客户登录功能测试用例
测试环境MyEclipse+MySQL 数据库、火狐浏览器MyEclipse+MySQL 数据库、火狐浏览器MyEclipse+MySQL 数据库、火狐浏览器MyEclipse+MySQL 数据库、火狐浏览器
编制人邱翠编制时间2017.102017.10
功能模块名客户登录客户登录客户登录客户登录
功能特性客户名验证、密码验证客户名验证、密码验证客户名验证、密码验证客户名验证、密码验证
测试目的验证是否输入合法的信息,允许合法输入,阻止非法输入,看验证控件对所控制的控件是否起了对应的作用,是否登录成功验证是否输入合法的信息,允许合法输入,阻止非法输入,看验证控件对所控制的控件是否起了对应的作用,是否登录成功验证是否输入合法的信息,允许合法输入,阻止非法输入,看验证控件对所控制的控件是否起了对应的作用,是否登录成功验证是否输入合法的信息,允许合法输入,阻止非法输入,看验证控件对所控制的控件是否起了对应的作用,是否登录成功
预置条件(登录名:testkf,密码 testkf)(登录名:testkf,密码 testkf)(登录名:testkf,密码 testkf)(登录名:testkf,密码 testkf)
参考信息特殊说明
用例编号输入数据输入数据输入数据预期结果
1客户名:(张三) 密码:(12345)客户名:(张三) 密码:(12345)客户名:(张三) 密码:(12345)提示“密码”小于 6 位
2客户名:(李四) 密码:(abcdefg)客户名:(李四) 密码:(abcdefg)客户名:(李四) 密码:(abcdefg)提示“客户名小于 6 位”
3客户名:(testkf) 密码:(testkf)客户名:(testkf) 密码:(testkf)客户名:(testkf) 密码:(testkf)客户登录成功
表 6-6 添加管理员功能测试用例
测试环境MyEclipse +MySQL 数据库、火狐浏览器MyEclipse +MySQL 数据库、火狐浏览器MyEclipse +MySQL 数据库、火狐浏览器MyEclipse +MySQL 数据库、火狐浏览器
编制人杨琴编制时间2017.102017.10
功能模块名添加管理员添加管理员添加管理员添加管理员
功能特性登录名验证、密码验证、测试登录名与密码是否一致。登录名验证、密码验证、测试登录名与密码是否一致。登录名验证、密码验证、测试登录名与密码是否一致。登录名验证、密码验证、测试登录名与密码是否一致。
测试目的验证是否输入信息、是否添加成功验证是否输入信息、是否添加成功验证是否输入信息、是否添加成功验证是否输入信息、是否添加成功
预置条件登录名必填,密码必填登录名必填,密码必填登录名必填,密码必填登录名必填,密码必填
参考信息特殊说明
用例编号输入数据输入数据输入数据预期结果
1登录名:(admin) 密码(1)登录名:(admin) 密码(1)登录名:(admin) 密码(1)客户名或者密码错误
2登录名:(jack) 密码:(1)登录名:(jack) 密码:(1)登录名:(jack) 密码:(1)用户名或者密码错误
3登录名(angle)密码(angle)登录名(angle)密码(angle)登录名(angle)密码(angle)添加管理员成功
表 6-7 删除修改汽车信息功能测试用例
测试环境MyEclipse+MySQL 数据库、火狐浏览器MyEclipse+MySQL 数据库、火狐浏览器MyEclipse+MySQL 数据库、火狐浏览器MyEclipse+MySQL 数据库、火狐浏览器
编制人杨琴编制时间2017.102017.10
功能模块名添加汽车类别添加汽车类别添加汽车类别添加汽车类别
功能特性汽车信息修改删除汽车信息修改删除汽车信息修改删除汽车信息修改删除
测试目的验证是否能正确修改商品信息验证是否能正确修改商品信息验证是否能正确修改商品信息验证是否能正确修改商品信息
预置条件商品必须存在商品必须存在商品必须存在商品必须存在
参考信息特殊说明
用例编号输入数据输入数据输入数据预期结果
1商品类别名称(宝马)商品类别名称(宝马)商品类别名称(宝马)修改成功
2品牌价格(256 改为 200)品牌价格(256 改为 200)品牌价格(256 改为 200)修改成功
3品牌名称:修改为其他品牌品牌名称:修改为其他品牌品牌名称:修改为其他品牌修改成功
系统安全性

该系统安全性主要从防 SQL 语句注入、SHA512 加密、角色权限、物理设备等安全方面进行考虑。
系统安全
防 SQL 注入
对客户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双引号进行转换等。
永远不要使用动态拼装 SQL,可以使用参数化的 SQL 或者直接使用存储过程进行数据查询存取。
不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。
不把机密信息直接存放。
应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装。
SHA512 加密
在做该系统的时候,设计数据库的密码进行 SHA512 加密,在登录的时候选择客户不同,在数据库中查找出匹配的客户名后。将登录时输入的密码进行 SHA512 加密后与数据库中查出的匹配客户名的密码进行核对。
角色权限
该系统设计数据库的时候进行客户角色的设计,客户具有唯一性。不同的客户拥有那些数据表的权限,都在开发数据库的时候进行了相应的设计,在登录的时候,利用各个客户的不同进行选择。
物理设备安全
物理安全也称之为实体安全,物理设备安全受到的威胁主要是自然威胁(地震、洪水、火灾、雷电、鼠害)和人为威胁(盗窃、爆炸、毁坏)。为了防止这两大威胁,我们应该做到将物理设备存放室建在离水源远,室内电线定时维护,安装避雷针,室内保持干燥,安装报警器、摄像头、防盗门,保证运行的设备不受人为的震动及破坏。
总 结

随着毕业日子的到来,毕业设计也接近了尾声。经过几周的奋战我的毕业设计终于完成了。在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次毕业设计使我明白了自己原来知识还比较欠缺。要学习的东西还太多,以前感觉自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己的知识和综合素质。在此要感谢我的指导老师对我悉心的指导,感谢老师给我的帮助。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。
致 谢

这次毕业设计的完成,意味着在校生涯也快要结束。通过这次毕业设计我掌握了一个系统设计的大体流程,不仅把以前学习的知识进行了回顾,在完成毕业设计的过程中还学习到了很多其他方面的知识。当然,在毕业设计过程中也不是很顺利的,我得到了老师的指导和同学们的帮助,尤其是指导老师在指导过程中多次予以指导并提出宝贵意见,如此我的设计才有条不紊的进行,令我受益匪浅,特此表示衷心的感谢!
最后,向百忙中抽出时间对本文进行评审并提出宝贵意见的各位老师表示衷心的感谢!
参考文献

倪晓秋,季民,王光伟等编著.J2EE 案例开发.北京:中国水利水电出版社
溫谦编著.HTML+CSS 网页设计与布局.北京:人民邮电出版社
康牧.JSP 动态系统开发实用教程.清华大学出版社
温谦.HTML+CSS 网页设计与布局从入门到精通.人民邮电出版社
文杰书院.Java 程序设计完全自学手册.机械工业出版社
王永茂. Java 程序设计完全自学手册.清华大学出版社
李刚.SSH2 框架.高等教育出版社
姜新华,高静编著.Java Web 应用开发.北京:北京航空航天大学出版社
许杰星.李强等编著.MySQL 开发者 SQL 权威指南.北京:机械工业出版社
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|香雨站

GMT+8, 2025-7-4 00:06 , Processed in 0.076628 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表