在线购书网的报告
2015-2016学年第一学期
JSP程序设计实训报告
项 目 组: 五组 专 业: 计算机应用技术 学 院: 应用技术学院 指导教师: 张慧爽 实训时间: 2016年1月4日—2016年1月22日
应用技术学院
目 录
一、团队构成及分工........................................................................................................................................................ 1 二、项目进度
............................................................................................................................................................ 2 三、项目需求描述 ............................................................................................................................................................ 3 3.1引言........................................................................................................................................................................... 3 3.2项目简介.................................................................................................................................................................. 4 3.2.1系统名称......................................................................................................................................................... 4 3.2.2功能.................................................................................................................................................................. 4 3.2.3项目预期目标如下 ....................................................................................................................................... 4 3.2.4安全性和完整性要求 .................................................................................................................................. 4 3.3项目用框图 ............................................................................................................................................................. 5 3.3.1系统总体设计图 ........................................................................................................................................... 6 3.3.2前台系统功能图 ........................................................................................................................................... 7
........................................................................................................................................... 8 3.3.3后台系统功能图
3.3.4网站购物处理流程图 .................................................................................................................................. 9 3.3.5网站ER图 ...................................................................................................................................................... 9 3.4数据模型................................................................................................................................................................ 10 3.4.1 系统的主要功能:.................................................................................................................................... 11
............................................................................................................................ 11 3.4.2系统运行的硬件环境:
四、项目功能设计 .......................................................................................................................................................... 12 4.1登录功能设计 ....................................................................................................................................................... 12 4.2系统描述................................................................................................................................................................ 13 4.2.1用户登录用例.............................................................................................................................................. 13 4.2.2添加用户用例.............................................................................................................................................. 14 4.2.3添加书籍用例.............................................................................................................................................. 14 4.2.4添加书籍分类用例 ..................................................................................................................................... 14 4.2.5修改书籍用例.............................................................................................................................................. 15 4.2.6修改书籍分类用例 ..................................................................................................................................... 15 4.2.7删除书籍用例.............................................................................................................................................. 15 4.2.7删除书籍分类用例 ..................................................................................................................................... 16 4.2.8添加购物车用例 ......................................................................................................................................... 16 4.2.9生成订单用例.............................................................................................................................................. 16 4.2.10查看图书分类用例................................................................................................................................... 17 4.2.11查看图书用例............................................................................................................................................ 17 4.2.12查看图书详细用例................................................................................................................................... 17 4.2.13书籍订单用例............................................................................................................................................ 18 4.2.14查看书籍订单用例................................................................................................................................... 18 五、项目数据设计 .......................................................................................................................................................... 19 5.1数据逻辑设计 ....................................................................................................................................................... 19 5.2数据库主要数据表 .............................................................................................................................................. 20
I
六、项目实现 ................................................................................................................................................................... 23 6.1登录功能模块 ....................................................................................................................................................... 23 6.2注册功能模块 ....................................................................................................................................................... 24 6.3首页模块................................................................................................................................................................ 25 6.4购书模块................................................................................................................................................................ 26 6.5后台模块................................................................................................................................................................ 28 6.6图书分类管理模块 .............................................................................................................................................. 28 6.7图书管理模块 ....................................................................................................................................................... 31 6.7订单管理模块 ....................................................................................................................................................... 33 七、关键代码实现 .......................................................................................................................................................... 35 7.1前台代码................................................................................................................................................................ 35
7.1.1查找所有图书分类 ..................................................................................................................................... 35
7.1.2用户注册....................................................................................................................................................... 37
7.1.3购物车功能 .................................................................................................................................................. 39 7(2后台代码.............................................................................................................................................................. 41
7.2.1图书分类管理.............................................................................................................................................. 41
7.2.2图书管理....................................................................................................................................................... 46
7.2.3订单管理....................................................................................................................................................... 50 八、实训总结 ................................................................................................................................................................... 55
II
一、团队构成及分工
团队:
职能 成员 任务分工 成绩
韦翔羽 后台构建 组长
张青飞 后台构建
李佳妮 前台构建
组员 李广涵 前台构建
米原欣 文档整理
指导教师签字:
年 月 日
1
二、项目进度计划
序号 任务名称 开始时间 完成时间 持续时间
选
及构思 1
前台构建 2
后台构建 3
整合各编码模块及测试 4
整理文档加答辩 5
2
三、项目需求描述
3.1引言
随着社会信息量的与日俱增,职场竞争的日造激烈,越来越多的人更关注知识的积祟、能力的培养。作为信息存储的主要煤体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。
在计算机日益普及的今天,对个人而言者采用一套行之有效的图书管理系统来管理白己的书籍, 会方便许多 。 对图书管理部门而言, 以前单一的手工检索己不能满足人们的要求, 为了便于图书资料的管理需要有效的图书管理软件 。 对子日益加大的图书馆,査找特定的书目总是倍阅者成工作人员劳神费力,有时还没有结果。因此往往是投入了大量的人力和财力却得不到高效的管理效率。为了缩短借阅者的等待时日,减轻工作人员的工作量, 方便工作人员对它的操作, 提高管理的质量和水平, 做到高效、 智能化管理, 从而达到提高图-ti借l兑j信息管理效率的目的,来用数据库技本生成的图书馆借阅管理系统将会极大地方便倍阅者并筒化图书馆管理人员和
使工作人员从繁忙、复杂的工作进入到一个简単、 高效的工作中 工作人员的労动,
在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。这样,就把一个大的系统分解成了儿个小系统。这里把系统的层次划
图书信息,读者信息管理,图书借阅管理,信息査询。 能够实现以下分为了四个部分:
功能:
1、进行新书入库、现有图书信息修改以及删除;
2、能够实現对读者基本信息的査询和编辑管理;
3、查看购物车,查看用户个人信息;
4、管理员后台管理;
5、查看图书情况;
6、增加或删除图书类别;
3
3.2项目简介
3.2.1系统名称
Ebook电子商务平台
3.2.2功能
eBook电子商务平台是实现网上选书、购书等功能的系统。系统可分为图书信息的动态展示、购物车管理、客户信息注册登录管理等模块。
具体功能如下:
1、图书信息查询:当用户登录系统后,系统应该在主页面中显示最新的书目信息,以供用户选择所需要的图书。同时提供查询条件,供用户进行分类,并能按关键字进行模糊查询,以使得用户可以快速获取自己想要的图书信息。
2、购物车管理:当用户进入系统后选择自己想购买的图书时,能够将此书的相关书的信息加入到购物车中,在购物车中可以对单条的图书信息进行修改和删除,对购物车中的信息进行确认以后即完成图书的购买。
3、管理:用户在此系统中可以注册自己的信息,此时要提供相关的联系方式。用户登录后即可进行图书信息的查询和购买,并且可以查看自己购书的历史
信息。
3.2.3项目预期目标如下
(1)系统能够提供友好的用户界面,使操作人员的工作量最大限度的减少;
(2)系统具有良好的运行效率;
(3)系统应有良好的可扩充性,可以容易地加入其它系统;
(4)平台的设计具有一定的超前性,灵活性,能够适应配置的变化;
(5)通过这个项目可以锻炼队伍,提高团队的开发能力和项目管理能力。
3.2.4安全性和完整性要求
1、安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度.上的安全性,再通过分配权限、设置权限级别来区别对特不同操作者对数据
4
库的操作来提高数据库的安全性; 系统平台的安全性体现在操作系统的安全性、 计算机系统的安全性和网络体系的安全性等方面。
2、完整性要求
系统完整性要求系统中数据的正确性以及相容性。
具体功能如下:
(1)图书信息查询:当用户登录系统后,系统应该在主页面中显示最新的书目信息,以供用户选择所需要的图书。同时提供查询条件,供用户进行分类。
(2)购物车管理:当用户进入系统后选择自己想购买的图书时,能够将此书的相关书的信息加入到购物车中,在购物车中可以对单条的图书信息进行修改和删除,对购物车中的信息进行确认以后即完成图书的购买。
(3)管理:用户在此系统中可以注册自己的信息,此时要提供相关的联系方式。
3.3项目用框图
注册
登录
注册用户购物车管理
图书查询
图3-1系统用例图
订单查询
5
图3-2系统用例图 3.3.1系统总体设计图
图3-3系统总体设计图
6
3.3.2前台系统功能图
图3-4前台系统功能图
7
3.3.3后台系统功能图
图3-5后台系统功能图
8
3.3.4网站购物处理流程图
图3-6网站购物处理流程图 3.3.5网站ER图
图书实体ER图,如图3-7。
图3-7图书实体ER图
9
实体之间的关系ER图,如图3-8。
图3-8实体关系ER图
管理员或用户实体ER图,如图3-9。
图3-9用户或管理员实体ER图
3.4数据模型
本系统所使用的数据库是mySQL数据库,在安装完成数据库后,建立一个新的数据库,库的名字叫bookstore,bookstore数据库是这个系统的总体数据库。在这个数据库中包含了在总体设计时定义的所有的数据表。这些表分别是用户信息表(user), 图书信息表(book), 图书分类表(category),图书订单表(orders),用户订单表(orderitem)。
10
3.4.1 系统的主要功能:
信息的操作功能、查询功能。
信息操作功能:(1)图书分类的添加、查看、修改和删除。分类的添加包括分类名称及描述。分类的修改包括分类名称及描述。(2)图书的添加、查看、修改和删除。添加图书包括图书的图书名、作者、价格、出版日期、图片、描述、及分类。修改图书包括图书的图书名、作者、价格、出版日期、图片、描述、及分类(3)订单的查看、发货、和删除。(4)购买图书和生成订单。
查询功能:包括查询图书信息。
3.4.2系统运行的硬件环境:
本系统的硬件环境如下:
客户端:普通PC
CPU:P41.8G以上
内存:256MB以上
分辨率:推荐使用1024*768像素
数据库服务器:
P42.0GHz CPU:
内存:1GB以上
硬盘:80GB以上
11
四、项目功能设计
4.1登录功能设计
图4-1功能模块图
主要的功能模块有以下三个:
1、图书信息管理
该模块实现图书书目信息的显示,提供各种不同的查询条件下模糊查询,以便用户能够迅速地搜索到所需的图书。此外,在用户选择了某个书目信息以后,可以显示该书目的详细信息,让用户了解此书的情况,方便用户做出正确的选择。
2、购物车管理
对应于每个进入在线书店系统的用户购物车,主要管理用户所选择书目的信息。
12
在用户没有退出系统之前或者没有提交之前,一直保持着用户所选择的书目信息,提
交之后即完成图书的购买。
3、用户管理
用户注册及身份的认证。因为要实际操作送货上门,因而要搜集到用户的详细地
址及详细的联系方式。
图书查询
购物车管理
已注册用户新用户注册
登录
订单查询图4-2系统活动图
4.2系统描述
4.2.1用户登录用例
名称:用户登录
参与执行者:系统用户、本系统jsp界面、数据库
前置条件:数据库已经连接
活动的基本过程:
1( 输入用户名密码
2( 系统弹出一个子窗口,用户在子窗口中输入登录帐号和密码 3( 系统查询数据库用户表,判断此帐号是否存在,账号和密码是否吻合 4( 如果帐号和密码吻合,系统将根据该帐号所对应的操作权限设定用户所能操作的菜单
项
后置条件:用户已登录,用户可以操作相应的菜单项
13
4.2.2添加用户用例
名称:添加用户
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
1( 用户单击“添加用户”
2( 系统弹出一个子窗口,用户在子窗口中输入新增用户的登录名、登录密码等。
3( 系统向数据库表新增一条记录
后置条件:已新增用户,新用户可以使用指定登录名和密码登录
4.2.3添加书籍用例
名称:添加书籍
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
1( 用户单击“添加书籍”
2( 系统弹出一个子窗口,用户在子窗口中输入欲添加书籍的书籍名称、作者、出版日期、
价格、分类、描述、图片
3( 系统向数据库书籍表中新增一条记录
后置条件:书籍已经添加,用户可以进行后续操作
4.2.4添加书籍分类用例
名称:添加书籍分类
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
4( 用户单击“添加图书分类”
5( 系统弹出一个子窗口,用户在子窗口中输入欲添加书籍的分类名称、描述、
6( 系统向数据库书籍表中新增一条记录
后置条件:书籍分类已经添加,用户可以进行后续操作
14
4.2.5修改书籍用例
名称:修改书籍
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
1( 用户单击“修改书籍”
2( 系统弹出一个子窗口,用户在子窗口中输入欲修改书籍的书名
3( 系统查询数据库书籍表,调出该书籍的基本信息 4( 用户修改书籍的基本信息
5( 系统向数据库书籍表书信记录
后置条件:书籍信息已经修改
4.2.6修改书籍分类用例
名称:修改书籍分类
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
7( 用户单击“添加图书分类”
8( 系统弹出一个子窗口,用户在子窗口中输入欲修改书籍的分类名称、描述、
9( 系统向数据库书籍分类表中个更新一条记录 后置条件:书籍分类已经修改
4.2.7删除书籍用例
名称:删除书籍
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
1( 用户单击“删除书籍”
2( 系统弹出一个子窗口,用户在子窗口中输入欲删除书籍的书名
3( 系统从数据库书籍表中删除书籍记录 后置条件:书籍记录已经删除
15
4.2.7删除书籍分类用例
名称:删除书籍分类
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
4( 用户单击“删除分类”
5( 系统弹出一个子窗口,用户在子窗口中输入欲删除书籍的书名
6( 系统从数据库书籍表中删除书籍记录 后置条件:书籍分类记录已经删除
4.2.8添加购物车用例
名称:添加到购物车
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
7( 用户单击“添加到购物车”
8( 网页跳转到购物车
9( 系统从数据库购物车表中添加信息记录 后置条件:购物车已经添加
4.2.9生成订单用例
名称:生成订单
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
10( 用户在购物车单击“生成订单” 11( 网页跳转到提示成功界面
12( 系统从数据库订单表中添加信息记录 后置条件:订单已经生成
16
4.2.10查看图书分类用例
名称:查看图书分类
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
13( 管理员点击查看分类选项
14( 相应位置显示图书分类列表
15( 系统从数据库分类表中显示
后置条件:无
4.2.11查看图书用例
名称:查看图书分类
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
16( 管理员点击查看图书选项
17( 相应位置显示图书信息列表
18( 系统从数据库图书表中显示
后置条件:无
4.2.12查看图书详细用例
名称:查看图书详细
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
19( 管理员点击图书信息列表中的“详细” 10( 页面显示书籍的书籍名称、作者、出版日期、价格、分类、描述、图片
20( 系统从数据库图书信息表中显示 后置条件:无
17
4.2.13书籍订单用例
名称:书籍订单
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
11( 管理员点击“未发货订单”中的已发货 12( 未发货订单中的订单转移到已发货订单中 21( 系统从数据库订单表中更新订单分类 后置条件:订单记录已更新
4.2.14查看书籍订单用例
名称:查看书籍订单用例
参与执行者:系统用户、本系统jsp界面、数据库 前置条件:数据库已经连接
活动的基本过程:
22( 管理员点击图书订单中的“查看明细” 23( 页面跳转图书订单详细信息表 24( 系统从数据库订单详情表中显示 后置条件:无
18
五、项目数据设计
5.1数据逻辑设计
.数据库用Microsoft MySQL Server创建一个数据库bookstore,含有5个主要数据表:用户信息表(user), 图书信息表(book), 图书分类表(category),图书订单表(orders),用户订单表(orderitem)。 这几个表中,id
都是唯一的,分别是user、book、category、orders、orderitem表的主关键字。
图5-1 ebook电子商务平台系统数据表关系图
19
5.2数据库主要数据表
表5-1 user表
序号 字段 描述 类型和长度 主键 可空 默认值
是 否 1 id 用户id varchar(40) Auto-increment
用户登录名 否 否 无 2 username varchar(40)
用户密码 否 否 无 3 password varchar(50)
电话 否 是 无 4 callphone varchar(20)
地址 否 是 无 6 address varchar(255)
电子邮件 否 是 无 7 email varchar(100)
表5-2 orders表
序号 字段 描述 类型和长度 主键 可空 默认值
是 否 1 id 订单id varchar(40) Auto-increment
订单时间 否 否 2 date Timetamp 0000-00-00 00:00:00”
是否发货 否 否 3 state Tinyint(1) 0
共计金额 否 否 无 4 totalMoney Float
是 否 无 5 user_id 用户id varchar(40)
20
表5-3 orderitem表
序号 字段 描述 类型和长度 主键 可空 默认值
是 否 1 id 订单id varchar(40) Auto-increment
数量 否 否 无 2 Num int(4)
总计金额 否 否 无 3 totalPrice float
否 否 无 4 book_id 图书id varchar(40)
否 否 无 5 orders_id 订单id varchar(40)
表5-4 category表
序号 字段 描述 类型和长度 主键 可空 默认值
是 否 1 id 分类id varchar(40) Auto-increment
分类名称 否 否 无 2 name varchar(40)
内容介绍 否 是 无 3 description text
21
表5-5 book表
序字段 描述 类型和长度 主键 可空 默认值
号
是 否 1 id 图书id varchar(40) Auto-increment
否 否 无 2 category_id 图书类别id varchar(40)
图书名 否 否 无 3 name varchar(30)
图书价格 否 否 无 4 price float
出版日期 否 是 无 5 publicationDate date
图片 否 否 无 6 Images varchar(255)
图书作者 否 否 无 7 author varchar(40)
图书描述 否 否 无 8 description varchar(255)
22
六、项目实现
6.1登录功能模块
进入商务平台登录是必不可少的一项,只有登录后才可以进入购买界面。
图6-1 登录界面
若登录成功将进入到首页,若登录不成功,将返回到系统的登录界面。若是输入错误则提示用户名或密码错误,会出现如下界面。
23
图6-2 登录错误提示界面
6.2注册功能模块
此页面用于注册用户,若没有帐号,此步骤必不可少。
图6-3 用户注册界面
在注册页面填写新注册的用户名、密码、电话、家庭住址、电子邮件等。注册后点击提交即可完成。点击重置,内容会清空。若是没有填用户名密码,会出现提示界
24
面。如下。
图6-4注册错误提示界面 6.3首页模块
ebook电子商务平台的首页。
图6-5 首页界面
25
在网站首页可以查看图书分类,及其他信息。也可以添加到购物车,和下单。点击查看图书分类(例如中文分类),如下图。
图6-6 分类界面
6.4购书模块
购物车,是电子商务平台不可或缺的。用户可以在首页将书籍添加到购物车,然后在购物车中查看自己要购买的书籍,名称、价格等。并且决定是否下单。
26
图6-7 购物车界面
用户可以在购物车模块查看购物信息,和下订单。若是下订单,就会显示如下界
面。
图6-8 生成订单界面
27
6.5后台模块
Ebook电子商务后台管理界面,用于管理员管理网站的模块。
图6-9 后台界面
后台界面,管理员可以在此界面添加图书分类,查看图书分类,添加图书,查看图书,及管理订单。
6.6图书分类管理模块
在此模块管理员可以对图书的分类进行添加、查看、修改和删除。
(1)添加图书分类界面。
图6-10 分类添加界面
28
当管理员添加分类完成后,点击添加。便完成了添加图书分类。然后界面提示成功。如下图。
图6-11 分类添加成功提示界面
(2)查看图书分类界面。
图6-12 查看图书分类界面
在此界面,管理员不仅可以查看图书的分类 ,也可以对此进行修改和删除。下
29
图是图书分类修改界面。
图6-13 修改图书分类界面
当管理员完成修改后点击修改按钮,便完成修改,跳转修改成功界面,与添加分
类界面相似。下面是分类删除界面。
图6-14 删除图书分类界面
30
当管理员点击删除分类时,会弹出提示框。点击确定完成删除即可。 6.7图书管理模块
在此模块管理员可以对图书进行添加、查看、修改和删除。
(1)添加图书界面。
图6-15 添加图书界面
当管理员添加图书完成后,点击添加。便完成了添加图书。然后界面提示成功,与添加图书分类一样。
(2)查看图书界面。
图6-16 查看图书界面
31
在此界面,管理员可以查看图书详情 ,也可以对此进行修改和删除。下图是图书修改界面。
图6-17 修改图书界面
当管理员完成修改后点击修改按钮,便完成修改,跳转修改成功界面,与添加分类界面一样。下面是图书删除界面。
图6-18 删除图书界面
32
当管理员点击删除图书时,会弹出提示框。点击确定完成删除即可。下面是图书详情界面。
图6-18 删除图书界面
在此页面管理员可以查看图书详情,以便于修改。
6.7订单管理模块
管理员可以对订单进行操作。可以在未发货订单中发货,可以在两种订单中进行删除和查看明细。
图6-19 查看订单界面
33
此界面可以点击发货,然后已发货订单中生成订单。下图是查看订单明细。
图6-20 查看订单详情界面
在此界面管理员可以查看订单的明细,点击返回,即返回上一页。下面是删除订单。
图6-21 删除订单界面
34
七、关键代码实现
7.1前台代码
7.1.1查找所有图书分类
package com.pdsu.web.cilent;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.pdsu.bean.Book;
import com.pdsu.bean.Category;
import com.pdsu.bean.PageModel;
import com.pdsu.service.manager.BookService; import com.pdsu.service.manager.CategoryService; import com.pdsu.utils.DAOFactory;
public class WelcomeServlet extends HttpServlet {
private static final long serialVersionUID = -8059161453151515249L;
private BookService bs = DAOFactory.create(BookService.class,
"com.pdsu.service.manager.BookService");
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String optation = request.getParameter("op");
// 查找所有图书分类
if ("findCategory".equals(optation)) {
findAllCategory(request, response);
} else if ("findBook".equals(optation)) {
findBook(request, response);
} else if ("findByCategory".equals(optation)) {
findByCategory(request, response);
}
}
// 查找某个分类下的所有图书
private void findByCategory(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
35
try {
String currentPage = request.getParameter("page");
String categoryId = request.getParameter("categoryId");
String pageUrl = request.getContextPath()
+ "/client/WelcomeServlet?op=findByCategory&categoryId="
+ categoryId;
PageModel
pageModel = bs.findAll(currentPage, categoryId,
pageUrl);
request.setAttribute("pageObject", pageModel);
request.getRequestDispatcher("/client/body.jsp").forward(request,
response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "查询图书列表失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 查询所有图书
private void findBook(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
// 得到当前页
String currentPage = request.getParameter("page");
String pageUrl = request.getContextPath()
+ "/client/WelcomeServlet?op=findBook";
PageModel pageModel = bs.findAll(currentPage, pageUrl);
// 将分页模型设置到request域中
request.setAttribute("pageObject", pageModel);
request.getRequestDispatcher("/client/body.jsp").forward(request,
response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "查询图书列表失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 查询所有图书分类
private void findAllCategory(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
36
try {
CategoryService cs = DAOFactory.create(CategoryService.class,
"com.pdsu.service.manager.CategoryService");
List categorys = cs.findAll();
request.setAttribute("categorys", categorys);
request.getRequestDispatcher("/client/left.jsp").forward(request,
response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "图书分类列表查询失败~");
request.getRequestDispatcher("/client/left.jsp").forward(request,
response);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
7.1.2用户注册
package com.pdsu.web.cilent;
import java.io.IOException;
import java.util.Map;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.beanutils.BeanUtils; import com.pdsu.bean.User;
import com.pdsu.dao.UserDAO;
import com.pdsu.utils.DAOFactory;
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = -1324540352725126830L;
private UserDAO userDao = DAOFactory.create(UserDAO.class,
"com.pdsu.dao.UserDAO");
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String optaion = (String) request.getParameter("op");
37
if ("login".equals(optaion)) {
login(request, response);
} else if ("register".equals(optaion)) {
register(request, response);
} else if ("logout".equals(optaion)) {
logout(request, response);
} else {
request.setAttribute("msg", "你指定的操作不存在~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 用户登录
private void login(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = userDao.checkUser(username, password);
if (user != null) {
request.getSession().setAttribute("user", user);
} else {
"用户名或密码错误~"); request.setAttribute("msg",
}
request.getRequestDispatcher("/client/top.jsp").forward(request,
response);
}
// 用户安全退出
private void logout(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
User user = (User) request.getSession().getAttribute("user");
if (user != null)
request.getSession().removeAttribute("user");
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
// 用户注册
private void register(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
String username = request.getParameter("username");
String password = request.getParameter("password");
// 用户名或密码为空
38
if (username == null || "".equals(username.trim())
|| password == null || "".equals(password.trim())) {
request.setAttribute("msg", "用户名或密码不能为空~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
return;
}
Map userMap = request.getParameterMap();
User user = new User();
BeanUtils.populate(user, userMap);
userDao.add(user);
request.getSession().setAttribute("user", user);
request.getRequestDispatcher("/client/top.jsp").forward(request,
response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "用户注册失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
7.1.3购物车功能
package com.pdsu.web.cilent;
import java.io.IOException;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.pdsu.bean.Cart;
import com.pdsu.service.client.CartService; import com.pdsu.utils.DAOFactory;
/**
* 类说明:购物车servlet
*/
39
public class CartServlet extends HttpServlet {
private static final long serialVersionUID = 6465672771467801075L;
private CartService cs = DAOFactory.create(CartService.class,
"com.pdsu.service.client.CartService");
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String optation = request.getParameter("op");
if ("addCart".equals(optation)) {// 添加到购物车
addCart(request, response);
} else if ("delCart".equals(optation)) {
delCart(request, response);
} else {
request.setAttribute("msg", "你指定的操作不存在~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 删除购物车中的某本图书
private void delCart(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
// 购物车删除功能
String bookId = request.getParameter("bookId");
Cart cart = (Cart) request.getSession().getAttribute("cart");
if (cart != null) {
// 将图书从购物车中移除
cs.removeBookToCart(cart, bookId);
}
request.getRequestDispatcher("/client/showCart.jsp").forward(
request, response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "删除购物车中商品失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 添加图书到购物车
private void addCart(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
40
try {
String bookId = request.getParameter("bookId");
Cart cart = (Cart) request.getSession().getAttribute("cart");
if (cart == null) {
cart = new Cart();
// 将购物车添加到session中
request.getSession().setAttribute("cart", cart);
}
// 将图书添加到购物车中
cs.addBookToCart(cart, bookId);
request.getRequestDispatcher("/client/showCart.jsp").forward(
request, response);
} catch (Exception e) {
request.setAttribute("msg", "添加到购物车失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
7(2后台代码
7.2.1图书分类管理
package com.pdsu.web.manager;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.beanutils.BeanUtils; import com.pdsu.bean.Category;
import com.pdsu.service.manager.CategoryService;
41
import com.pdsu.utils.DAOFactory;
import com.pdsu.utils.UUIDCreate;
public class CategoryServlet extends HttpServlet {
private static final long serialVersionUID = -3837837724301747012L;
private CategoryService cs = DAOFactory.create(CategoryService.class,
"com.pdsu.service.manager.CategoryService");
public CategoryServlet() {
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String op = request.getParameter("op");
// 添加图书分类
if ("add".equalsIgnoreCase(op)) {
add(request, response);
}
// 删除图书分类
else if ("del".equalsIgnoreCase(op)) {
del(request, response);
}
// 修改图书分类
else if ("update".equalsIgnoreCase(op)) {
update(request, response);
}
// 查找所有图书分类
else if ("findAll".equalsIgnoreCase(op)) {
findAll(request, response);
}
// 根据id查找图书分类
else if ("findById".equalsIgnoreCase(op)) {
findById(request, response);
} else {
request.setAttribute("msg", "你所指定的操作不存在~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
42
/**
* 添加图书分类
* @param request
* @param response
* @throws IOException
* @throws ServletException
*/
private void add(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
Category category = new Category();
Map map = request.getParameterMap();
BeanUtils.populate(category, map);
category.setId(UUIDCreate.createUUID());
cs.add(category);
request.setAttribute("msg", "添加图书分类成功~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "添加图书分类失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
/**
* 根据id查找图书分类
* @param request
* @param response
* @throws IOException
* @throws ServletException
*/
private void findById(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
Category category = cs.findById(request.getParameter("id"));
request.setAttribute("category", category);
request.getRequestDispatcher("/manager/updateCategory.jsp")
.forward(request, response);
} catch (Exception e) {
43
e.printStackTrace();
request.setAttribute("msg", "图书分类查找失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
/**
* 查找所有图书分类
*
* @param request
* @param response
* @throws IOException
* @throws ServletException
*/
private void findAll(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
List categorys = cs.findAll();
request.setAttribute("categorys", categorys);
request.getRequestDispatcher("/manager/listCategory.jsp").forward(
request, response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "图书分类列表显示失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
/**
* 更新图书分类
* @param request
* @param response
* @throws IOException
* @throws ServletException
*/
private void update(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
Category category = new Category();
44
Map map = request.getParameterMap();
BeanUtils.populate(category, map);
cs.update(category);
request.setAttribute("msg", "图书分类修改成功~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "图书分类修改失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
/**
* 删除图书分类
* @throws IOException
* @throws ServletException
*/
private void del(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
Category category = new Category(request.getParameter("id"), "", "");
cs.del(category);
List categorys = cs.findAll();
request.setAttribute("categorys", categorys);
request.getRequestDispatcher("/manager/listCategory.jsp").forward(
request, response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "图书分类删除失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
45
}
7.2.2图书管理
package com.pdsu.web.manager;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.pdsu.bean.Book;
import com.pdsu.bean.Category;
import com.pdsu.bean.PageModel;
import com.pdsu.service.manager.BookService; import com.pdsu.service.manager.CategoryService; import com.pdsu.utils.DAOFactory;
/**
* 类说明:图书管理
*/
public class BookServlet extends HttpServlet {
private static final long serialVersionUID = 5918355220214014671L;
private BookService bs = DAOFactory.create(BookService.class,
"com.pdsu.service.manager.BookService");
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String optation = request.getParameter("op");
// 查找所有图书分类
if ("findCategory".equalsIgnoreCase(optation)) {
findAllCategory(request, response);
} else if ("addBook".equalsIgnoreCase(optation)) {
saveOrUpdate(request, response, true);
} else if ("delBook".equalsIgnoreCase(optation)) {
delBook(request, response);
} else if ("updateBook".equalsIgnoreCase(optation)) {
saveOrUpdate(request, response, false);
} else if ("findAll".equalsIgnoreCase(optation)) {
46
findAllBook(request, response);
} else if ("findById".equalsIgnoreCase(optation)) {
findByIdBook(request, response);
} else {
request.setAttribute("msg", "你指定的操作不存在~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 通过id查找图书
private void findByIdBook(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
String method = request.getParameter("method");
String id = request.getParameter("id");
Book book = bs.findById(id);
request.setAttribute("book", book);
if ("detail".equalsIgnoreCase(method)) {// 详细信息查找
request.getRequestDispatcher("/manager/detailBook.jsp")
.forward(request, response);
} else if ("update".equalsIgnoreCase(method)) {// 更新时详细信息查找
CategoryService cs = DAOFactory.create(CategoryService.class,
"com.pdsu.service.manager.CategoryService");
List categorys = cs.findAll();
request.setAttribute("categorys", categorys);
request.getRequestDispatcher("/manager/updateBook.jsp")
.forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "查询图书失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 查找所有图书
private void findAllBook(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
47
// 得到当前页
String currentPage = request.getParameter("page");
String pageUrl = request.getContextPath()
+ "/manager/BookServlet?op=findAll";
PageModel pageModel = bs.findAll(currentPage, pageUrl);
// 将分页模型设置到request域中
request.setAttribute("pageObject", pageModel);
request.getRequestDispatcher("/manager/listBook.jsp").forward(
request, response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "查询图书列表失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 删除图书信息
private void delBook(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
String id = request.getParameter("id");
Book book = new Book();
book.setId(id);
bs.del(book);
findAllBook(request, response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "删除图书失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
/**
* 添加或更新图书
*
* @param request
* @param response
* @throws IOException
48
* @throws ServletException
*/
private void saveOrUpdate(HttpServletRequest request,
HttpServletResponse response, boolean isSave)
throws ServletException, IOException {
try {
String id = request.getParameter("bookId");
String filePath = this.getServletContext().getRealPath("\\images");
bs.saveOrUpdate(request, response, filePath, isSave, id);
String msg = "";
if (isSave) {
msg = "添加图书成功~";
} else {
msg = "修改图书信息成功~";
}
request.setAttribute("msg", msg);
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
} catch (Exception e) {
e.printStackTrace();
String msg = "";
if (isSave) {
msg = "添加图书失败~";
} else {
msg = "修改图书信息失败~";
}
request.setAttribute("msg", msg);
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
/**
* 查找所有图书分类
*
* @throws IOException
* @throws ServletException
*/
private void findAllCategory(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
49
CategoryService cs = DAOFactory.create(CategoryService.class,
"com.pdsu.service.manager.CategoryService");
List categorys = cs.findAll();
request.setAttribute("categorys", categorys);
request.getRequestDispatcher("/manager/addBook.jsp").forward(
request, response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "查询图书分类失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
}
7.2.3订单管理
package com.pdsu.web.cilent;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.pdsu.bean.OrderItem;
import com.pdsu.bean.Orders;
import com.pdsu.bean.User;
import com.pdsu.service.client.OrderService; import com.pdsu.utils.DAOFactory;
/**
* 类说明:订单管理Servlet
*/
public class OrderServlet extends HttpServlet {
private static final long serialVersionUID = 7092092200133721593L;
50
private OrderService os = DAOFactory.create(OrderService.class,
"com.pdsu.service.client.OrderService");
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String optation = request.getParameter("op");
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
if (user == null) {
request.setAttribute("msg", "请先登录~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
return;
} else if ("addOrders".equals(optation)) {
addOrders(request, response);
} else if ("showOrders".equals(optation)) {
showOrders(request, response, user);
} else if ("showOrderItem".equals(optation)) {// 显示详细的订单信息
showOrderItem(request, response, user);
} else if ("showOrderByState".equals(optation)) {
showOrderByState(request, response);
} else if ("delOrder".equals(optation)) {
delOrder(request, response);
} else if ("updateOrder".equals(optation)) {
updateOrder(request, response);
} else {
request.setAttribute("msg", "你指定的操作不存在~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 更新订单
private void updateOrder(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
String orderId = (String) request.getParameter("orderid");
Orders orders = os.findById(orderId);
orders.setState(1);
os.updateOrder(orders);
showOrderByState(request, response);
51
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "修改订单失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 删除订单
private void delOrder(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
String orderId = (String) request.getParameter("orderid");
os.delOrder(orderId);
showOrderByState(request, response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "删除订单失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 查找发货的订单
private void showOrderByState(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
int state = Integer
.parseInt((String) request.getParameter("state"));
List list = os.findByState(state);
request.setAttribute("orders", list);
request.setAttribute("state", state);
request.getRequestDispatcher("/manager/showOrders.jsp").forward(
request, response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "查看订单失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 查看详细的订单信息
private void showOrderItem(HttpServletRequest request,
52
HttpServletResponse response, User user) throws ServletException,
IOException {
try {
String orderId = request.getParameter("orderid");
List items = os.findByOrdersId(orderId);
request.setAttribute("ordersItems", items);
request.getRequestDispatcher("/client/showOrderItem.jsp").forward(
request, response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "查看订单详细信息失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 显示订单
private void showOrders(HttpServletRequest request,
HttpServletResponse response, User user) throws ServletException,
IOException {
try {
List list = os.findByUser(user);
request.setAttribute("orders", list);
request.getRequestDispatcher("/client/showOrder.jsp").forward(
request, response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("msg", "查看订单失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
// 生成订单
private void addOrders(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
os.addOrder(request);
request.setAttribute("msg", "生成订单成功~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
} catch (Exception e) {
53
e.printStackTrace();
request.setAttribute("msg", "生成订单失败~");
request.getRequestDispatcher("/manager/message.jsp").forward(
request, response);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
54
八、实训总结
小组总结
时间过的真快,转眼间为期一周的实训已经结束。经过这三周的实训练习让我们第六组学到了许多知识,回头想想实训这几天我们确实是有很大收获的。
这三周我们在学习的同时。也进一步懂得了合作的重要性。实训过程中自己有很多的不懂,很多的问题,都是小组成员大家一起商量解决的。 这次实训让我明白了我们实训的主要目的是让我们通过不断的实习来积累经验,进而才能把书本的知识转化为技能。实践出真理,在这一周的实训确实是有些累但是累得有价值。学海无涯,好多好多的东西在向我们招手,等待我们去努力的学习。在以后的工作、生活和学习中,发展自己的优势,弥补自己的不足和缺陷。
我们实训的前几天则是对图书管理系统的基本架构,我们小组兵分四路,一个负责寻找合适的模板,一个负责网页的排版,另外两人一个负责后台管理的制作(即登录、注册、修改个人信息、修改和找回密码)另一个则负责文件管理的制作(即文件的上传与下载)。
之后就是整组四人都将精力放在网站的制作上,一起编写所有程序的代码。我们制作的是屠苏后台管理系统,既然是管理系统,顾名思义就是一个仓库,所有用户建立的信息都被保存在我们这,而我们所用来管理他们信息和数据的东西就是数据库,对于此网站而言,数据库是最重要的,而最多的时间也是花在数据库的建立、数据库与网站的连接、记录集的绑定、数据库安全等方面。在运行的过程中,数据库出现的问题是最多的,最常见的就是数据库连接错误的问题,不过我觉得应该是自己不够仔细的原因。
这个图书管理网站能这么顺利的完成,离不开老师的帮助和小组成员的努力,虽然这次小学期实训我们小组只有6人,但是我们是一个有效率、有组织、有团队精神的小组,有效率在于小组制作网站中分工明确、讨论有目的
签字:
年 月 日
55
个人总结
通过这次实训,我收获了很多,一方面学习到了许多以前没学过的专业知识与知识的应用,另一方面还提高了自己动手做项目的能力。本次实训,是对我能力的进一步锻炼,也是一种考验。从中获得的诸多收获,也是很可贵的,是非常有意义的。
在实训中我学到了许多新的知识。是一个让我把书本上的理论知识运用于实践中的好机会,原来,学的时候感叹学的内容太难懂,现在想来,有些其实并不难,关键在于理解。
在这次实训中还锻炼了我其他方面的能力,提高了我的综合素质。首先,它锻炼了我做项目的能力,提高了独立思考问题、自己动手操作的能力,在工作的过程中,复习了以前学习过的知识,并掌握了一些应用知识的技巧等。其次,实训中的项目作业也使我更加有团队精神。
从那里,我学会了下面几点找工作的心态:
在信息时代,学习是不断地汲取新信息,获得事业进步的动力。作为一名青年学子更应该把学习作为保持工作积极性的重要途径。走上工作岗位后,我会积极响应单位号召,结合工作实际,不断学习理论、业务知识和社会知识,用先进的理论武装头脑,用精良的业务知识提升能力,以广博的社会知识拓展视野。
只有将理论付诸于实践才能实现理论自身的价值,也只有将理论付诸于实践才能使理论得以检验。同样,一个人的价值也是通过实践活动来实现的,也只有通过实践才能锻炼人的品质,彰显人的意志。必须在实际的工作和生活中潜心体会,并自觉的进行这种角色的转换。
可以说这次实训不仅使我学到了知识,丰富了经验。也帮助我缩小了实践和理论的差距。这次实训将会有利于我更好的适应以后的工作。我会把握和珍惜实训的机会,在未来的工作中我会把学到的理论知识和实践经验不断的应用到实际工作中,为实现理想而努力。最后,我要感谢学院组织的这次十分有意义的实训,使我们学到了很多,也领悟了很多。
签字:
年 月 日
56
个人总结
通过这次3周的实训,我收获了很多,一方面学习到了许多以前没学过的专业知识与知识的应用,另一方面还提高了自己动手做项目的能力。本次实训,是对我能力的进一步锻炼,也是一种考验。从中获得的诸多收获,也是很可贵的,是非常有意义的。
在实训中我学到了许多新的知识。我发现平时学习的知识与实践环节所用到的有一定的差距,往往我觉得自己掌握的很好或者自认为熟练的技术却在此次实践环节中往往出问题,书本上的知识只提供的借鉴,实践中自己必须摸索出适合具体工作的方法,这一切都离不开钻研精神与勤学好问的精神(在人与人相处过程中我收获更大,首先要谦虚谨慎,不能自以为是,认为自己懂得很多,而仅仅埋头苦干,而不向他人请教,工作不但是实践与应用的过程,同时也是学习的过程,我们必须加强与他人的沟通学习,以便获得与他人的交流。是一个让我把书本上的理论知识运用于实践中的好机会,原来,学的时候感叹学的内容太难懂,现在想来,有些其实并不难,关键在于理解。在这次实训中还锻炼了我其他方面的能力,提高了我的综合素质。首先,它锻炼了我做项目的能力,提高了独立思考问题、自己动手操作的能力,在工作的过程中,复习了以前学习过的知识,并掌握了一些应用知识的技巧等。其次,实训中的项目作业也使我更加有团队精神。
此次实训增强了我毕业就业的信心和勇气。我们在大学里还是学到了不少东西,只是感觉不到而已。所以,我们有就业危机感是应该的,但不能过于自卑和担忧,否则会妨碍自己的学习。现在,我们能做的就是多吸取知识,提高自身的综合素质可以说这次实训不仅使我学到了知识,丰富了经验。也帮助我缩小了实践和理论的差距,使我对系统编程有了进一步了解。这次实训将会有利于我更好的适应以后的工作。我会把握和珍惜实训的机会,在未来的工作中我会把学到的理论知识和实践经验不断的应用到实际工作中,为实现理想而努力。最后,我要感谢学院组织的这次十分有意义的实训,使我们学到了很多,也领悟了很多。同时,也要感谢为这次实训默默付出的老师,是她辛苦的汗水使这次实训得以完美结束。在短暂的实训过程中,我深深的感觉到自己所学的知识的肤浅和在实践运用中知识的匮乏,刚开始的一段时间里,对一些工作无从下手,茫然不知所措,这让我感到非常的难过。在学校总以为自己学的不错,一旦接触到时间,菜发现自己知道的是多么少,这才是真正领悟到学无止境的含义。
签字:
年 月 日
57
个人总结
自从去年开始实习,到目前已经有差不多两年了,虽然才两年,却经历了秋冬春夏。
实训总结
课上我们组成小组讨论实习内容,老师很负责任,在我们不会的时候引导我们如何进行下去,
与其他班一起实习反而让我们更加自由的一起讨论,课上自由,老师给予我们充分的时间自主学习,我认为这种做法非常好,在自我学习中了解知识,了解自我,我非常喜欢,同学们也其乐融融,对此我感觉身在长春工业大学倍感自豪,这不仅仅是实训,更让我感受到我们工大的学习氛围,我真的很庆幸能来到这里。
通过这段时间的集中培训,我感觉很有收获很大,首先感谢老师们,感谢他们的辛勤工作,更感谢他们提供了多年积累的工作经验和资源,,大家的互相交流使得我对计算机应用技术的教学有了新的认识和体会。 学习计算机知识是一个熟能生巧的过程,实践在这个过程中是一个十分重要的环节。只看演示记下步骤,不自己动手练习,是不能达到学习目的,必须有充足的时间自己动脑创意、动手练习,在反复的练习中才能使自己牢固掌握所学知识。但往往由于这样、那样的原因使我们没有充裕的时间进行操作。这次学习与交流的机会十分难得,在与同班同学面对面的讨论中,收获颇多;通过本次的培训学习、交流和讨论,加深了交流和沟通,扩大了知识面,拓宽了视野,使我对课程有了新的认识,对该课程建设有了更明确的思路,有助于进一步提升教育教学理念。
实习期间,有犯过错,也有不会的问题而烦恼,但都是种宝贵的财富,实习主要学习一些计算机应用知识,也涉及到一部分编辑报告的内容,但是知识上还是有些收获的,无论如何,过去的时间已经过去,接下来的日子还很长。当我们站在某个时间点回望过去的时光时,都希望看到的是充实和快乐。而我们遥望未来时,期望的是美好。所以为了美好的过去和将来,用句很老套的话来说,那就是珍惜和充实现在吧。
签字:
年 月 日
58
个人总结
经历了将近三周的学校实训,我感慨颇多,我们见到了社会的真实一面,实践生活中每一天遇到的情况还在我脑海里回旋,它给我们带来了意想不到的效果,社会实践活动给生活在都市象牙塔中的大学生们提供了广泛接触社会、了解社会的机会,大学生社会实践心得体会。
"千里之行,始于足下",这短暂而又充实的实习,我认为对我走向社会起到了一个桥梁的作用,过渡的作用,是人生的一段重要的经历,也是一个重要步骤,对将来走上工作岗位也有着很大帮助。向他人虚心求教,与人文明交往等一些做
人处世的基本原则都要在实际生活中认真的贯彻,好的习惯也要在实际生活中不断培养。这一段时间所学到的经验和知识是我一生中的一笔宝贵财富。这次实习也让我深刻了解到,和团体保持良好的关系是很重要的。做事首先要学做人,要明白做人的道理,如何与人相处是现代社会的做人的一个最基本的问题。对于自己这样一个即将步入社会的人来说,需要学习的东西很多,他们就是最好的老师,正所谓"三人行,必有我师",我们可以向他们学习很多知识、道理。实践是学生接触社会,了解社会,服务社会,运用所学知识实践自我的最好途径。亲身实践,而不是闭门造车。实现了从理论到实践再到理论的飞跃。增强了认识问题,分析问题,解决问题的能力。为认识社会,了解社会,步入社会打下了良好的基础。同时还需我们在以后的学习中用知识武装自己,用书本充实自己,为以后服务社会打下更坚固的基础!
艰辛知人生,实践长才干通过这次的的社会实践活动,我们逐步了解了社会,开阔了视野,增长了才干,并在社会实践活动中认清了自己的位置,发现了自己的不足,对自身价值能够进行客观评价。这在无形中使我们对自己的未来有一个正确的定位,增强了自身努力学习知识并将之与社会相结合的信心和毅力。对于即将走上社会的大学生们,更应该提早走进社会、认识社会、适应社会。大学生暑期社会实践是大学生磨练品格、增长才干、实现全面发展的重要舞台。在这里我们真正的锻炼了自己,为以后踏入社会做了更好的铺垫,以后如果有机会,我会更加积极的参加这样的活动。
从群众中来,到群众中去。
在本次的社会实践中我们还同诸多群众谈心交流,思想碰撞出了新的火花。从中学到了很多书本上学不到的东西,汲取了丰富的营养,理解了"从群众中来,到群众中去的真正涵义,认识到只有到实践中去、到基层去,把个人的命运同社会、同国家的命运的发展联系起来,才是大学生成长成才的正确之路。
这次实践活动,丰富了我们的实践经验,提高了我们的团队合作能力,使我们通过这次实践更加了解社会,这次实践活动意义深远,对我们的帮助享用一生。作为一
59
个21世纪的大学生,社会实践是引导我们走出校门、步入社会、并投身社会的良好形式;我们要抓住培养锻炼才干的好机会;提升我们的修身,树立服务社会的思想与意识。同时,我们要树立远大的
理想,明确自己的目标,为祖国的发展贡献一份自己的力量!
签字:
年 月 日
60
个人总结
通过实训中心老师的课堂讲解与企业化标准的培训,使我加深了对自己专业的认识。从而确定自己以后的努力方向。要想在短暂的实训时间内,尽可能多的学到东西,就需要我们跟老师或同学进行很好的沟通,加深彼此的了解。只有我们跟老师多沟通,让老师更了解我们,才能跟真切的对我们进行培训工作。由此,班级的文化“共享”就在生活中慢慢形成了。
“纸上得来终觉浅,绝知此事要躬行!”在这短短的时间里,让我深深的感觉到自己在实际应用中所学专业知识的匮乏。让我真真领悟到“学无止境”这句话的涵义。而老师在专业认识周中所讲的,都是课本上没有而对我们又非常实用的东西,这又给我们的实训增加了浓墨淡采的光辉。我懂得了实际生活中,专业知识是怎样应用与实践的。在这些过程中,我不仅知道了职业生涯所需具备的专业知识,而且让我深深体会到一个团队中各成员合作的重要性,要善于团队合作,善于利用别人的智慧,这才是大智慧。靠单一的力量是很难完成一个大项目的,在进行团队合作的时候,还要耐心听取每个成员的意见,使我们的组合达到更加完美。
这次实训带给我太多的感触,它让我知道工作上的辛苦,事业途中的艰辛。让我知道了实际的工作并不像在学校学习那样轻松。
人非生而知之,虽然我现在的知识结构还很差,但是我知道要学的知识,一靠努力学习,二靠潜心实践。没有实践,学习就是无源之水,无本之木。这次实训让我在一瞬间长大:我们不可能永远呆在象牙塔中,过着一种无忧无虑的生活,我们总是要走上社会的,而社会,就是要靠我们这些年轻的一代来推动。这就是我们不远千里来实训的心得和感受,而不久后的我,面临是就业压力,还是继续深造,我想我都应该好好经营自己的时间,充实、完善自我,不要让自己的人生留下任何空白!
实训中除了学到不少专业知识,也了解一些社会的现实性,包括人际交往,沟通方式及相关礼节方面的内容,对于团队开发来说,团结一致使我深有体会。团队的合作注重沟通和信任,不能不屑于做小事,永远都要保持亲和诚信,把专业理论运用到具体实践中,不仅加深我对理论的掌握和运用,还让我拥有了一次又一次难忘的开发经理,这是也是实训最大的收获。
现在我对“一个人最大的财富是他的人生经历和关系网络”这句话非常的有感情,因为它确实帮了我们不少。除此课本上的知识毕竟有限。通过实训,我班同学都有这样一个感觉,课本上的理论知识与实际工作有很大差距,只有知识是远远不够的,专业技能急需提高。 从最初的笨手笨脚,到现在可以熟练的按照流程开发软
61
件,这都与我班每个人的努力是分不开的。十个月的实训,教会了我们很多东西,同时也锻炼了大家踏实、稳重的能力,每个人都很珍惜这来之不易的实训机会。
在实际工作中经常会和不同的人打交道,然而他们的态度是不可恭维的,你会感觉到他的不耐烦以及他的高傲,所以这就需要学会沟通的方式及说话技巧,学会灵活面对。通过这十个月的实训,我班同学都收获颇丰,总体来说对这次实训还是很满意的。尽管实训很累,每天早出晚归。但真的很感谢学校能够提供我们这样好的实训机会,以及东软给予我们的实训平台。我们深刻的了解到,只有经历过,才知道其中的滋味。对于我而言,喜欢体验生活,可以说通过这次实训,真真切切的让我了解了什么是软件开发,什么是软件工程,让我对于软件最初的观点也有了本质性的改变!程序员不仅仅是一份职业,更是一份细心+一份耐心+一份责任心=人生价值的诠释。即将走向工作岗位的我们更要不断加强自己的专业技能,社会不会要一个一无是处的人,所以我们要更多更快的从一个学校人向社会人转变。为此我们将会在以后的日子里继续努力,不断激励经验,不断磨砺自己,早日走向工作岗位。
签字:
年 月 日
62
个人总结
通过这次jsp实训,我收获了很多,一方面学习到了许多以前没学过的专业知识与知识的应用,另一方面还提高了自己动手做项目的能力。本次实训,是对我能力的进一步锻炼,也是一种考验。从中获得的诸多收获,也是很可贵的,是非常有意义的。
在实训中我学到了许多新的知识。是一个让我把书本上的理论知识运用于实践中的好机会,原来,学的时候感叹学的内容太难懂,现在想来,有些其实并不难,关键在于理解。
在这次实训中还锻炼了我其他方面的能力,提高了我的综合素质。首先,它锻炼了我做项目的能力,提高了独立思考问题、自己动手操作的能力,在工作的过程中,复习了以前学习过的知识,并掌握了一些应用知识的技巧等。其次,实训中的项目作业也使我更加有团队精神。
此次实习增强了我毕业就业的信心和勇气。这次实习,我觉得我表现得还不错,许多同学都认为,自己以后进入企业都是可以胜任的。由此看来,我们在大学里还是学到了不少东西,只是感觉不到而已。所以,我们有就业危机感是应该的,但不能过于自卑和担忧,否则会妨碍自己的学习。现在,我们能做的就是多吸取知识,提高自身的综合素质。
可以说这次实训不仅使我学到了知识,丰富了经验。也帮助我缩小了实践和理论的差距,使我对系统编程有了进一步了解。这次实训将会有利于我更好的适应以后的工作。我会把握和珍惜实训的机会,在未来的工作中我会把学到的理论知识和实践经验不断的应用到实际工作中,为实现理想而努力。最后,我要感谢学院组织的这次十分有意义的实训,使我们学到了很多,也领悟了很多。同时,也要感谢为这次实训默默付出的老师,是她辛苦的汗水使这次实训得以完美结束。
签字:
年 月 日
63