javaEE 文章信息管理系统 实习报告Word文档下载推荐.docx
- 文档编号:16907421
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:16
- 大小:658.49KB
javaEE 文章信息管理系统 实习报告Word文档下载推荐.docx
《javaEE 文章信息管理系统 实习报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《javaEE 文章信息管理系统 实习报告Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
实验题目
Web开发设计文章信息管理系统
实验室
电信机房
实验时间
1-3周,周一至周四下午14:
00—16:
00
实验类别
综合
同组人数
1
成绩
一、课程设计目的及基本要求
《Web开发设计》课程设计是一门实践性课程,是计算机科学与技术本科专业必修的实践性教学环节。
主要为了提升学生的知识应用能力和实际解决问题能力。
在规定的课程期间,学生通过应用在课堂中掌握的Web应用程序开发基础知识和技术,根据实际问题,完成一个简单的Web应用系统的设计、制作和调试,并为今后更好地运用这些知识,解决实际工作中存在的问题打下基础。
《Web开发设计》课程设计的主要目标是:
(1)掌握构建Web应用软硬件平台的基本技能;
(2)具备基本的Web编程能力;
(3)熟练掌握应用JavaEE技术完成数据库信息存储、管理与发布。
本课程设计是建立在学生掌握多门相关课程的基础上,要求学生对课堂知识进行综合运。
学生应具备以下课程知识和技能:
计算机应用基础、数据库应用、Java、计算机网络知识等;
了解相关的基础理论知识:
Web应用环境构建、Web开发环境、HTML、CSS、JavaScript、JSP技术等。
并要求学生具有较好的信息检索能力、综合分析能力、知识应用能力、沟通和协作能力。
二、课程设计的主要内容
1.布置课程设计任务书,要求学生在规定的时间内独立完成所选定项目的需求分析、总体设计、详细设计及课程设计报告。
2.系统要求采用MVC模式实现。
3.参考设计题目(可自行另选设计题目)
设计题目可以自己选择,并不局限于下面的参考题目。
a>
设计题目1:
文章管理系统;
要求:
进行需求分析;
总体设计;
详细设计(发布、修改、删除、查询文章、登录模块、注册模块、用户管理模块、)。
b>
设计题目2:
个人博客设计
要求:
进行需求分析;
详细设计(我的文章模块、我的相册模块、我的好友模块、用户管理模块、留言管理模块、文章管理模块、文章类别管理模块、相册管理模块、好友管理模块、登录模块、注册模块等)
c>
设计题目3:
微博系统
详细设计(参考等)
d>
设计题目4:
网摘系统
详细设计(将喜欢的网址共享,包括收藏、分享、删除)
三、主要实践环境
1.系统开发硬件环境:
处理器:
Core或更高
内存:
512MB或更高
硬盘空间:
10GB及以上
显示器分辨率:
推荐使用1024×
768像素及以上
2.系统开发软件环境:
操作系统:
Windows98/ME/2000/XP
Web服务器:
Tomcat
开发软件:
Eclipse
开发技术:
JavaEE
数据库:
MySql
浏览器:
IE6.0及以上
四、设计方式与基本要求
1)设计任务的布置:
由指导教师辅导有关设计的整体要求及实现的目标任务,设计安排和进度、平时考核内容、考核办法、设计守则及实验室安全制度,上机操作的基本方法。
实验内容和进度由学生自行选择和安排,指导教师负责检查、辅导和督促。
2)学生可以自己一组,也可合作开发(每组不超过3人),可选择教师指定的设计课题或自行另选设计题目。
如团队开发,需要明确分工,每个人的工作都能体现web设计技术(例如,只说设计数据库是没有成绩的),在规定的时间内,完成各自的内容。
出现问题时,指导教师引导学生独立分析、解决。
3)课程设计是一个整体,需要有延续性。
机房应有安全措施。
4)指导教师要认真做好授课指导工作,做好辅导工作。
5)学生最好能自备计算机,并结合实际课题进行训练,会达到更好的效果
第一章系统分析
1.1需求分析
随着科学技术的不断提高,计算机网络的功能已进入人类社会的各个领域并发挥着越来越重要的作用。
各类文章的管理系统也运行了多年,但还有不少学校的管理系统缺少统一规划,单机运行的信息孤岛还为数不少,所以有必要进一步研究充分利用校园网合理整合原有异构数据库,从而建立相关部门协同合作的管理系统。
本教材管理平台充分依托互联网,实现教材信息的集中管理、分散操作、信息共享,使传统的教材管理向着数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的文章信息系统打下良好的基础。
1.1.1用户角色需求
根据习惯上教材科的操作方式,整个系统应该有三种用户角色,即教材科人员,普通用户、游客和系统管理员。
管理员管理用户和文章操作,用户而不能进入到系统管理的模块中;
游客可以查询教材信息,不能进入其它任何模块;
系统管理员在后台对系统进行用户管理,教材信息管理,并展开系统的正常运行维护工作,但不能进入教材科人员操作模块。
除普通的游客等查询用户外,每个角色操作都通过密码验证和用户类型选择后登录。
通过系统管理员才可以修改密码。
工作完成后,通过各自专门的出口退出登录状态。
1.1.2性能需求
整个系统应当操作简便,界面友好,维护简便。
数据库要求运行稳定,执行速度快,数据安全性高。
软件系统本身运行对计算机硬件平台和操作系统平台要求适中。
1.2可行性研究
1.2.1技术可行性
此次信息系统开发是对所学专业知识的一次综合应用与提高。
该机房计算机配置肯定能满足系统开发的要求。
我们小组可以选定两三台计算机,建立系统开发环境,主要是安装数据库工具(MYSQL),应用程序开发工具(MYECLIPSE)。
目前,教材管理信息系统已得到了大量应用,有许多可供参考的成功系统。
而且,网上有许多关于ASP.NET编程的资料和SQLSERVER方面的资料。
从技术角度考虑,此信息系统开发可行。
1.2.2经济可行性
目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。
而且,目标系统并不是十分的复杂,开发的周期较短,人员经济支出有限。
当系统开发完实际运行后,将很大程度上提高计算机的功能,在为使用者带来便利的同时,也为系统的进一步推广创造了条件。
这带来的经济回报将远超过支出,并且最重要的一点是该软件的开发可以给我们对系统的开发有个全面的认识。
从经济角度考虑,此信息系统开发可行。
1.2.3法律上的可行性
整个系统由于是自行开发,自行使用,所以系统本身不存在法律上的版权争议。
在服务器软件方面,应该使用正版软件,因为整个系统尽管是开发给内部使用,但它毕竟很多部分还是要依靠Internet的,一旦服务器连接到Internet上,它的操作系统可能会被Microsoft跟踪,如果不是正版软件,将不得不面临民事诉讼的风险。
第二章:
UI功能模块
系统结构图:
第三章:
系统实施
登陆界面UI:
文章添加UI:
主页显示UI:
WEBROOT:
MYSQL数据库:
Ssh结构图:
第四章:
文章管理系统实习日志
6/9/2012
功能模块的划分
1.增删查改
2.登陆
3.注册
用户对象
1.用户->
查询操作
2.管理员->
用户管理
7/9/2012
完成MVC的各个部分包括
M:
实体bean的编写
通过hibernate的反射机制,完成数据库映射到类的自动编码,从而完成bean的编写
C:
使用struts2的拦截器/过滤器/action
通过编写action类作为控制器、完成页面跳转,以及提交用户请求
其中包括使用了modledriver类来完成bean与action类的分离工作是代码简洁
其次没有使用action接口,success与“success”没有区别
第三.在每个按钮后使用method方法,简化编写,同时使得代码更加清晰使用
V:
简单的编写了登陆界面
用到了strut2的标签,虽然还没有体会到她真正的好处、但还一一步步做起
Struts-tag.tld
8/9/2012
完成了登陆、注册的模块的编写、在登录验证时遇到了一些问题DAO没有在action中初始化、从而导致了空指针异常的问题、检查了参数是否传递到action、有检查了函数是否有问题、最后发现没有初始化DAO类的方法(以后注意!
!
)
接下来就是要完成系统主页的编写:
1.网页布局、以及用到sitemesh框架、
目的是:
在系统分区中左侧显示菜单,右侧显示查询结果
2.利用拦截器验证用户操作权限
3.Action类的值传递到mainpege.Jsp
显示用户名、用js完成显示系统时间
4.系统查询结果的分页
9/9/2012
完成了对sitemesh的配置、
步骤:
1.加载sitemesh-2.3.jar到lib目录下
2.加载sitemesh-decorator.tld和sitemesh-page.tld到web-inf下
3.在web.xml中配置sitemesh拦截器即定义
4.配置web.xml对上述两个文件进行加载
期间遇到了一些问题、装饰后的文件不显示。
直接访问装饰文件提示空指针异常
1.装饰文件似乎就是不能直接访问
2.在配置decorator.xml中配置拦截全部请求页面时出现错误。
配置成功后、显示中文乱码、解决办法
1.编写SetCharacterEncodingFilter类、作为字符转换类、并且需要添加到web.xml中作为过滤器、并且需要每个也变的编码方式都是utf-8
2.注意过滤器的顺序、先是字符过滤->
sitemesh过滤->
struts过滤
10/9/2012
(开始进入细节编写)
完成了用户登录session的编写、以及注销的操作
同时使用struts2的标签时、发现struts2的方便之处、在以后会继续学习
有几点的注意:
1、struts2的session不同于jsp的HttpSession
分为两种
第一为httpservletsession
第二种为mapsession
最后还是选择了熟悉的httpSession
2、开始编写MianPage.jsp的显示页、发现了sitemesh的好用之处、看过同学编写的代码后、框架的好处是编写代码量少、结构清晰、
3、完成对系统的增删查改、在显示页面还是倾向于使用struts2的标签、第一次、但是已经发现它的便捷之处
4、编写类名的时候大小写不规范类名使用大写字母开头、方法名使用小写字母开头
11/9/2012
ModelDriven在struts2中的作用:
实现了ModelDriven就必须实现getModel这个方法,该方法返回的是你的ModelDrivern泛型中设定的实体类。
其实是为了实现代码的重用,不要再定义一次你在数据访问层定义的属性了,直接用那个类就行了。
不过有时候也不是很需要这个东西,比如只有一两个表单域的时候
在使用ModeDrivern引入表单中的值的时候时,提示之没有传入。
纠结了很久。
要把使用的对象实例化才能引用,最近一直吃这个亏,没有实例化经常会引起值没有传入的问题、以后要注意这一问题
12/9/2012
1.由于不擅长界面的制作所以下载了UI模版,完成控制的编写就基本完成任务了
2.使用iterator输出全部文章列表、可以在循环中加入checkbox和<
aherf>
在每一条记录后输出、
3.不知道如何知道我要删除的那一行、
13/9/2012
前一天的问题删除那一行还是没有解决、再有就是sitemesh的装饰效果出现问题、大体完成了基本操作的编写、剩下的就是对系统整合、使得各个功能模块、全部无冲突的、装入到下载的系统页面中、
第一、还没有确定查询结果的显示方式(sitemesh/超级链接)
第二、系统其他的琐碎功能(显示系统时间/注销登录的完善)
第三、。
。
时间貌似有点儿紧。
明天要赶一赶了。
14/9/2012
输出不显示!
!
15/9/2012
按ID来查找用户使得删除键知道要删除的行
所谓修改、就是按ID来查找文章、而后显示在一个又提交功能的表单里
增加功能、只是一个文章的提交
设置键、。
16/9/2012
1.Iterator的显示问题,不能自己刷新。
主要还是因为我用的session.articlelist来存储,还没有找到解决办法
2.不允许在jsp页面出现其他jsp页面的连接存在、降低耦合性、提高系统可扩展、可维护性
3.正确的用户请求的格式:
action名字!
方法名?
参数=
4.完成修改文章、在新的页面传入文章各个属性
5.P246实现数觉得分页显示
6.上传至数据库不显示中文字符。
19/9/2012
1.完成修改文章、在新的页面传入文章各个属性
<
inputtype="
text"
name="
articleTitle"
maxlength="
100"
value='
s:
propertyvalue="
#session.updatearticle.articleTitle"
/>
'
/>
value的值使用单引号
2.上传至数据库不显示中文字符
首先把MySQL的服务停掉在运行窗口输入:
netstopmysql
把服务器和客户端的字符集改成自己想用的字符集:
GB2312
具体操作为:
打开mysql安装目录下的myini.tet;
找到default-character-set,将其改为自己想用的字符集:
GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入defaul就会找到,都要改过来;
重启MySQL服务器,在运行窗口输入:
netstartmysql
最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了
3.实现数据分页显示
附录:
相关知识:
1、JSP页面乱码
这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:
只要在页面开始地方用下面代码指定字符集编码即可,
%@pagecontentType="
text/html;
charset=utf-8"
language="
java"
%>
2、数据库乱码
这种乱码会使你插入数据库的中文变成乱码,或者读出显示时也是乱码,解决方法如下:
在数据库连接字符串中加入编码字符集
StringUrl="
jdbc:
mysql:
//localhost/digitgulf?
user=root&
password=root&
useUnicode=true&
characterEncoding=GB2312"
;
并在页面中使用如下代码:
response.setContentType("
charset=gb2312"
);
request.setCharacterEncoding("
gb2312"
3、中文作为参数传递乱码
当我们把一段中文字符作为参数传递个另一页面时,也会出现乱码情况,解决方法如下:
在参数传递时对参数编码,比如
RearshRes.jsp?
keywords="
+.URLEncoder.encode(keywords)
然后在接收参数页面使用如下语句接收
keywords=newString(request.getParameter("
keywords"
).getBytes("
8859_1"
));
以上为现阶段遇到的乱码问题,乱码的核心问题还是字符集编码问题,只要掌握了这一点,一般的乱码问题都可以解决。
4、标签引入图片
ahref="
#"
title="
Edit"
>
imgsrc="
resources/images/icons/pencil.png"
alt="
/a>
5、通过URL?
的方法传递的一定能收到
如果是中文,这么办:
?
name=页面
接收
Stringname=newString(request.getParameter("
name"
).getBytes("
iso-8859-1"
"
gbk"
6、拦截器和过滤器的区别:
1、拦截器是基于java反射机制的,而过滤器是基于函数回调的。
2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器。
3、拦截器只能对Action请求起作用,而过滤器则可以对几乎所有请求起作用。
4、拦截器可以访问Action上下文、值栈里的对象,而过滤器不能。
5、在Action的生命周期中,拦截器可以多次调用,而过滤器只能在容器初始化时被调用一次。
7、Strurts2中的标签传值的有#requst.*** #*** ${***}
#是表达式语句 $是具体的属性值. 这样应该好理解点.
8、过滤器工作原理
1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求;
2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:
SiteMeshPlugin);
3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action;
4、如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy;
5、ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类;
6、ActionProxy创建一个ActionInvocation的实例。
7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。
返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。
在表示的过程中可以使用Struts2框架中继承的标签。
在这个过程中需要涉及到ActionMapper。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javaEE 文章信息管理系统 实习报告 文章 信息管理 系统 实习 报告