java旅游攻略管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点

java Web旅游攻略管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为

TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。

java web 旅游攻略管理系统

二、功能介绍

本系统一共分为普通游客,会员、网站管理员三个角色,不同的角色有不同的角色功能菜单,每个部分由其功能模块组成,每个模块之间虽然在表面上是相互独立的,但是在对数据库的访

问上是紧密相连的,各个模块访问的是同一个数据库,并且,旅游攻略系统建设的分析,系统主要功能包括:用户管理,景点管理、景点报名、酒店管理、旅游攻略等功能主要功能如下:

1.整个旅游攻略系统包括主页、搜索和显示页面、攻略收藏页面和个人中心。

主页:上面显示滚动的景点图片3个,点击可以进入攻略,下面随机展示10个热门攻略,并定时更新(15秒更新一次)

2.搜索和显示页面:按收藏数降序默认显示所有攻略。输入省份可显示该省所有旅游攻略;输入具体景点可显示该景点旅游攻略。支持模糊搜索。

3.收藏页面:按日期降序显示收藏的攻略,并可以在该页面取消收藏攻略。

4.个人中心页面:显示一些基本信息,并包括修改用户名,修改头像,修改密码,退出系统等基本操作

5.登录注册:用户分为普通用户和管理员,登录后系统右上角显示头像和用户名。登录时有记住密码选项。

6.攻略:攻略至少包括文字和图片,用户可以查看、收藏、转发攻略,在攻略下面留言,并倒序显示。每个攻略显示收藏数目。

7.管理员除普通用户的功能外,在后台管理查看所有攻略,并可以对每个攻略进行增删改操作,并查看每个攻略的收藏数、留言数以及留言内容。

数据库设计

表4-1用户信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | yhid | INTEGER | 11 | 是 | 用户编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
| 5 | qx | VARCHAR | 40 | 否 | 权限 |
| 6 | lxdh | VARCHAR | 40 | 否 | 联系电话 |
| 7 | lxdz | VARCHAR | 40 | 否 | 联系地址 |
| 8 | tx | VARCHAR | 40 | 否 | 头像 |

表4-2 省份信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | sfid | INTEGER | 11 | 是 | 省份编号 |
| 2 | sf | VARCHAR | 40 | 否 | 省份 |

表4-3攻略信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | glid | INTEGER | 11 | 是 | 攻略编号 |
| 2 | bt | VARCHAR | 40 | 否 | 标题 |
| 3 | nr | VARCHAR | 40 | 否 | 内容 |
| 4 | tp | VARCHAR | 40 | 否 | 图片 |
| 5 | js | VARCHAR | 40 | 否 | 介绍 |
| 6 | fbrq | VARCHAR | 40 | 否 | 发布日期 |
| 7 | sf | VARCHAR | 40 | 否 | 省份 |
| 8 | lll | VARCHAR | 40 | 否 | 浏览量 |
| 9 | szs | VARCHAR | 40 | 否 | 收藏数 |
| 10 | lys | VARCHAR | 40 | 否 | 留言数 |
| 11 | zz | VARCHAR | 40 | 否 | 作者 |

表4-4 攻略详情信息表

|----|--------|---------|----|----|--------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | glxqid | INTEGER | 11 | 是 | 攻略详情编号 |
| 2 | gl | VARCHAR | 40 | 否 | 攻略 |
| 3 | nr | VARCHAR | 40 | 否 | 内容 |
| 4 | fbsj | VARCHAR | 40 | 否 | 发布时间 |

表4-5 收藏信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | szid | INTEGER | 11 | 是 | 收藏编号 |
| 2 | yh | VARCHAR | 40 | 否 | 用户 |
| 3 | sz | VARCHAR | 40 | 否 | 收藏 |
| 4 | sj | VARCHAR | 40 | 否 | 时间 |

表4-6 留言信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | lyid | INTEGER | 11 | 是 | 留言编号 |
| 2 | gl | VARCHAR | 40 | 否 | 攻略 |
| 3 | yh | VARCHAR | 40 | 否 | 用户 |
| 4 | ly | VARCHAR | 40 | 否 | 留言 |
| 5 | lysj | VARCHAR | 40 | 否 | 留言时间 |

系统ER 图

前台展现代码

复制代码
</script>
<script src="<%=path %>/kingediter/kindeditor-all-min.js"></script>
	<script charset="utf-8" src="<%=path %>/kindeditor.js"></script>
	<script charset="utf-8" src="<%=path %>/lang/zh-CN.js"></script>
<script>
	
	 KindEditor.ready(function(K) {
	 		var options ={
			uploadJson : '<%=request.getContextPath()%>/kingediter/upload_json.jsp',
			fileManagerJson : '<%=request.getContextPath()%>/kingediter/file_manager_json.jsp',
			afterBlur: function(){this.sync();}
			};
                window.editor = K.create('#editor_id',options);
        });
		
		
</script>
</head>
<body>
<form name="form" action="" method="post" >
<div class=formzone>
<DIV class=searchzone>

<TABLE height=30 cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD height=30>攻略添加</TD>
    <TD align=right colSpan=2>&nbsp;</TD>
  </TR></TBODY></TABLE></DIV>
<div class=tablezone>
<div class=noticediv id=notice></div>
<TABLE cellSpacing=0 cellPadding=2 width="100%" align=center border=0>
  <TBODY>

		<tr >
<td align=middle width=100 height=30>标题</td>
<td height=30><input type="text" class="input" style="FONT-SIZE: 12px; WIDTH: 300px" name="bt" value=""></td>
 </tr>
<tr >
<td align=middle width=100 height=30>内容</td>
<td height=30>

<textarea name="nr" cols="80" rows="5" id="editor_id"></textarea>
</td>
 </tr>
<tr >
<td align=middle width=100 height=30>图片</td>
<td height=30><input type="text" class="input" style="FONT-SIZE: 12px; WIDTH: 300px" name="tp" value=""><iframe id="ifr" name="ifr" width="400" height="40" frameborder="no" scrolling="no" src="fileupload.jsp?kname=tp"></iframe></td>
 </tr>
<tr >
<td align=middle width=100 height=30>介绍</td>
<td height=30>

<textarea name="js" cols="80" rows="5"></textarea>
</td>
 </tr>
<tr >
<td align=middle width=100 height=30>发布日期</td>
<td height=30><input type="text" class="input" style="FONT-SIZE: 12px; WIDTH: 300px" name="fbrq" value="
<%=StaticMethod.getStringDate()%>"></td>
 </tr>
<tr >
<td align=middle width=100 height=30>省份</td>
<td height=30>

<select name="sf">
<%
sql="select * from shengfen ";
rs=db.query(sql);
while(rs.next()){
%>

<option value="<%=rs.getString("sf")%>"><%=rs.getString("sf")%></option>
<% }%>
</select>
</td>

三、注意事项

1、管理员账号:admin密码:admin 数据库配置文件DBO.java

2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。

3、数据库文件名是jsplygl.sql ,系统名称lygl

4、系统首页地址:http://127.0.0.1:8080/lygl/shouye.jsp

四 系统实现

源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

相关推荐
圆山猫2 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
天桥下的卖艺者2 小时前
使用scitable包,两步生成逆概率删失权重(IPCW)
数据库·r语言
城管不管2 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
隔窗听雨眠2 小时前
AI原生数据库浪潮:国产数据库的架构重构与路径之争
数据库
IT小白杨2 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器
数据库小学妹3 小时前
数据库选型实战:从数据类型到TCO成本,五维决策框架+九款产品横评
数据库·信创·国产数据库·数据库选型·oracle迁移
豆瓣鸡3 小时前
算法日记 - Day3
java·开发语言·算法
萧瑟余晖3 小时前
Java深入解析篇九之NIO详解
java·网络·nio
The Chosen One9853 小时前
高进度算法模板速记(待完善)
java·前端·算法
神龙天舞20014 小时前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql