Eclipse实现基于JSP的电子会议厅功能(一)

  之前学了在Eclipse中创建Java Web项目,又陆续接触了JSP、JavaBean、Servlet、JDBC等,虽然都是浅尝辄止,但对概念有了初步的认识。《Java Web设计使用教程》书中在介绍Struts、Hibernate等技术之前给了一个电子会议厅的开发实例,综合使用了JSP、JavaBean、Servlet、JDBC等技术,算是一个阶段性的应用展示。本来想偷个懒,在出版社网站上下源代码,看一下各部分的代码就算了,结果机械工业出版社教育服务网不但要注册,还得证明是教师才能下资源和课件,百度了半天也没有找到资源,只有通过看书上的代码片段,再加个人脑补,实现电子会议厅功能,就当是这段时间学习的总结了。

功能介绍

  电子会议厅的功能如下图所示。主要是两类用户,管理员可以分类发布、修改和删除事务。班级成员,也就是一般用户,可以分类浏览及查询班级事务,还可以对班级事务进行评论。
  除了上述功能,根据章节后面的实训内容要求,增加了用户登录的功能。

在这里插入图片描述

数据库表设计

  根据上述需求,程序主要包括四张表:

  • User表保存用户姓名、账户和角色。简单起见,用1表示班级成员(普通用户),2表示系统管理员;
  • sort表保存班级事务类型;
  • affair保存系统管理员发布的班级事务;
  • comment表保存事务关联的评论。
    在这里插入图片描述
CREATE DATABASE `electronicchamber`

CREATE TABLE `electronicchamber`.`User` (
  `UserAccount` VARCHAR(50) NOT NULL,
  `UserName` VARCHAR(50) NOT NULL,
  `Role` INT NOT NULL DEFAULT 1,
  `Password` VARCHAR(50) NOT NULL,
  PRIMARY KEY (`UserAccount`));

CREATE TABLE `electronicchamber`.`sort` (
  `sortId` INT NOT NULL,
  `name` VARCHAR(50) NOT NULL,
  PRIMARY KEY (`sortId`));

CREATE TABLE `electronicchamber`.`affair` (
  `affariId` INT NOT NULL DEFAULT 1,
  `title` VARCHAR(100) NOT NULL,
  `content` VARCHAR(500) NULL,
  `releaseTime` DATETIME NOT NULL,
  `sortId` INT NOT NULL,
  PRIMARY KEY (`affariId`));

CREATE TABLE `electronicchamber`.`comment` (
  `commentId` INT NOT NULL DEFAULT 1,
  `content` VARCHAR(500) NULL,
  `time` DATETIME NOT NULL,
  `userAccount` VARCHAR(50) NOT NULL,
  `affairId` INT NOT NULL,
  PRIMARY KEY (`commentId`));
程序功能设计

  首先定义几个类,与数据库表对应,分别为User、Sort、Affair、Comment类,然后将之前文章中使用的那个比较粗糙的OperateJDBC类直接拿过来凑合着用。
  简单起见,使用前面文章中的用户登录窗口,同时在User数据库表中添加test和test1两个账号,分别具有班级成员和系统管理员角色,不再本项目中增加用户注册功能了。
  本文主要是搭个架子,同时把用户登录功能及系统主界面弄出来,其它的页面和功能在后续文章中逐(man)步(man)增(mo)加(suo)。
  目前创建了6个jsp文件及一个Servlet,其关系及流程如下图所示,其中main.jsp是个框架页面,使用iframe包含了top.jsp、left.jsp和index.jsp三个页面。
在这里插入图片描述  main.jsp的效果如下图所示。上面的top.jsp主要就是链接了一个图片,index.jsp是个默认空白页。左侧的left.jsp列出了能够做的一些操作,书上给的例子中内容是写死的,班级成员和系统管理员进去看到的都一样。敲代码的时候稍微改了一点,根据用户的角色,系统管理员进去能看到班级事务发布和班级事务维护,班级成员进去看不到这两项。代码比较简单,列在了图形下面。
在这里插入图片描述
  left.jsp部分内容如下:

<table width="169" height="300" border="1"> 
<%
	User user=(User)application.getAttribute("currentUser");
	if(user.getRole()==2)
	{
%>
		<tr><td height="30"><div align="center"><a href="#" target="mainFrame">班级事务发布</a></div></td></tr>
		<tr><td height="30"><div align="center"><a href="#" target="mainFrame">班级事务维护</a></div></td></tr>
<%
	}
%>

<tr>
	<td height="100">班级事务浏览
	<p align="center"><a href="#" target="mainFrame">学习竞赛</a></p>
	<p align="center"><a href="#" target="mainFrame">文体活动</a></p>
	<p align="center"><a href="#" target="mainFrame">社会事务</a></p>
	<p align="center"><a href="#" target="mainFrame">各类补助</a></p>
</tr>
<tr><td height="30"><div align="center"><a href="#" target ="mainFrame">班级事务查询</a></div>
</table>

  架子基本上就搭出来了,后面就是逐步把系统管理员和班级成员的操作功能逐步实现,这些就在后续文章中叙述。项目的代码放在了GitHub上,地址为:https://github.com/guochao2299/electronicchamber,代码写的太烂,仅供参考。

其它说明

  框架页面。html5之前实现框架页面主要使用frameset和frame,但是这两个标签在html5中已经不支持了。通过百度,在html5中能使用html5、js、css等多种方式实现框架页面,本文采用了参考文献3中的示例代码,主要通过div+iframe来实现框架页面。
  静态资源访问。top.jsp页面中链接的图片一开始放在了WEB-INF文件外面,用起来比较正常,后来把图片放到了WEB-INF中,再查看top.jsp就无法正常显示图片了。百度了一些文章,主要是说在WEB-INF中访问静态资源比较麻烦。这部分内容也是刚接触,不是很了解,具体的说明可以看参考文献4.

参考文献:
[1]Java Web设计使用教程
[2]https://blog.csdn.net/huyishero/article/details/86288025?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
[3]https://blog.csdn.net/qq_42058441/article/details/86564920?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
[4]https://blog.csdn.net/u011202334/article/details/61416764

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值