本例子是参考了一些网站上有关JSP 对 XML 的操作的相关文档,又结合了一些个人的体会。 例子涉及的内容是,开发的一个企业内部定餐系统后台管理端的部分代码,功能主要集中在对于 餐馆基本信息的管理。
该例子本身开发的起因是我在原公司和同事们一个玩笑的一部分。特此也表达对那些一起共事 的朋友们的想念。
例子本身是在TOMCAT4.01 平台下运行的B/S结构的程式。有关TOMCAT 的配置,这里不做说明 。只讲解一下相关文件及文件夹的目录结构。
目录结构说明:
/tomcat/webapps/canyin/ ----- 主目录
/tomcat/webapps/canyin/jsp/ -----JSP 文件目录
/tomcat/webapps/canyin/jsp/admin/ -----实现后台管理的JSP 文件的存 放目录
/tomcat/webapps/canyin/WEB-INF/classes/canyin/ --- ---javabean 文件的存放目录
/tomcat/webapps/canyin/data/ -----xml 文件 存放目录
/tomcat/webapps/ROOT/ -----tomcat 启动文件存放文件夹 ,只存放了index.html 文件
文件简单说明:
/tomcat/webapps/canyin/data/users.xml -----记 录用户信息
/tomcat/webapps/canyin/data/restaurants.xml -----记录餐馆的基础信 息
/tomcat/webapps/ROOT/index.html -----首页,页面出现输入框,要 求用户输入用户名,密码
/tomcat/webapps/canyin/jsp/loginjudge.jsp -----用户身份判断页 面,根据用户名称和密码决定页面是转入后台管理端,还是前台客户端。本例子中,用户身份一 旦确认为有管理权限,可以进入后台管理端,就直接跳到餐馆基本信息管理页面,简化说明的流 程。
/tomcat/webapps/canyin/jsp/admin/admin_rest.jsp -----餐馆基 本信息管理页面,管理餐馆的名称,电话,地址等信息
/tomcat/webapps/canyin/WEB-INF/classes/canyin/checkSessionBean.class ----- 后台管理端检测标志用户身份的session 的值,如果不是管理员的话,跳回登陆页面。
/tomcat/webapps/canyin/WEB- INF/classes/canyin/connXmlBean.class -----连接xml 文件
/tomcat/webapps/canyin/WEB-INF/classes/canyin/writeXmlBean.class -----写入 xml文件
文件详细介绍及附带代码说明。
/tomcat/webapps/canyin/data/users.xml
代码:
<?xml version="1.0" encoding="UTF-8" ?>
- <users>
<user name="joard" password="joard" roles="admin" />
<user name="joard01" password="joard01" roles="user" />
<user name="joard02" password="joard02" roles="user" />
</users>
说明:字段含义是用户名,密码以及用户的身份
/tomcat/webapps/canyin/data/restaurants.xml
代码:
<?xml version="1.0" encoding="UTF-8" ?>
- <restaurants num="10">
- <restaurant id="1">
<name> 上海亭快餐店</name>
<phone>021-76546726</phone>
<address>百老汇广场B座</address>
</restaurant>
- <restaurant id="8">
<name> 香格里拉大饭店</name>
<phone>021- 2312134</phone>
<address>南京路1023号</address>
</restaurant>
</restaurants>
说明:<num>属性是记录在restaurants.xml 文件中总共有过多少条记录,每新增一 条,无论以后删除是否,该值都会增加1,就好象数据库中习惯使用的自动增加1的id 项。用来给 新增的 <restaurant>的属性<id>赋一个唯一的值。其它的字段意思比较明显。
/tomcat/webapps/ROOT/index.html (单纯的HTML代码)
代码:
<html>
<head>
<title>oddWorld 餐饮系统 </title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body onload="javascript:dataform.username.focus()">
<div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="22">
<tr>
<td width="1"><img src="images/top_r1.GIF" width="62" height="22"></td>
<td width=150 align="center"> 餐饮系统 登录 </td>
<td><img src="images/top_r2.GIF" width="294" height="22"></td>
</tr>
</table>
<br>
<br>
<table width="300" border="0" cellspacing="1" cellpadding="0" >
<tr>
<td height="200" valign="