NIIT2 JSP课程设计Online Flight Reservation System.docx
- 文档编号:25959982
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:28
- 大小:952.48KB
NIIT2 JSP课程设计Online Flight Reservation System.docx
《NIIT2 JSP课程设计Online Flight Reservation System.docx》由会员分享,可在线阅读,更多相关《NIIT2 JSP课程设计Online Flight Reservation System.docx(28页珍藏版)》请在冰豆网上搜索。
NIIT2JSP课程设计OnlineFlightReservationSystem
NIIT-2ProjectTraining
实训报告
专业
计算机科学与技术
学生姓名
程梦佳
班级
B计算机114
学号
1110704402
指导教师
刘颖
完成日期
2013年6月28日
目录
目录2
1设计目的1
2设计内容1
3实现方法1
3.1系统目标1
3.2主体功能2
3.3开发环境2
4小结2
5系统实现3
5.1数据库实现3
5.2JavaBean的编写3
5.2.1JDBC包3
5.2.2MD5包5
5.2.3enter包5
5.2.4register包5
5.2.4air_lines包5
5.2.4.1line类5
5.2.4.2SHow_line类5
5.2.4.3A_line类6
5.2.4.4Amend_ine类7
5.2.4.5D_line类7
5.2.5Book_line包7
5.2.5.1booked_line类7
5.2.5.2book_line类8
5.2.5.3Show_booked_line类8
5.2.5.4d_book_line类8
5.3前台模块实现8
5.3.1系统登录界面如下图所示:
8
5.3.2用户注册界面:
12
5.3.3用户页面所示:
13
5.3.4管理员界面15
课题2:
OnlineFlightReservationSystem
1设计目的
本课程设计是在学完本课程教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的NIIT-2模块的课程基本知识,进一步领会掌握Windows编程的基本方法和技巧,提高分析问题、解决问题的综合应用能力。
2设计内容
课题2:
OnlineFlightReservationSystem
该课题内的航空售票系统能够给顾客提供既快捷又便利的服务,本系统采用JSP+SQL2005实现了在线订票,主要包括:
用户注册、订单提交、订单查询、后台用户管理、航班信息管理、订单管理。
该系统能降低人工处理订票时出错的几率,提高工作效率。
3实现方法
3.1系统目标
•实现系统登录功能;
•实现注册功能;
•对不同的用户进行权限分配;;
•采用CSS+JS+DIV设计简单的菜单树;
•不同用户具有不同的导航树;
•管理员能够添加删除更新航线;
•会员能够查看预订航线;
•会员能够删除已预订的航线;
用户数据流程图
管理员数据流程图:
3.2主体功能
系统具有以下模块:
登录模块:
对已注册用户进行身份认证和授权。
注册模块:
为新用户提供注册服务。
核心模块一:
创建自定义标签,建立用户界面并且执行搜索功能,能够搜索航班信息。
核心模块二:
实现会话管理,能够执行OnlineFlightReservationSystem应用程序功能,比如说预定飞机票的功能。
支付模块:
管理对飞机票的支付。
3.3开发环境
AdobeDreamweaverCS4、JDKTomcat6.0和myeclipse
4小结
通过两周的综合课程设计感触很深,在前两周的课设的基础上,又一次用JSP做相关项目,这不仅又一次加强了自己对JSP这门课程的理解也很好的锻炼了自己的动手能力。
这一技术是需要有一定基础、而且动手能力强的学科。
书上也强调一点是:
要想真正地掌握JSP技术,必须有较好的java语言基础,以及HTML语言方面的知识。
JSP是一门新技术,他基于JavaServlet以及整个java体系的Web开发技术。
通过一周的实习JSP,这个实习,使我初步掌握和了解了JSP的基本运行原理、各个对象的结构和功能、怎样连接数据库、能自己手动写code开发一些小网页。
并且,自己能够组建一台JSP服务器,而且还了解了安装过程中,所要注意的事项。
对于一些简单的小问题,能够自己动手排除。
我个人认为,这次课设对于我是非常有意义的,对我个人的影响比较大,对我的成长更有莫大的帮助,特别感谢老师在我写程序期间对我有着莫大的帮助。
5系统实现
5.1数据库实现
启动SQL2005;
登陆SQL2005命令界面,连接登陆;
在SQL2005下提示符下执行创建数据库和各个表的命令,完成所需数据库和表的创建,然后在相关表中插入适量测试用的数据。
5.2JavaBean的编写
在JSP技术中,JavaBeans就是用来封装业务逻辑。
本系统中JavaBean主要是用来封装数据库的访问操作的。
本系统一共有4个包,分别对各个方面进行信息管理。
下面是对主要的包进行详细解释。
5.2.1JDBC包
JDBC包是专门用来负责连接数据库的,包内有一个类JDBC。
JDBC类主要负责数据库连接。
packagejdbc;
importjava.sql.*;
importjava.util.*;
publicclassjdbc
{
privateintinuse=0;
privateintmax=999;
privateVectorconnections=newVector();
publicsynchronizedvoidreleaseConnection(Connectioncon)
{
connections.addElement(con);
inuse--;
}
publicsynchronizedConnectiongetConnection()
{
Connectioncon=null;
if(connections.size()>0)
{
con=(Connection)connections.elementAt(0);
connections.removeElementAt(0);
try{
if(con.isClosed())
{
con=getConnection();
}
}catch(SQLExceptione){}
}
elseif(max==0||inuse { con=newConnection(); } if(con! =null) {inuse++;} returncon; } privateConnectionnewConnection() { Connectioncon=null; Stringusername="jian"; Stringpassword="modemima"; Stringurl="jdbc: odbc: jianyue"; StringDBDRIVER="sun.jdbc.odbc.JdbcOdbcDriver"; try { Class.forName(DBDRIVER); }catch(Exceptione){} try { con=DriverManager.getConnection(url,username,password); }catch(SQLExceptione) { e.printStackTrace(); returnnull; } returncon; } publicsynchronizedvoidcloseCon() { EnumerationallConnections=connections.elements(); while(allConnections.hasMoreElements()) { Connectioncon=(Connection)allConnections.nextElement(); try{con.close();}catch(SQLExceptione){} } connections.removeAllElements(); } } 5.2.2MD5包 MD5包用来对密码进行加密。 通过包中类md5.java来实现。 类md5.java代码。 5.2.3enter包 Check用来实现用户登陆网站的权限及合法性验证,check包下只有一个类check.java,这个类实现了登陆网站的权限及合法性验证。 5.2.4register包 Register主要实现注册功能,以及数据库相关操作。 Register包下有两个类add.java和DB_User.java; 5.2.4air_lines包 Air_lines包用来对航空线路的相关信息进行管理,下面介绍其中的类 5.2.4.1line类 Line类是根据数据库中的航空信息表air_line_info设计而成的。 5.2.4.2Show_line类 Show_line;类是根据航空线路关键字查询出相应的线路名称,代码如下: packagetour_lines; importjava.sql.*; importjava.util.*; importjava.io.*; publicclassshow_line { publicStringtour_line_name; publicCollectioncol=newArrayList(); publicConnectioncon; publicCollectionshow()throwsException{ try{ Statementstatement=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); Stringsql="select*fromtour_line_infowhereair_line_namelike'"+"%"+air_line_name+"%"+"'"; ResultSetr=statement.executeQuery(sql); while(r.next()) { lineli=newline(); li.setTour_line_name(r.getString (1)); col.add(li); } }catch(SQLExceptionee) {} returncol; } } 5.2.4.3a_line类 a_line类用来在数据库中写入新的航空线路信息,主要代码如下: packagetour_lines; importjava.sql.*; publicclassa_line { publicStringair_line_name; publicStringair_line_pirce; publicStringair_line_tejia; publicStringair_line_comp; publicStringtour_line_time; publicConnectioncon; publicbooleana_exe()throwsException{ try{ Statementstatement=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); Stringsql="insertintoair_line_info(air_line_name,air_line_tejia,air_line_pirce,tour_line_comp,tour_line_time)values('"+air_line_name+"','"+air_line_tejia+"','"+air_line_price+"','"+air_line_comp+"','"+air_line_time+"')"; System.out.print(sql); statement.executeUpdate(sql); returntrue; }catch(SQLExceptionee) { returnfalse; } } } 5.2.4.4Amend_ine类 Amend_line类实现对数据库中现有记录内容进行更新,代码与a_line相似。 5.2.4.5D_line类 D_line类用来删除数据库中已经存在的线路信息,代码与a_line相似。 5.2.5Book_line包 Book_line包下的类主要完成预定线路的构建,显示和删除)。 5.2.5.1booked_line类 booked_line类是根据数据库中预定航空线路表设计的,是预定线路的一个抽象,其中描述了预定线路的属性以及这些属性值的取值和设置方法。 代码如下: packagebook_line; importjava.sql.*; publicclassbook_line { publicStringair_line_name; publicStringuser_name; publicStringbook_time; publicConnectioncon; publicbooleanbook_exe()throwsException{ try{ Statementstatement=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); Stringsql="insertintotour_line_book(tour_line_name,user_name,book_time)values('"+air_line_name+"','"+user_name+"','"+book_time+"')"; statement.executeUpdate(sql); returntrue; }catch(SQLExceptionee) { returnfalse; } } } 5.2.5.2book_line类 Book_line类主要负责把用户预定的线路信息写入数据库,代码与BOOK_LINE类相似。 5.2.5.3Show_booked_line类 Show_booked_line类主要用来显示某个用户预订的线路信息,代码与air_line包的show_line类相似。 5.2.5.4d_book_line类 D_book_line类用来删除用户已经预订的航空线路,代码与air_line包的d_line类相似。 5.3前台模块实现 5.3.1系统登录界面如下图所示: 图5-1登录界面 登录LOGIN.JSP负责登录传值,主要代码 <%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%> <% Stringpath=request.getContextPath(); StringbasePath=request.getScheme()+": //"+request.getServerName()+": "+request.getServerPort()+path+"/"; %> DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
functionod()
{
varf=document.form1;
if(f.Username.value=="")
{
alert("用户名未输入");
f.Username.focus();
f.Username.select();
return;
}
if(f.Password.value=="")
{
alert("密码未输入");
f.Password.focus();
f.Password.select();
return;
}
}
functioncallnm()
{
window.location.href="regist.jsp"
}
--
-->
--
.STYLE1{
font-size:
large;
color:
#00FF33;
}
-->
124px;">
会员
管理员
输入用户名,密码,权限传递到enter.jsp进行合法性验证:
<%@pagecontentType="text/html;charset=GBK"%>
useBeanid="j"scope="application"class="jdbc.jdbc"/> useBeanid="e"scope="application"class="enter.enter"/> useBeanid="m"scope="application"class="MD5.MD5"/> -- functionreturnback() {TimerID=setTimeout('window.location.href="index.htm"',1000) } --> <% e.con=j.getConnection(); Stringuser_name=newString(request.getParameter("user_name").getBytes("ISO8859_1"),"GBK"); Stringuser_key=newString(request.getParameter("user_key").getBytes("ISO8859_1"),"GBK"); StringuserType=newString(request.getParameter("userType").getBytes("ISO8859_1"),"GBK"); user_key=m.getMD5ofStr(user_key); e.user_name=user_name; e.user_key=user_key; if(e.enter_exe()) { out.print("登陆成功! "); request.getSession(true); session.putValue("enter","wushili"); session.putValue("user_name",user_name); out.print(userType); if(userType.equals("1")) { response.sendRedirect("user/line_book.jsp"); } else { response.sen
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NIIT2 JSP课程设计Online Flight Reservation System JSP 课程设计 Online
链接地址:https://www.bdocx.com/doc/25959982.html