uals("front"))
{ //未分配成功且未遍历完则继续遍历
while(beg<50&&last!=0)
{
if(this.seatTable[beg/10][beg%10]==0) //遇到空座位
last--;
else //遇到被售出的座位
last=num;
beg++;
}
if(beg==50) //分配失败
return "分配失败,请重新设定条件!";
else //分配成功,此时beg指向被分配的座位的下一个位置
{ //分配索引值从beg-num开始到beg-1的所有座位
for(int i=beg-num,j=0;i
{
int i_row=i/10+'A';
char c=(char)i_row;
rs[j]=Character.toString(c);
int i_col=i%10+1;
rs[j]+=Integer.toString(i_col);
}
}
购物车功能实现的效果图如图5-4和图5-5所示,分为普通用户和星级用户购物车。红色标记出的表示已经分配好的座位。普通用户在团购电影票(一次购买数量不小于20)时会给予价格优惠,在原价的基础上打八折,即为原价的80%。
图5-4 普通用户购物车运行效果图
图5-5 星级用户购物车运行效果图
5.3 后台页面的实现
网站后台管理页面命名为manage,其运行效果图如图5-6所示。
图5-6 网站后台页面
网站后台管理页面也要体现出易操作性,使管理员的工作更加快捷方便,更要给人以稳重之感,所以选择沉稳的蓝色色调。该页面上放置了"电影管理"、"订单管理"和"用户管理"和"评价管理"四个模块,这样管理员在进入网站时就能根据自己的需要选择相应的模块。如果不需要进行操作或切换用户,直接单击"退出"即可。由于 HTTP 的无连接状态,在每个页面都要开启 SESSION 来判断用户的登录状态及对应的操作权限(前台页面也是如此),因此从后台登录开始到管理员注销离开,在此期间每个页面都要验证 SESSION,判断用户操作合法性。另外,为方便管理员随时添加新上映的电影,在管理员进入后台时默认显示的页面为"电影信息"页面。
(1)电影管理:主要为管理员提供添加电影信息、修改电影信息、删除电影信息等基本操作,当管理员单击"添加新电影"按钮时,弹出"添加电影"页面,此页面需要管理员输入电影的名称、放映厅、上映时间、价格、简介等基本信息,当管理员输入完毕单击"提交"按钮,在判断数据的完整性、合法性之后将数据存入数据库,否则将弹出出错信息和相应的修改提示,如图5-7所示。"修改电影信息"的操作与"添加新电影"的操作相似,此处不再赘述。
(2)订单管理:订单管理为后台的核心管理功能,此处为管理员提供了订单查询和删除的功能。单击"订单管理"按钮后可进入订单详细信息页面,若单击后面的"删除"按钮,即将选中的订单删除。
(3)用户管理:当管理员单击"用户管理"按钮后,将弹出"用户信息表"(为方便管理员查看,以英文字母顺序排序)。管理员可以根据用户注册名的首字母对新注册的用户进行审核。当管理员发现某些会员的信息不合法时可以删除该用户,被删除的用户将无法再次进行相应的购票活动。
(4)评价管理:对于用户的评价,管理员可以进行查看和删除的操作。当单击"评价管理"按钮时,处理程序将向数据库提交搜索请求,搜索所有的评价,以表格形式显示在默认页面,并以时间降序排列,这样管理员可以单击某条评价进行对应的操作。假如当前网站并无用户评价,那么在默认页面将提示"电影暂无用户留评价"。
图5-7 添加电影页面运行效果图
6 结论
本网站以JSP语言作为开发工具,采用 Microsoft Access进行数据库设计,建立了一个电影票预定网站,通过后台信息发布管理实现了电影信息的展示,实现了该网站的基本功能。文章从需求分析、系统设计和系统实施各方面对整个系