网站设计论文

您当前的位置:学术堂 > 计算机论文 > 网站设计论文 >

西邮之家网站的主要功能与系统设计

来源:学术堂 作者:姚老师
发布于:2015-08-17 共2804字
摘要

  1 西邮之家网站的开发工具及技术

  本系统主要采用 J2EE 的开发标准,采用 Spring+Struts2+Hiber-nate 框架结合的方式来开发此应用系统[1-3].主要编程语言为:java,数据库为 MySQL5.0,运行环境为 tomcat6.0,开发环境为 mye-clipse6.0.主要用到 的 技术 是 html,css;jsp,servlet;Spring+Struts2+Hibernate 三大框架。整个开发基于 MVC 模式。

  2 网站主要功能

  网站首页:用户注册、登录、注销、心情信息列表、热门班级列表。

  个人信息设置:个人基本资料设置、联系方式设置、通讯方式设置、修改密码、上传个人头像。

  留言板:用户可查看其他用户留言板,并给其他用户留言,同时,还可管理自己的留言板和给自己留言。

  好友:好友管理,包括添加好友、审核好友、删除好友、查看好友列表。

  我的心情:个人心情分享,包括所有心情列表,添加心情,查看心情,回复心情。

  创建查找班级:向学校里面增加新的班级、按学校或班级关键字查询班级。

  班级:班级主页、加入班级、班级留言、退出班级、班级通讯录、我的班级列表。

  班级管理:班级管理子模块主要是对班级的成员,留言,以及班级的信息的管理。在"成员管理"功能中,管理员可以对于想加入本班级的同学的信息进行审核,决定是否允许此同学加入本班级。同时可以定义班级成员的角色,删除本班的某一位成员以及可以通过成员的列表来了解本班成员的大体情况;在"留言管理"功能中,管理员可以通过留言列表来查看本班同学的留言信息,同时对于不想保留的留言可以对其删除;在"班级信息管理"中,管理员可以修改班级相关的信息。

  班级相册:主要包括专辑列表,创建专辑,查看专辑,上传照片,查看照片,照片留言。

  3 系统设计

  3.1 系统结构设计

  本系统共分为两大部分,即个人模块和班级模块,共 15 个完整的功能点,每个功能点上又有若干子功能点。系统整体结构图如图1 所示。

  

  3.2 系统流程图

  系统分为三类用户:未注册用户、注册用户、管理员。其中未注册用户可以浏览心情列表、浏览班级留言信息、浏览班级通讯录、浏览班级相册;注册用户可以发表心情、发表留言、查看其他用户、加好友、加关注、个人资料设置、班级留言、创建班级相册,其中班级管理员可以管理班级(留言管理、成员审核、成员权限管理、修改班级信息);管理员对整个系统进行管理,例如管理用户信息、用户权限设置、添加管理员等。系统流程图如图 2 所示。

  

  4 数据库设计

  本系统采用 MySQL 数据库,数据库包含以下几个表:用户表users、个人留言表 note、心情表 feeling、好友关系表 friendship、信息回复表 reply、订阅关系表 subscription、班级表 classes、班级成员表class_member、班级留言表 class_note、班级分类 class_type、班级相册表 class_photo、班级相册专辑表 class_ablum、照片留言表 pho-to_note、相册分类表 photo_type、学校表 schools、地区表 area、国家表country、省份表 provice、城市表 city.

  5 系统几个关键技术的实现

  5.1 上传图片的缩放处理

  (1)技术实现:在本网站中,需要在网站首页显示已注册会员的头像,要对图片进行裁剪处理,在页面上显示出用户的小头像。通过java.io.File 创 建 上 传 的 图片 要保存 到 的文件 夹 ,通 过 struts2 中ServletActionContext 类来得到相关 Servlet 对象即保存图片文件夹的路径[4],然后再使用默认缩略算法对图片进行缩放处理。程序如下:

  //缩略图存放路径
File todir=new
File (ServletActionContext.getServletContext ().getRealPath “(../pho-
tos/head/”)+“/min”);
File miniavatar=new File(todir,AvatarName);
BufferedImage Bi=ImageIO.read(avatar);
//假设图片宽高最大为 130、80,使用默认缩略算法
java.awt.Image Itemp =Bi.getScaledInstance (130, 80, Bi.
SCALE_DEFAULT);
double Ratio=0.0;
if((Bi.getHeight()>130)|(Bi.getWidth()>80)){
if(Bi.getHeight()>Bi.getWidth())
Ratio=80.0/Bi.getHeight();
else Ratio=130.0/Bi.getWidth();
AffineTransformOp op=new
AffineTransformOp (AffineTransform.getScaleInstance(Ratio,Ratio),
null);
Itemp=op.filter(Bi, null);
}
ImageIO.write((BufferedImage) Itemp“,jpg”,miniavatar);
}
catch(IOException e){
e.printStackTrace();
throw new Exception(e);
}
}
}
(2) 页面效果见图 3 个人头像上传成功页面上方的人物小头
像。个人头像上传成功页面如图 3 所示。
 

  在首页注册新用户时,需要向该用户发送邮件进行西邮网站之家会员激活。实现方法是:

  利用 Javamail 来发送邮件,利用 126 邮箱提供的服务来发送邮件,但是必须通过邮箱认证。程序如下:

  在 classmate.individual.control.action 包下的 AccountDAO.java 类
中:
//发送邮件
String mailserver=“smtp.126.com”;
//建立邮件会话
Properties pro=new Properties();
pro.put“(mail.smtp.host”, mailserver);
pro.put“(mail.smtp.auth”,“True”);
Authenticator auth =new PopupAuthenticator “(xiyouruanko”,
from_password);
Session sess=Session.getInstance(pro,auth);
sess.setDebug(true);
MimeMessage msg=new MimeMessage(sess);
InternetAddress from_email=new InternetAddress(from);
msg.setFrom(from_email);//发件人地址
InternetAddress []addresses =InternetAddress.parse (email); //收 件
人地址
msg.setRecipients(Message.RecipientType.TO, addresses);
msg.setSubject(subject); //主题
msg.setSentDate(new Date()); //时间
msg.setContent(context,type); //设置发送内容,和发送内容的格

Transport transport=sess.getTransport“(smtp”);
transport.connect(mailserver,from,from_password);
transport.sendMessage(msg, msg.getAllRecipients()); //发送
transport.close();
(2)classmate.individual.control.
action 包下的 AccountAction.java 类 saveAccount()方法中实现发
送邮件内容:
public String saveAccount() {
try {
account = new Users();
if (accountService.is_userName_register(userName)) {
if (accountService.is_email_register(email)) {
String status=“0”;
account.setUserName(userName);
account.setPassword(password);
account.setEmail(email);
accountService.saveAccount(account);
ownerId=account.getUserId();
String host=this.servletRequest.getHeader“(Host”);
//发送邮件内容
String context=“请激活会员!<a
href =http://”+host +“/xiyouclassmate/individual/reg?ownerId = ”+
ownerId+“>
点击此链接激活您的帐号</a>”;
} catch (Exception e) {
System.out.println“(注册时发生异常”);
e.printStackTrace();
}
return INPUT;
}
 

  参考文献:
  [1]匡松,何嘉。JAVA 学习宝典[M].中国铁道出版社,2010.
  [2]夏昕。深入浅出 Hibernate[M].电子工业出版社,2005.
  [3]李钟蔚,马文强,王殊宇。Java 项目开发实例[M].人民邮电出版社,2008.
  [4]徐明华。Java Web 整合开发与项目实战[M].人民邮电出版社,2009.

相关内容推荐
相关标签:
返回:网站设计论文