李姜伟:基于JSP的个人博客系统设计与实现
如图5.10所示,单击“保存”按钮,实现的URL地址为PhotoSerlvet?method=0,当method=0时,执行的是addPhoto()方法,该方法实现上传相片的功能。代码如下:
public void addPhoto(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
photoDao = new PhotoDao(); //实例化PhotoDao类型的对象 PhotoForm photoForm = new PhotoForm(); //实例化PhotoForm类型的对象 com.jspsmart.upload.SmartUpload su = new
com.jspsmart.upload.SmartUpload(); //实例化上传组件
Integer maxID = 0; //设置Integer类型的对象 if (photoDao.MaxQueryID() != null) { }
String result = \上传的照片格式和大小有问题,上传照片失败!\;
maxID = photoDao.MaxQueryID(); //将设置maxID对象的编号
//设置上传相片的提示信息
String type = null;
String imageType[] = { \, \, \, \, \ };
//设置可以上传文件扩展名的数组
String filedir = \; //设置服务器端的相对地址 long maxsize = 2 * 1024 * 1024; // 设置每个上传文件的大小,为2MB try {
su.initialize(this.getServletConfig(), request, response); su.setMaxFileSize(maxsize); //限制上传文件的大小 su.upload(); //上传文件 Files files = su.getFiles(); //获取所有的上传文件 for (int i = 0; i < files.getCount(); i++){ //逐个获取上传的文件
File singlefile = files.getFile(i); type = singlefile.getFileExt();
for (int ii = 0; ii < imageType.length; ii++) {
if (imageType[ii].equals(type)) {
if (!singlefile.isMissing()) { //如果选择了文件
String photoTime = su.getRequest().getParameter(
\); //获取发布相册的系统时间
30
2009级计算机科学与技术职教师资毕业设计
String photoDescription = su.getRequest()
.getParameter(\);
//获取相册的描述信息
photoForm.setPhtoTime(photoTime);
//设置相册发布时间
photoForm.setPhotoDescription(photoDescription);
//设置相册描述信息
filedir = filedir + maxID + \
+ singlefile.getFileExt();
//获取相册服务器端地址
photoForm.setPhotoAddress(filedir);
//设置相册服务器端地址 {
singlefile.saveAs(filedir,
if (photoDao.operationPhoto(\添加\, photoForm))
File.SAVEAS_VIRTUAL); //设置相册上传功能
result = \上传照片成功!\;
//设置上传图片成功信息
}
}
}
}
}
} catch (Exception e) { }
request.setAttribute(\, result);
e.printStackTrace();
//将相册的上传结果通过setAttribute()方法传递给result }
RequestDispatcher requestDispatcher = request
.getRequestDispatcher(\);
requestDispatcher.forward(request, response);
31
李姜伟:基于JSP的个人博客系统设计与实现
6 系统测试
6.1 测试方法
软件测试是软件的质量管理核心技术是软件测试用例软件测试是有组织性、步骤性、计划性的。测试的形态分构建性测试、系统化测试、专项测试。软件测试的方式分为白盒技术和黑盒技术。白盒测试又称结构性测试是内部人员进行的测试黑盒测试测试着重于软件的功能的测试测试人员必须使用测试用例。黑盒测试的技术分为等价划分、边界值分析、错误推测。[5]
测试流程如图6.1。登录系统时,用户则要输入用户名(admin)和密码(111),用户名和密码都输入正确时才可以进入系统主界面,进入主界面后就可以对系统的所有功能模块进行操作(博主和普通用户具有不一样的权限)。
博客文章 管理 公告管理 投票管理 个人相册管理 图6.1 测试流程图
朋友信息管理 用户设置 博主设置 相册信息模块 公告信息模块 文章信息模块 说明信息模块 首页模块 进入前台首页面,显示“进入后台”链接 进入前台首页面,不显示“进入后台”链接 管理员密码 密码 启动系统 博主登录 普通用户登录
32
2009级计算机科学与技术职教师资毕业设计
6.2 测试内容
通过上述步骤的测试工作,系统能在Windows XP环境下,MYSQL版本上,IE6.0以上正常运行。
6.2.1 登录测试
进入登录界面,输入用户名admin123,密码为123,单击“登录”按钮时,则提示“您输入的用户名不存在,请重新输入!”,如图6.2所示。
图6.2 登录测试1
返回登录页再一次输入用户名为admin,密码为111,则提示“您输入的登录密码有误,请重新输入”,如图6.3所示。
图6.3 登录测试2
进入登录界面,输入正确的用户名admin,密码为123,单击“登录”按钮,则可以进入前台首页面如图6.4所示。
图6.4 登录成功提示
由于admin是博主帐户,所以在前台首页面显示“进入后台”超链接,如图6.5所示。
33
李姜伟:基于JSP的个人博客系统设计与实现
图6.5 显示“进入后台”链接
单击“进入后台”,博主可以进入博客系统后台管理页面,可以对里面的各个模块进行操作,如图6.6所示。
图6.6 后台管理系统top页面
如果登录用户名user,密码123,由于是普通用户,所以在前台首页没有显示“进入后台”超链接,如图6.7所示。
图6.7 博主信息
6.2.2 发表文章测试
系统有几个重要的模块,文章发表与查看、相册添加与查看、公告添加与查看、投票内容添加与查看及投票操作等等,这里仅对发表文章模块作测试。
由于文章内容的最大字符长度为2000字符,所以如果输入的文章长度大于2000字符,则不会添加成功。下面对文章发表模块进行测试。
(1)文章主题为烟花易冷,文章类别选择为个人日记,文章内容长度在2000字符内,点击保存按钮,则显示文章添加成功。如图6.8和6.9所示。
34