北京科技大学计算机科学与技术专业生产实习报告项目名称:物品租赁平台设计与开发学生姓名:徐松松班级:计1304学号:41345053企业指导老师:邬志君校内指导老师:成绩:地点:大唐移动通信设备有限公司时间:2016 年7 月20 日一、生产实习目的与实习要求1、实习目的生产实习旨在培养学生的实践能力、分析问题和解决问题的能力以及综合运用所学基础知识和基本技能的能力,同时也是为了增强学生适应社会的能力和就业竞争力。
通过理论联系实际,巩固所学的知识,提高处理实际问题的能力。
互联网发展到3.0时代,进入互联网+综合服务的时代。
互联网巨头纷纷专注于开发一个联系卖家和买家的平台,而自身不从事这个行业。
为了最贴近计算机的生产环境,本次实习目标是开发一个物品租赁平台,个人可以自由发布空余物品。
具体实践中以空闲车位作为物品.可以出租空闲车位、也可以租赁别人的空闲车位。
通过实际动手开发,掌握JPA、WebService等开发技术,为顺利毕业进行做好充分的准备,并为自己能顺利与社会环境接轨做准备。
2、实习要求本次生产实习,需要满足以下几点要求:2.1掌握常用软件开发工具(MyEclipse、TortoiseSVN、Navicat)的使用,掌握根据实际开发需要查找使用工具的能力。
2.2能将具体的计算机知识应用到实际开发工作中,能独立进行工作,将自己的所学所想所感付诸实践,了解新型的软件开发模式,开发思想,开发技术。
2.3.能体会面向对象编程思想,熟悉UML图,能独立创建WebService项目,熟悉数据库设计及JPA开发。
2.4.能够进行团队合作,在团队中承担适合自己的角色,积累沟通经验及提升协作能力。
2.5能深刻体会敏捷开发、持续集成在软件开发中的优点和作用。
二、生产实习设备(环境)及要求开发环境:win7/Linux/Mac OS开发工具:MyEclipse2014/Eclipse开发语言:JA V A JDK1.7版本库平台:SVN数据库:MySql 5.7测试手段:Google Chrom/客户端测试工具三、实习内容与步骤1、内容1(1)实习内容我在项目中担任代码编写的工作,负责账号管理模块和计费查询模块的制作。
首先是账号管理,实现系统的登录功能。
(2)主要步骤一、登录流程图二、数据库的设计一共五个表,其中要实现用户登录需要用到user表User 车场工作人员信息表在这个表中一共有五个字段,分别是Username 管理人员的用户名Password密码Name 姓名Sex 性别State 类型Say 个人语录SQL代码:CREATE TABLE `user` (`username` varchar(20) NOT NULL,`password` varchar(20) NOT NULL,`name` varchar(20) NOT NULL,`sex` varchar(4) NOT NULL,`state` varchar(20) NOT NULL,`say` varchar(200) NOT NULL,PRIMARY KEY (`username`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;三、登录界面的设计进入前台界面,首先要先登陆,不然无法进行停车场的操作。
系统登录界面设计如下:用户信息表:当输入错误的密码时,将不能正常登陆。
系统登录错误界面:不输入用户名和密码时,将弹出提示对话框。
提示对话框如下:当登陆成功后程序会跳转到main.jsp页面,此JSP将IE浏览器窗口分成四块,顶部是本系统的名字,底部是系统的当前时间,左侧是所有功能的菜单项,右侧是主要的显示区,所有的信息都会出现在右侧。
界面如下:左边菜单实现主要代码链接实现界面跳转功能:欢迎界面会根据登录名来显示登陆者信息并问好:提取登录人姓名代码:表格显示信息:<table width="80%"border="1"cellspacing="0"cellpadding="1"align="center"bordercolordark="#ecf5ff"bordercolorlight="#6699cc"style="width: 400px"><tr><td width="30%"align="right"height="30"><font size="4"face="楷体_GB2312"color="#0000FF">用户姓名:</font></td><td width="70%"><%=rs.getString("name")%></td></tr><tr><td width="30%"align="right"height="30"><font size="4"face="楷体_GB2312"color="#0000FF">用户性别:</font></td><td width="70%"><%=rs.getString("sex")%></td></tr><tr><td width="30%"align="right"height="30"><font size="4"face="楷体_GB2312"color="#0000FF">用户职务:</font></td><td width="70%"><%=rs.getString("state")%></td></tr><tr><td width="30%"align="right"height="30"><font size="4"face="楷体_GB2312"color="#0000FF">个人语录:</font></td><td width="70%"><%=rs.getString("say")%></td></tr></table>2、内容2(1)实习内容实现停车场收费记录查看功能。
(2)主要步骤一、数据库表设计Charges收费交易记录在这个表中一共有四个字段,分别是Name车主的姓名Money所收的金额Username收费的员工姓名money_time收费的时间SQL代码:CREATE TABLE `chargs` (`name` varchar(12) NOT NULL default '',`money` int(11) default NULL,`username` varchar(12) default NULL,`money_time` datetime default NULL,PRIMARY KEY (`name`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;二、界面设计三、主要实现代码表格设计代码:<table border><tr bgcolor=lightblue><th width=80>客户姓名<th width=80>收费金额<th width=100>收费记录员<th width=150>收费时间</tr>显示记录信息:// 显示单行记录方法public String displayOneResult(ResultSet rs) {String text = "";try {text += "<tr align='center'>";text +="<td>"+rs.getString("name")+"</td>";text +="<td>"+rs.getInt("money")+"</td>";text +="<td>"+rs.getString("username")+"</td>";text +="<td>"+rs.getString("money_time")+"</td>";text += "</tr>";} catch (Exception e) {e.printStackTrace();}return text;}%>获取页码功能://页面大小int pageSize = 10;//第几页int pages = 1;//总页数int totalPage = 0;String str = "";public String showOnePage(ResultSet rs, int pages, int pageSize) { str = "";// 将记录指针定位到相应的位置try {rs.absolute((pages - 1) * pageSize + 1);} catch (SQLException e) {}for (int i = 1; i <= pageSize; i++) {str += displayOneResult(rs);try {if (!rs.next())break;} catch (Exception e) {e.printStackTrace();}}return str;}实现翻页功能:<%totalPage = MoneyBean.getTotalPage(10);try {if (request.getParameter("Page") == null|| request.getParameter("Page").equals(""))pages = 1;elsepages =Integer.parseInt(request.getParameter("Page"));} catch (ng.NumberFormatException e) {// 处理用户从浏览器地址拦直接输入pages=ab等所造成的异常pages = 1;}if (pages < 1)pages = 1;if (pages > totalPage)pages = totalPage;out.println(showOnePage(rs, pages, pageSize));%></table><form Action="seeall.jsp"method="get"><%if (pages != 1) {out.println("<a href= seeall.jsp?Page=1>第一页</A> ");out.println("<a href= seeall.jsp?Page=" + (pages - 1)+ ">上一页</A> ");}if (pages != totalPage) {out.println("<a href= seeall.jsp?Page=" + (pages + 1)+ ">下一页</A> ");out.println("<a href= seeall.jsp?Page=" + totalPage+ ">最后一页</A> ");}rs.close();%>总收入计算:<p align="center"><font size="5"face="楷体_GB2312"color="#0000FF">本车场今天总收入:<font size="5"face="楷体_GB2312"color='red'><%=MoneyBean.getSum()%></font>(人民币)</font></p>3、内容3(1)实习内容完成项目的测试。