计算机应用与开发实训报告Word格式文档下载.docx
《计算机应用与开发实训报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机应用与开发实训报告Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
1、实训案例分析
1.1、实训目的
网站的建设不仅仅是制作主页的问题,还需要考虑网站的定位、目标用户、网站内容、服务事项、空间方案、安全性、艺术设计、数据库技术等等。
任何网站在建设之前就必须明确方向、用途和服务群体等一系列的问题,写出详尽的建站计划,可以说这是网站建设的根源和核心所在。
其实任何网站都一样,企业网站的宗旨就是对外宣传企业形象,发布企业最新的企业产品,其服务群体就是为对其产品感兴趣的客户或者正在使用企业产品的用户服务,这就是企业网站的建设方向;
个人网站的宗旨就是宣传自己,提供一个自身和外界交流的场所;
由此可见,网站的设计方向是依据网站的客户、服务群体等多方面来确定的。
训练和培养学生获取信息和处理信息的能力,充分培养和提高学生的动手能力,学会通过网站、书籍、素材光盘等方式收集所需的文字资料、图象资料、flash动画和网页特效和java语言的应用等。
不仅培养了我们运用所学的理论知识和技能解决网站开发过程中所遇到的实际问题的能力及其基本工作素质。
还培养了我们的理论联系实际的工作作风,严肃认真的科学态度以及独立工作的能力,树立自信
1.2、项目分析及介绍
大型企业门户网站客户端系统并不是简单的网站展示和产品展示,也不是仅通过网络做一些广告宣传,其具有强大的管理功能,信息传递功能,以及产品的宣传展示功能。
在大型企业门户网站中,它可以通过在线网络,实现公司和公司之间,公司和员工之间,以及员工和用户之间的各种信息传递和管理,从而更好地了解公司和公司产品信息。
1.3、主要语言平台介绍
(1)网页设计技术
1、html2、CSS3、javascript
(2)sqlserver数据库设计及应用
什么是数据库
依照某种数据模型组织起来用于存放数据的工具,是数据表及相关操作对象的集合。
数据模型:
关系模型,基于二维表格,由表和表与表之间的关系组成。
操作对象:
索引,存储过程,触发器,事务,sql等等。
(1)安装配置管理数据库
(2)建库(3)建表(4)建立约束
主键:
要求,每个表都要有主键
作用:
唯一的标识一行,作为可以被外键引用的对象
原则:
不能为空,最好没有意义,主键可由多列组成但最好是单列,主要为了提高查询效率,主键值一旦产生最好永远不要修改。
建议:
采用标识列(identity)作为主键.
默认值(default):
在对表的操作过程当中,对一个字段不赋值,系统会自动采用默认值。
外键:
是表与表之间参照完整性的实现方式,是指一个表中某字段的内容必须依赖于主键表所在的主键值。
主键所在的表称为主表,外键所在的表称为从表。
主从关系的约定:
当主表没有对应的记录时,不能将记录添加到从表
不能更改主表中的值而导致从表的记录发生孤立。
从表中存在与主表对应的记录,就不能从主表中删除该行
Unique
保证同一列的值不能重复。
Check约束
2、解决方案
2.1、系统概要设计
(1)系统功能模块分析
本项目主要划分为用户模块和管理员模块两个模块。
其中各个模块中包含不同的系统功能,其关系可以通过如图下所示的系统功能结构图进行描述。
(2)、系统架构设计
本项目采用三层架构进行开发,其优势在于便于分工合作、易于扩展、便于维护,其三层之间的关系如下图所示。
其中表示层用于与用户进行交互(jsp,html页面);
业务逻辑层负责处理项目业务流程(Servcice层);
数据访问层负责操作数据库(Dao层);
Model层(Bean)中的实体类是三层之间的数据载体,用于在三层之间传递数据。
2.2、数据库设计
(1)数据表的设计
管理员表:
记录管理员信息以及管理后台与系统
用户表:
记录用户信息
商品表:
记录商品信息
聊天记录表:
记录聊天信息
留言表:
记录用户留言信息
新闻表:
记录新闻滚动信息
(2)数据表
1、管理员表:
tb_messager
字段
数据类型
约束
备注
messagerld
Int
主键
管理员编号
messagerName
Char
Null
管理员姓名
messagerSex
管理员性别
messagerPower
Test
管理员权限
2、用户表:
tb_user
userrld
用户编号
userName
用户名
userSex
用户性别
userPower
用户权限
3、商品表:
tb_good
goodld
商品编号
godName
商品名
goodPrice
商品价格
goodPicture
Blob
商品图片
4、聊天记录表:
tb_chat
chatTime
聊天时间
chatPeople
聊天对象
chatlog
Text
聊天记录
5、留言表:
tb_words
wordTime
留言时间
wordPeople
留言对象
wordLog
留言记录
6、新闻表:
tb_news
newsNumber
新闻编号
newsTime
新闻时间
newsClass
新闻类型
newslog
新闻记录
2.3、系统的总体功能设计
(1)总体功能概述
前台功能
在线聊天、商品展示、留言板、站内新闻
后台功能
娱乐管理、商品管理、系统管理、新闻管理
(2)功能模块图
(3)功能需求
用户总体用例图:
管理员总体用例图
2.4、详细设计
(1)主页代码及展示
主要代码如下:
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
intbs;
bs=Integer.valueOf(request.getParameter("
bs"
));
if(bs==1){
addnew(request,response);
}elseif(bs==2){
listnew(request,response);
}elseif(bs==3){
delenew(request,response);
}
privatevoidaddnew(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
Stringtitle,content;
title=request.getParameter("
title"
);
title=newString(title.getBytes("
iso-8859-1"
),"
gb2312"
content=request.getParameter("
content"
content=newString(content.getBytes("
NewBeannb=newNewBean();
nb.setTitle(title);
nb.setContents(content);
NewServicens=newNewService();
ns.addnew(nb);
//添加记录
listnew(request,response);
privatevoidlistnew(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
intrecordCount;
//需要查询的总记录数
intpageCount;
//总的页数
intpageNow;
//要查询的页号,从查询页面中传入的
intpageSize;
//每页的记录数
pageNow=Integer.parseInt(request.getParameter("
pageNow"
//得到需查询的页号
pageSize=Integer.parseInt(this.getInitParameter("
pageSize"
//得到本servlet配置项中的参数值
NewServicens=newNewService();
recordCount=ns.getAllCount();
//得到总的记录数
//得到总页数
if(recordCount%pageSize==0){
pageCount=recordCount/pageSize;
}else{
pageCount=recordCount/pageSize+1;
}
//判断pageNow的值是否在允许的范围内
if(pageNow<
1){
pageNow=1;
}elseif(pageNow>
pageCount){
pageNow=pageCount;
List<
NewBean>
list;
ns=newNewService();
list=ns.getlist(pageSize,pageNow);
request.setAttribute("
newlist"
list);
pageNow);
pageCount"
pageCount);
request.getRequestDispatcher("
manageNews.jsp"
).forward(request,response);
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
publicvoiddelenew(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{
intid=Integer.valueOf(request.getParameter("
id"
ns.delenew(id);
System.out.println("
deleted"
response.sendRedirect("
NewServl?
bs=2"
(2)用户登录界面
throwsServletException,IOException{//当发出get请求时调用此方法
Stringusername,pw;
//从请求中取得用户名和密码
username=request.getParameter("
userName"
//参数为文本框控制的name属性值
pw=request.getParameter("
password"
//调用业务逻辑类的业务方法对管理员信息进行后台验证
ManagerServicems=newManagerService();
//实例化业务逻辑类的对象
//调用验证用户是否存在的方法
if(ms.userCheck(username,pw)==true){//通过则跳转至后台主页面
response.sendRedirect("
admin/index.jsp"
//请求重定向,就是重新向其它网页发出请求,相当于在ie网址栏输入了一个url
login.jsp?
err=error"
}
先由JSP页面发出请求调用mystation包下ManagerServlet的doGet方法,然后调用db.executeQuery(sql)方法,查询数据库,查到热销商品的列表,保存进requeset对象的result变量里,然后通过调用取出其中的值,显示到主页面。
商品查询模块按商品ID、关键词查询,商品显示模块使用同样方法根据不同条件查询数据库。
后台数据库展示:
商品查询:
物品信息:
留言板:
站内新闻:
管理员登陆:
三、实训总结
此次只实训了短短的四周。
虽说时间很短,但其中的每一天都使我收获很大、受益匪浅,它不但极大地加深了我对一些理论知识的理解,不仅使我在理论上对Java有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,更学到了很多做人的道理,对我来说受益非浅。
除此以外,我知道了什么叫团队,怎样和团队分工合作;
同时我还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点。
这也是第一次让我亲身感受到理论与实际的相结合,让我大开眼界。
也是对以前所学知识的一个初审吧!
这次实训对于我以后学习、找工作也是受益菲浅的,在短短的三周中相信这些宝贵的经验会成为我今后成功的重要的基石;
这对于我的学业,乃至我以后人生的影响无疑是极其深远的。
对于所学专业,我们不能过于自卑和担忧,否则会妨碍自己学习。
实训是学习Java的重要环节,有利于我们巩固专业知识、掌握工作技能,提高就业筹码。
而经过这次实训,让我明白如果是一个完整项目的开发,必须由团队来分工合作,否则,即费力又费时还做不好这个项目。
因此不管在工作中还是在生活中要和老师、同学保持良好的关系是很重要的。
做事首先要学做人,要明白做人的道理,如何与人相处是现代社会的做人的一个最基本的问题。
对于自己这样一个即将步入社会的人来说,需要学习的东西很多,他们就是最好的老师,正所谓“三人行,必有我师”,我们可以向他们学习很多知识、道理。
实训结束了感觉虽然辛苦,但很充实。
我想这就是Java工程师的工作。
我也体会到Java的魅力.
成绩评定表
教师评语
考勤成绩:
占总成绩比例10%
平时成绩:
,占总成绩比例20%
实训报告成绩:
,占总成绩比例70%
实训总成绩:
指导教师签字:
年月日