java语言 酒店管理信息系统
题 目: 酒店管理系统的设计与实现 学 院: 数学与信息工程学院 专 业: 信息管理与信息系统 班 级: 信息071 学 号: 200753275110 和 200753275122 姓 名: 周春璐和徐桂龙 指导教师: 杜 选 完成日期: 2009年7月1日
目 录
1 需求分析 ……………………………………………………………………………………1
1.1管理员登录………………………………………………………………………………1
1.2各种信息查询……………………………………………………………………………1
1.3数据管理…………………………………………………………………………………1 2 总体设计 ……………………………………………………………………………………1
2.1系统工作示意图…………………………………………………………………………1
2.2页面导航示意图…………………………………………………………………………1 3 数据库计 ……………………………………………………………………………………2 4 程序模块设计 ………………………………………………………………………………4
4.1管理员登录模块…………………………………………………………………………4
4.1.1系统登录界面……………………………………………………………………4
4.1.2 程序源代码………………………………………………………………………4
4.2主功能模块………………………………………………………………………………6
4.2.1主界面……………………………………………………………………………6
4.2.2程序源代码………………………………………………………………………7
4.3客人预定模块……………………………………………………………………………8
4.3.1酒店客房预定界面………………………………………………………………8
4.3.2程序源代码………………………………………………………………………9
4.4客人信息模块 …………………………………………………………………………13
4.4.1客人信息面………………………………………………………………………13
4.4.2程序源代码………………………………………………………………………13
4.5酒店员工信息模块 ……………………………………………………………………15
4.5.1员工信息查询界面………………………………………………………………15
4.5.2程序源代码………………………………………………………………………16
4.6客人退房模块 …………………………………………………………………………19
4.6.1客人退房界面……………………………………………………………………19
4.6.2程序源代码………………………………………………………………………20 5 参考文献 ……………………………………………………………………………………23 6 心得体会 ……………………………………………………………………………………23
I
1 需求分析
1.1管理员登录
考虑到系统的安全性,这一功能必须具备。管理员必须输入正确的姓名和密码,才能进入管理系统。为了方便密码管理,系统事先应将管理员的姓名和密码存放在数据库中。 1.2各种信息查询
完善、快速的信息查询功能,可全面查询和统计酒店宾客的各种信息。 1.3数据管理
由于数据库中信息的重要性,一旦误删或误改将造成玩法挽回的损失,因此,在进行数据管理时,采用直接进行的方式。
2 总体设计
2.1系统工作示意图
主功能模块
客人订房 客人退房 客人查询 员工信息查询
2.2页面导航示意图
3 数据库设计
系统管理员
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
客人登记表
客房状态表
酒店员工信息表
4 程序模块设计
4.1管理员登录模块
4.1.1系统登录界面
4.1.2 程序源代码
package jdglxt;
import com.sun.data.provider.impl.CachedRowSetDataProvider; import com.sun.rave.web.ui.appbase.AbstractPageBean; import com.sun.webui.jsf.component.PasswordField; import com.sun.webui.jsf.component.TextField; import javax.faces.FacesException;
public class dlxt extends AbstractPageBean {
private void _init() throws Exception {
xtglybDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet)
getValue("#{SessionBean1.xtglybRowSet}"));
}
Private CachedRowSetDataProvider xtglybDataProvider = new CachedRowSetDataProvider();
public CachedRowSetDataProvider getXtglybDataProvider() {
return xtglybDataProvider;
}
public void setXtglybDataProvider(CachedRowSetDataProvider crsdp) {
this.xtglybDataProvider = crsdp;
}
private TextField textField1 = new TextField();
public TextField getTextField1() {
return textField1;
}
public void setTextField1(TextField tf) {
this.textField1 = tf;
}
private PasswordField passwordField1 = new PasswordField();
public PasswordField getPasswordField1() {
return passwordField1;
}
public void setPasswordField1(PasswordField pf) {
this.passwordField1 = pf;
}
public dlxt() {
}
public void init() {
super.init();
try {
_init();
} catch (Exception e) {
log("dlxt Initialization Failure", e);
throw e instanceof FacesException ? (FacesException) e: new FacesException(e);
}
}
public void preprocess() {
}
public void prerender() {
}
public void destroy() {
xtglybDataProvider.close();
}
protected SessionBean1 getSessionBean1() {
return (SessionBean1) getBean("SessionBean1");
}
protected ApplicationBean1 getApplicationBean1() {
return (ApplicationBean1) getBean("ApplicationBean1");
}
protected RequestBean1 getRequestBean1() {
return (RequestBean1) getBean("RequestBean1");
}
public String button1_action() {
String username=(String)textField1.getText();
String password=(String)passwordField1.getText();
boolean loginflag=false;
LoginBean bean=new LoginBean();
bean.setUsername(username);
bean.setPassword(password);
loginflag=bean.checklogin();
if(loginflag)
{
//SessionBean1 sb=getSessionBean1();
//sb.setUsername(username);
return "success";
}
else
return null;
}
}
4.2主功能模块
4.2.1主界面
4.2.2程序源代码
package jdglxt;
import com.sun.rave.web.ui.appbase.AbstractPageBean; import javax.faces.FacesException;
public class zgn extends AbstractPageBean {
private void _init() throws Exception {
}
public zgn() {
}
public void init() {
super.init();
try {
_init();
} catch (Exception e) {
log("zgn Initialization Failure", e);
throw e instanceof FacesException ? (FacesException) e: new FacesException(e);
}
}
public void preprocess() {
}
public void prerender() {
}
public void destroy() {
}
protected SessionBean1 getSessionBean1() {
return (SessionBean1) getBean("SessionBean1");
}
protected ApplicationBean1 getApplicationBean1() {
return (ApplicationBean1) getBean("ApplicationBean1");
}
protected RequestBean1 getRequestBean1() {
return (RequestBean1) getBean("RequestBean1");
}
public String hyperlink1_action() {
return "krdf";
}
public String hyperlink2_action() {
return "krtf";
}
public String hyperlink3_action() {
return "krdjxx";
}
public String hyperlink4_action() {
return "ygxx";
}
}
4.3客人预定模块
4.3.1酒店客房预定界面
预定前
预定后
4.3.2程序源代码
package jdglxt;
import com.sun.data.provider.impl.CachedRowSetDataProvider;
import com.sun.rave.faces.data.CachedRowSetDataModel; import com.sun.rave.web.ui.appbase.AbstractPageBean; import com.sun.webui.jsf.component.TextField; import javax.faces.FacesException;
import javax.faces.event.ValueChangeEvent;
public class krdf extends AbstractPageBean { private void _init() throws Exception {
kfztbDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet)
getValue("#{SessionBean1.kfztbRowSet}"));
dataTable1Model.setCachedRowSet((javax.sql.rowset.CachedRowSet)
getValue("#{SessionBean1.kfztbRowSet}"));
}
private TextField textField1 = new TextField();
public TextField getTextField1() {
return textField1;
}
public void setTextField1(TextField tf) {
this.textField1 = tf;
}
private TextField textField2 = new TextField();
public TextField getTextField2() {
return textField2;
}
public void setTextField2(TextField tf) {
this.textField2 = tf;
}
private TextField textField3 = new TextField();
public TextField getTextField3() {
return textField3;
}
public void setTextField3(TextField tf) {
this.textField3 = tf;
}
private TextField textField4 = new TextField();
public TextField getTextField4() {
return textField4;
}
public void setTextField4(TextField tf) {
this.textField4 = tf;
}
private CachedRowSetDataProvider kfztbDataProvider = new CachedRowSetDataProvider();
public CachedRowSetDataProvider getKfztbDataProvider() {
return kfztbDataProvider;
}
public void setKfztbDataProvider(CachedRowSetDataProvider crsdp) {
this.kfztbDataProvider = crsdp;
}
private CachedRowSetDataModel dataTable1Model = new CachedRowSetDataModel();
public CachedRowSetDataModel getDataTable1Model() {
return dataTable1Model;
}
public void setDataTable1Model(CachedRowSetDataModel crsdm) {
this.dataTable1Model = crsdm;
}
public krdf() {
}
public void init() {
super.init();
try {
_init();
} catch (Exception e) {
log("krdf Initialization Failure", e);
throw e instanceof FacesException ? (FacesException) e: new
FacesException(e);
}
,
public void preprocess() {
}
public void prerender() {
}
public void destroy() {
kfztbDataProvider.close();
}
protected SessionBean1 getSessionBean1() {
return (SessionBean1) getBean("SessionBean1");
}
protected ApplicationBean1 getApplicationBean1() {
return (ApplicationBean1) getBean("ApplicationBean1");
}
protected RequestBean1 getRequestBean1() {
return (RequestBean1) getBean("RequestBean1");
}
public String button2_action() {
String ID="",ROOMNO="",PRICE="",ONUSE="";
try
{
ID=(String)textField1.getText();
ROOMNO=(String)textField2.getText();
PRICE=(String)textField3.getText();
ONUSE=(String)textField4.getText();
String sql = "INSERT INTO KFZTB(ID,ROOMNO,PRICE,ONUSE) VALUES
('"+ID+"','"+ROOMNO+"','"+PRICE+"','"+ONUSE+"')"; //插入一个房间
getSessionBean1().getKfztbRowSet().setCommand(sql);
getSessionBean1().getKfztbRowSet().setCommand("SELECT ALL
ID,ROOMNO,PRICE,ONUSE FROM dbo.KFZTB"); }
catch(Exception e)
{
e.printStackTrace();
}
return null;
}
public String button1_action() {
return null;
}
public void textField3_processValueChange(ValueChangeEvent event) {
}
public void textField1_processValueChange(ValueChangeEvent event) {
}
public void textField4_processValueChange(ValueChangeEvent event) {
}
public String button3_action() {
return "case1";
}
}
4.4客人信息模块
4.4.1客人信息界面
4.4.2程序源代码
package jdglxt;
import com.sun.data.provider.impl.CachedRowSetDataProvider; import com.sun.rave.faces.data.CachedRowSetDataModel; import com.sun.rave.web.ui.appbase.AbstractPageBean; import javax.faces.FacesException;
public class krdjxx extends AbstractPageBean {
private void _init() throws Exception {
kfztbDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet)
getValue("#{SessionBean1.kfztbRowSet}"));
dataTable1Model.setCachedRowSet((javax.sql.rowset.CachedRowSet)
getValue("#{SessionBean1.kfztbRowSet}"));
}
private CachedRowSetDataProvider kfztbDataProvider = new
CachedRowSetDataProvider();
public CachedRowSetDataProvider getKfztbDataProvider() {
return kfztbDataProvider;
}
public void setKfztbDataProvider(CachedRowSetDataProvider crsdp) {
this.kfztbDataProvider = crsdp;
}
private CachedRowSetDataModel dataTable1Model = new
CachedRowSetDataModel();
public CachedRowSetDataModel getDataTable1Model() {
return dataTable1Model;
}
public void setDataTable1Model(CachedRowSetDataModel crsdm) {
this.dataTable1Model = crsdm;
}
public krdjxx() {
}
public void init() {
super.init();
try {
_init();
} catch (Exception e) {
log("krdjxx Initialization Failure", e);
throw e instanceof FacesException ? (FacesException) e: new
FacesException(e);
}
}
public void preprocess() {
}
public void prerender() {
}
public void destroy() {
kfztbDataProvider.close();
}
protected SessionBean1 getSessionBean1() {
return (SessionBean1) getBean("SessionBean1");
}
protected ApplicationBean1 getApplicationBean1() {
return (ApplicationBean1) getBean("ApplicationBean1");
}
protected RequestBean1 getRequestBean1() {
return (RequestBean1) getBean("RequestBean1");
}
public String button1_action() {
return "case1";
}
}
4.5酒店员工信息模块
4.5.1员工信息查询界面
查询前
查询后
4.5.2程序源代码
package jdglxt;
import com.sun.data.provider.impl.CachedRowSetDataProvider; import com.sun.rave.faces.data.CachedRowSetDataModel; import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.component.TextField;
import javax.faces.FacesException;
public class ygxx extends AbstractPageBean {
private void _init() throws Exception {
jdygxxbDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet) getValue("#{SessionBean1.jdygxxbRowSet}"));
jdygxxbDataProvider1.setCachedRowSet((javax.sql.rowset.CachedRowSet) getValue("#{SessionBean1.jdygxxbRowSet}"));
dataTable1Model.setCachedRowSet((javax.sql.rowset.CachedRowSet) getValue("#{SessionBean1.jdygxxbRowSet}"));
}
private CachedRowSetDataProvider jdygxxbDataProvider = new
CachedRowSetDataProvider();
public CachedRowSetDataProvider getJdygxxbDataProvider() {
return jdygxxbDataProvider;
}
public void setJdygxxbDataProvider(CachedRowSetDataProvider crsdp) {
this.jdygxxbDataProvider = crsdp;
}
private TextField textField1 = new TextField();
public TextField getTextField1() {
return textField1;
}
public void setTextField1(TextField tf) {
this.textField1 = tf;
}
private CachedRowSetDataProvider jdygxxbDataProvider1 = new
CachedRowSetDataProvider();
public CachedRowSetDataProvider getJdygxxbDataProvider1() {
return jdygxxbDataProvider1;
}
public void setJdygxxbDataProvider1(CachedRowSetDataProvider crsdp) {
this.jdygxxbDataProvider1 = crsdp;
}
private CachedRowSetDataModel dataTable1Model = new
CachedRowSetDataModel();
public CachedRowSetDataModel getDataTable1Model() {
return dataTable1Model;
}
public void setDataTable1Model(CachedRowSetDataModel crsdm) {
this.dataTable1Model = crsdm;
}
public ygxx() {
}
public void init() {
super.init();
try {
_init();
} catch (Exception e) {
log("ygxx Initialization Failure", e);
throw e instanceof FacesException ? (FacesException) e: new
FacesException(e);
}
}
@Override
public void preprocess() {
}
@Override
public void prerender() {
}
@Override
public void destroy() {
jdygxxbDataProvider.close();
jdygxxbDataProvider1.close();
}
protected SessionBean1 getSessionBean1() {
return (SessionBean1) getBean("SessionBean1");
}
protected ApplicationBean1 getApplicationBean1() {
return (ApplicationBean1) getBean("ApplicationBean1");
}
protected RequestBean1 getRequestBean1() {
return (RequestBean1) getBean("RequestBean1");
}
public String button1_action() {
return "cz";
}
public String button2_action() {
String xm="";
String sql="";
xm=(String)textField1.getText();
sql="select * from JDYGXXB where NAME='"+xm+"'"; //按姓名查找
try{
getSessionBean1().getJdygxxbRowSet().setCommand(sql); }
catch(Exception e)
{
e.printStackTrace();
}
return null;
}
public String button3_action() {
return "case1";
}
}
4.6客人退房模块
4.6.1客人退房界面
退房前
退房后
4.6.2程序源代码
package jdglxt;
import com.sun.data.provider.impl.CachedRowSetDataProvider; import com.sun.rave.faces.data.CachedRowSetDataModel; import com.sun.rave.web.ui.appbase.AbstractPageBean; import com.sun.webui.jsf.component.TextField;
import javax.faces.FacesException;
public class krtf extends AbstractPageBean {
private void _init() throws Exception {
kfztbDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet)
getValue("#{SessionBean1.kfztbRowSet}"));
dataTable1Model.setCachedRowSet((javax.sql.rowset.CachedRowSet) getValue("#{SessionBean1.kfztbRowSet}"));
}
private CachedRowSetDataProvider kfztbDataProvider = new CachedRowSetDataProvider();
public CachedRowSetDataProvider getKfztbDataProvider() {
return kfztbDataProvider;
}
public void setKfztbDataProvider(CachedRowSetDataProvider crsdp) {
this.kfztbDataProvider = crsdp;
}
private CachedRowSetDataModel dataTable1Model = new CachedRowSetDataModel();
public CachedRowSetDataModel getDataTable1Model() {
return dataTable1Model;
}
public void setDataTable1Model(CachedRowSetDataModel crsdm) {
this.dataTable1Model = crsdm;
}
private TextField textField1 = new TextField();
public TextField getTextField1() {
return textField1;
}
public void setTextField1(TextField tf) {
this.textField1 = tf;
}
public krtf() {
}
@Override
public void init() {
super.init();
try {
_init();
} catch (Exception e) {
log("krtf Initialization Failure", e);
throw e instanceof FacesException ? (FacesException) e: new FacesException(e);
}
}
public void preprocess() {
}
public void prerender() {
}
public void destroy() {
kfztbDataProvider.close();
}
protected SessionBean1 getSessionBean1() {
return (SessionBean1) getBean("SessionBean1");
}
protected ApplicationBean1 getApplicationBean1() {
return (ApplicationBean1) getBean("ApplicationBean1");
}
protected RequestBean1 getRequestBean1() {
return (RequestBean1) getBean("RequestBean1");
}
public String button1_action() {
String rm="";
String sql="";
rm=(String)textField1.getText();
try{
sql="delete from KFZTB where ROOMNO='"+rm+"'";
getSessionBean1().getKfztbRowSet().setCommand(sql); //删除一个房间
sql="select * from KFZTB";
getSessionBean1().getKfztbRowSet().setCommand(sql); }
catch(Exception e)
{
e.printStackTrace();
}
return null;
}
public String button2_action() {
return "case1";
}
}
5 参考文献
1.《JAVA数据库系统项目开发实践》周亚辉 主编 科学出版社
2.《JSP通用模块及典型系统开发》 王夕宁 王晓平编著 人民邮电出版社 3.《JSP网络编程技术与实践》 李建刚 秦兴桥 郑雨贝编著 清华大学出版社 4(《JSP实例开发集锦》 王诚梅 袁然 王艳编著 电子工业出版社
6 心得体会
心得体会一——周春璐
1( 软件安装问题
有许多软件是第一次接触,如:SQLSERVER2000,SQL2KJDBC等,这些软件安装过程需要
注意很多地方,稍微有一些差错,就会导致数据库不能连接等问题。因此,在进行程序
设计之前在自己的电脑上安装这些软件也需要老师的指导帮助,才可以顺利完成。 2.数据库设计
这个部分应该是最顺利完成的一个部分了,只要按照步骤,一步步做下去可以。只是因为开始数据库和数据表的名字是中文的关系,导致后来的出现了很多错误,因此重新建了一个数据库。
3.在Netbeans中设计模块和编写代码
我负责写管理员登录模块,客人订房模块和客人退房模块。在每个模块的文本框中要为其在邦定数据源,这个技巧是同学教我的。其中登录模块是最难的。这个模块要求将数据表直接拖入模块中,而这个数据表在此模块中又不会显示出来,这个技艺我是没有想到的,后来在老师的指导下才完成。客人订房模块和客人退房模块相当与对客房做插入和删除操作,这些相对简单些。可以将老师的代码复制过来,在些基础上进行修改就可以了。 4.心得
通过此次课程设计,我学到了很多。初步了解了一个完整的酒店系统软件的开发过程,熟悉了数据库等操作,自己可以独立编写一个简单和系统软件。
心得体会二——徐桂龙
由于前期的工作由我的搭档完成,因此我的任务相对轻松很多。我负责设计模块界面和编写主功能模块,客人查询模块和酒店员工信息模块的代码。模块界面设计,我们做的比较简单,只是插入一张背景图片即可。每个界面都用这一背景,做到统一风格。对于代码的编写,自己不是很懂。虽说是在我编写这些代码,但其实也是在搭档的共同努力下完成的。 如:“sql="select * from JDYGXXB where NAME='"+xm+"'"; //按姓名查找”这个语句中,开始我并不清楚JDYGXXB是表名,NAME是字段名,这就导致我无法将代码修改正确,是搭档告诉我后,才写出完整,正确的代码的。