WEB开发技术课程大作报告.docx
- 文档编号:16878412
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:23
- 大小:3.45MB
WEB开发技术课程大作报告.docx
《WEB开发技术课程大作报告.docx》由会员分享,可在线阅读,更多相关《WEB开发技术课程大作报告.docx(23页珍藏版)》请在冰点文库上搜索。
WEB开发技术课程大作报告
软件学院大作业任务书
题目:
旅游管理系统
——WEB开发技术课程设计
专业:
web开发
班级:
09web班
学号:
8000109202
学生姓名:
庞林
完成人数:
1
起讫日期:
第十四周到第十七周
任课教师:
龚根华职称:
部分管主任:
完成时间:
2011.12.18
目录
项目介绍···············
程序功能简介···············
设计思想···············
框架设计···············
代码介绍···············
界面介绍···············
设计体会···············
项目介绍
本项目主题设计开发一个以介绍管理旅游为主的网站,这个网站将用户和管理员的权限、操作等分开实现,主体采用MVC三层架构,这也是开发使用网站的最好方式,通过java语言,数据库操作实现了动态交互,有很大的拓展空间,实现了数据库管理中的增删改查,数据库连接,数据源的建立连接的功能,完全实现了数据连接、操作。
采用MVC技术方案(包含Java、JSP、Servlet、JavaBean、JSP标签库、javaScript、HTML等);
其中用到的工具有:
开发环境与工具:
JDK1.6、MyEclipse;
Web服务器:
Tomcat6。
操作系统:
Windows7;
数据库:
SQLServer;
网页开发工具:
Dreamweaver、Flash;
程序介绍
在整个项目中有进行数据查询,数据删除(仅限于管理员),数据修改,
数据添加;在jsp文档中采用了网页制作的多数效果,比如说框架使用,锚点连接,列表,表单,表格,Flash使用制作,走马灯效果等等,全局颜色搭配合理,版面布局美观,有自己制作的图片浏览器,音乐播放器等。
实现了动态交付,管理;其中还有自己寝室的一些花絮。
设计思想
用MyEclipse开发前台,连接数据库,其中要分清连接方式,使用权限,不同的用户登陆方式不同,用户注册是需要的数据,以及存储方式查找方式,要实现简单快捷操作。
网站设计,包含的内容非常多。
大体分两个方面:
一方面是纯网站本身的设计比如文字排版,图片制作,平面设计,静态无声图文,动态有声影像等;
另一方面是网站的延伸设计,包括网站的主题定位和浏览群的定位,智能交互,制作策划,形象包装等等.
1.网站主题和名称:
旅游开发,旅游管理系统;
2.网站的整体风格创意设计:
整体以单色调为主。
3.网站的层次结构和链接结构:
MVC架构,数据库连接。
4.首页的设计:
旅游景点介绍
5.版面布局的窍门:
层,frame应用。
6.效果:
走马灯效果。
7.替浏览者考虑:
分清用户管理员权限
8.字体的设置和表格的嵌套:
css样式。
框架设计
主体设计连接方式可以从下面这个系统结构看出来。
内容介绍
首先建立数据库Trip,在数据库中建立三个表admin管理员表,users用户表,
Views旅游信息表。
Admin表
Users表
View表
其中admin中的数据既可以在用户界面登陆也可以在管理员界面登陆。
表的增加从用户注册介面实现,删除,查找,修改在管理员管理下进行。
登陆界面
(登陆界面)
其中这部分是通过调用user表中的数据进行登录。
建立数据库后通过javabean与数据库连接。
packageDBConnection;
importjava.sql.*;
publicclassDBConnection{
privatestaticfinalStringDRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";
privatestaticfinalStringURL="jdbc:
ODBC:
pl";
privatestaticDBConnectioncdb;
privateDBConnection(){}
publicstaticDBConnectiongetInit(){
if(cdb==null){cdb=newDBConnection();
}returncdb;}
publicConnectiongetConn()throwsClassNotFoundException,SQLException{
Class.forName(DRIVER_CLASS);
returnDriverManager.getConnection(URL);
}......
Jsp界面通过调用Servlet+Java方法调用数据库数据进行操作。
整体用框架结构,其中右边的是一个Flash音乐播放器,可以自动连接到网络音乐。
(管理员界面)
管理员连接数据库代码:
Servlet代码
.......request.setCharacterEncoding("gbk");
response.setContentType("text/html;charset=gbk");
//HttpSessionsession=request.getSession();
StringuserName=request.getParameter("name");
Stringpassword=request.getParameter("password");
userboub=newuserbo();
useruser=ub.validUser(userName,password);
if(user!
=null){
response.sendRedirect("mainpage.jsp");
}else{
PrintWriterout=response.getWriter();
out.print("
');history.go(-1);");
out.flush();
out.close();........
调用的java方法:
.........publicclassadminbo{
privateConnectionconn;
privatePreparedStatementpstmt;
privateResultSetrs;
publicadminvalidUser(Stringadmin,Stringpassword){
adminad=null;
Stringsql="select*fromadminwhereadmin=?
andpsword=?
";
try{
conn=DBConnection.getInit().getConn();
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,admin);
pstmt.setString(2,password);
rs=pstmt.executeQuery();
if(rs.next()){
ad=newadmin();
ad.setAdmin(admin);
ad.setPsword(password);.......
注册
(注册界面)
这部分通过注册向users表中添加信息,当添加成功时跳转至成功界面。
(成功界面)
添加信息代码:
Servlet代码
.....HttpSessionsession=request.getSession(false);
if(session==null){
response.sendRedirect("load.jsp");
}else{
Stringname=request.getParameter("name");
Stringpassword=request.getParameter("password");
Stringsex=request.getParameter("sex");
Stringemail=request.getParameter("email");
Stringbirthday=request.getParameter("birthday");
userus=newuser();
us.setName(name);
us.setPassword(password);
us.setSex(sex);
us.setEmail(email);
us.setBirthday(birthday);
userdobb=newuserdo();
booleannum=bb.insertuser(us);
if(num!
=false){
response.sendRedirect("success.jsp");.......
调用的Java方法代码:
.......publicbooleaninsertuser(usercourse){
intnum=0;
booleanflag=false;
Stringsql="insertintousers(name,password,sex,email,birthday)values(?
?
?
?
?
)";
try{
conn=DBConnection.getInit().getConn();
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,course.getName());
pstmt.setString(2,course.getPassword());
pstmt.setString(3,course.getSex());
pstmt.setString(4,course.getEmail());
pstmt.setString(5,course.getBirthday());
num=pstmt.executeUpdate();
if(num>0)
flag=true;
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
e.printStackTrace();
}finally{
DBConnection.getInit().closeAll(conn,pstmt,rs);
}
returnflag;
}..........
主页
主页应用了多种网页制作方法,分三大部分:
旅游景点,特产介绍,文化介绍。
查询界面
查询结果
其中查询代码:
Servlet代码
......if(session==null){
response.sendRedirect("information.jsp");
}else{
Stringstar=Validate.validStringNull(request.getParameter("star"));
System.out.print(star);
searchpl=newsearch();
Listviewlist=null;
if("".equals(star)){
viewlist=pl.selectBy();
}
else{
viewlist=pl.selectBy(Integer.parseInt(star));
}
request.setAttribute("viewlist",viewlist);
request.getRequestDispatcher("message.jsp").forward(request,response);....
调用java方法:
.....publicListselectBy(){
Listlist=newArrayList();
Stringsql="select*fromviews";
try{
conn=DBConnection.getInit().getConn();
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()){
viewmanage=newview();
manage.setJingdian(rs.getString("jingdian"));
manage.setPrice(rs.getString("price"));
manage.setLocation(rs.getString("location"));
manage.setStar(rs.getInt("star"));
list.add(manage);
}
}catch(ClassNotFoundExceptione){
System.out.print("qq");
e.printStackTrace();
}catch(SQLExceptione){
e.printStackTrace();
}finally{
DBConnection.getInit().closeAll(conn,pstmt,rs);
}
returnlist;
}
publicListselectBy(intstar){
Listlist=newArrayList();
Stringsql="select*fromviewswherestar=?
";
try{System.out.print("1231");
conn=DBConnection.getInit().getConn();
pstmt=conn.prepareStatement(sql);
pstmt.setInt(1,star);
rs=pstmt.executeQuery();
while(rs.next()){
viewbook=newview();
book.setJingdian(rs.getString("jingdian"));
book.setPrice(rs.getString("price"));
book.setLocation(rs.getString("location"));
book.setStar(star);
list.add(book);
}......
删除的代码:
Servlet代码
.......Stringjingdian=Validate.validStringNull(request.getParameter("jingdian"));
deletebobb=newdeletebo();
intnum=bb.deleteBookByJingdian(jingdian);
if(num!
=0){
request.getRequestDispatcher("SelectServlet").forward(request,response);
}else{
PrintWriterout=response.getWriter();
out.print("
');history.go(-1);");......
调用Java方法
.....publicintdeleteBookByJingdian(Stringjingdian){
intnum=0;
Stringsql="deletefromviewswherejingdian=?
";
try{
conn=DBConnection.getInit().getConn();
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,jingdian);
num=pstmt.executeUpdate();
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
e.printStackTrace();
}finally{
DBConnection.getInit().closeAll(conn,pstmt,rs);
}
returnnum;.....
408花絮
其中两个flash:
一个网络音乐播放器
其中Actionscript是:
song_mc._yscale=0;
varwmp3:
Sound=newSound();varzcd;vardqcd;varztd=0;varjd;varrul:
String;varsdz;
varylz;jdk_mc.jdt_mc._xscale=0;
gbhl();
ply_btn.onRelease=function(){
if(ztd==0){
rul=RUL_txt.text;
if(rul){
jdk_mc.jdt_mc._xscale=0;
wmp3.loadSound(rul,true);
wmp3.start();
mp3pl(wmp3);
}
}else{
wmp3.start(ztd);
mp3pl(wmp3);
}
}
jdk_mc.onRelease=function(){
vardjd=_xmouse-jdk_mc._x;
varkjd=djd/jdk_mc._width*zcd;
wmp3.stop();
wmp3.start(kjd);}
functionmp3pl(mp3){
onEnterFrame=function(){
zcd=mp3.duration/1000;
dqcd=mp3.position/1000;
zcd_txt.text=Math.floor(zcd);
dqcd_txt.text=Math.floor(dqcd);
jd=dqcd/zcd*100;
jdk_mc.jdt_mc._xscale=jd;
if(dqcd!
=zcd){
for(i=1;i<6;i++){
gb_mc=eval("gb"+i);
gb_mc._yscale=mp3.getVolume()/2+random(mp3.getVolume()/2);
}}}}
jmdbtn_mc.onRelease=function(){
if(song_mc._yscale>0){
song_mc._yscale=0;
}else{
song_mc._yscale=100;
}}song_mc.song1_mc.onRelease=function(){
RUL_txt.text="
song_mc._yscale=0;
}song_mc.song2_mc.onRelease=function(){
RUL_txt.text="
song_mc._yscale=0;
}song_mc.song3_mc.onRelease=function(){
RUL_txt.text="
song_mc._yscale=0;}
functiongbhl(){
for(i=1;i<6;i++){
gb_mc=eval("gb"+i);
gb_mc._yscale=0;
}}stop_btn.onRelease=function(){
wmp3.stop();
ztd=0;deleteonEnterFrame;
gbhl();
}zd_btn.onRelease=function(){
ztd=dqcd;
wmp3.stop();
deleteonEnterFrame;
gbhl();}kj_btn.onRelease=function(){
wmp3.stop();
kjd=dqcd+5;
wmp3.start(kjd);
}kt_btn.onRelease=function(){
wmp3.stop();
ktd=dqcd-5;
wmp3.start(ktd);
}sd_mc.sdhk_mc.onPress=function(){
startDrag(this,true,0,0,sd_mc._width-this._width/2,0);
}
sd_mc.sdhk_mc.onRelease=function(){
stopDr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WEB 开发 技术 课程 大作 报告