Java基于JSP旅游网站系统的设计于实现

news2024/12/25 12:45:05

我国的旅游事业目前正处于一个科学技术日新月异飞速向前发展的环境中。信息技术和通信技术以令人目不暇接的速度发展,尤其是互联网络的广泛流行,使得各种服务信息已近乎透明,且个性突出的游客们已不再满足于死板的标准化的旅游项目,要求量身定做,旅游行业内的竞争日趋激烈。这就要求旅游景点必须建立高效的旅游信息管理系统,以迅速、准确地捕捉客户要求,并加以高效回应,使游客满意,才能摆脱被挤出的危险并在业内脱颖而出

请添加图片描述
旅游业具有“无烟产业”和“永远的朝阳产业”的美称,它已经和石油业、汽车业并列为世界三大产业;根据WTTC的统计,它每年产出4.7万亿美金的收入,直接或间接地为2亿700万人提供了就业机会,并支持着数以万计的企业的发展。
改革开放以来,我国的旅游业有了非常迅速的发展,但是比较而言,我国国内旅游业发展的广度深度都远远不能适应经济发展和人民生活水平提高的需要。随着市场经济的发展和人民收入水平的进一步提高,人民对旅游消费的需求将进一步上升,国内旅游业在国民经济中的地位和作用越来越重要。

请添加图片描述
21世纪全球信息电子化的潮流势不可挡,计算机渗入了社会生活中的各个领域,它的广泛应用给经济和社会生活带来深刻的变革。信息技术不仅改变了人们的工作和生活方式,对人们工作和生活产生越来越深刻的影响,也在改变着信息的获取、处理、交流和应用能力。改革开放以来,我国的旅游业有了非常迅速的发展,但是比较而言,我国国内旅游业发展的广度深度都远远不能适应经济发展和人民生活水平提高的需要。随着市场经济的发展和人民收入水平的进一步提高,人民对旅游消费的需求将进一步上升,国内旅游业在国民经济中的地位和作用越来越重要,但是地方旅游产业基础薄弱,管理手段滞后,信息化程度低,企业效益较差,旅游行政管理部门存在管理方式落后,缺乏信息化管理手段,信息沟通渠道不通畅等问题,所以旅游业必须转变观念,创新思维,加强对旅游部门信息资源的整合、统一管理,才能使行业更加合理、高效地运转。
请添加图片描述
旅游景点个性化推荐系统分为前台和后台两部分,前台部分主要是让用户查询景点和预定门票等功能使用的,后台部分主要是给管理人员管理系统使用的
前台部分功能

  1. 注册登录,用户通过注册登录可以在线预订景点门票
  2. 查看旅游景点,查看不同景区的景点信息
  3. 门票预订, 预订自己喜欢的景点信息
  4. 在线评论,对自己出行中的景点信息进行评论,方便他人参考
  5. 交通工具查询,根据要去的景点查询具体的交通工具
  6. 个人信息管理,管理自己的个人信息
  7. 个人订单管理,管理自己预定的景点门票信息
    后台部分功能
  8. 管理员管理,管理本系统的管理员信息
  9. 旅游景点管理,管理本系统内的旅游景点信息,方便游客查询
  10. 门票预订管理,管理用户一定的景点门票信息
  11. 用户信息管理,管理前台的注册用户信息
  12. 交通工具管理,发布交通工具信息,方便用户出行
  13. 系统设置,对系统各项参数进行设置

请添加图片描述
当今社会迅速发展,人们也逐渐进入快节奏的生活方式,在生活和工作的双重压力下,解压和丰富精神生活就变得尤为重要,每逢节假日或者周末人们都会选择去旅游来缓解生活和工作带来的疲惫感。伴随而来的是,每当这时,景点的人数也会暴增,本想可以观赏景色来愉悦心情,却因旅游人数过多造成交通和观景拥挤,这对人们来讲,增加了很多烦恼,也破环了旅游的心情,因此,如何解决这一问题变得尤为重要。
本次设计的旅游景点管理系统,可以实现网上查询,预售门票机制,可以让人们清楚的知道当天旅游的人数,并且景点的门票有一定的数量限制,人们可以提前预订,这样各旅游景点才能有一个合理地统筹安排,也让更多的旅客有一个愉快的心情。

请添加图片描述

package com.controller;

import java.io.File;
import java.io.IOException;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.PrintWriter;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import com.entity.Allusers;
//import com.chengxusheji.po.News;
import com.server.AllusersServer;
import com.util.PageBean;
import net.sf.json.JSONObject;

@Controller
public class AllusersController {
	@Resource
	private AllusersServer allusersService;


//	
   @RequestMapping("showAllusers.do")
   public String showAllusers(int id,ModelMap map,HttpSession session){
	 /*  Map<String,Object> bmap=new HashMap<String,Object>();
	   bmap.put("uid", id);*/
	  // map.put("blist", allusersService.getAll(bmap));
	   map.put("allusers", allusersService.getById(id));
	   return "read";
   }
   
	@RequestMapping("addAllusers.do")
	public String addAllusers(HttpServletRequest request,Allusers allusers,HttpSession session){
		Timestamp time=new Timestamp(System.currentTimeMillis());
		//Users u=(Users)session.getAttribute("user");
		/*if(u==null||u.equals("")){
			return "redirect:showIndex.do";
		}else{*/
			//bbs.setUid(u.getId());
			/*bbs.setPubtime(time.toString());
			bbs.setIsdel("1");*/
		    allusers.setAddtime(time.toString().substring(0, 19));
			allusersService.add(allusers);
			return "redirect:allusersList.do";
		/*}*/
		
		
	}
 
//	处理编辑
	@RequestMapping("doUpdateAllusers.do")
	public String doUpdateAllusers(int id,ModelMap map,Allusers allusers){
		allusers=allusersService.getById(id);
		map.put("allusers", allusers);
		return "allusers_updt";
	}
//	
	@RequestMapping("updateAllusers.do")
	public String updateAllusers(int id,ModelMap map,Allusers allusers){
		allusersService.update(allusers);
		return "redirect:allusersList.do";
	}
//	所有List
//	@RequestMapping("allusersList.do")
//	public String allusersList(ModelMap map,HttpSession session){
//		map.put("list", allusersService.getAll(null));
//		map.put("clist", allusersService.getAll(null));
//		return "allusers";
//	}
//	分页查询
	@RequestMapping("allusersList.do")
	public String goodList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session,Allusers allusers, String username, String pwd, String cx){
		/*if(session.getAttribute("user")==null){
			return "login";
		}*/
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page), 15);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", 15);
		Map<String, Object> bmap=new HashMap<String, Object>();
		Map<String,Object> cmap=new HashMap<String,Object>();
		/*pmap.put("uid",  ((Users)session.getAttribute("user")).getId());
		bmap.put("uid", ((Users)session.getAttribute("user")).getId());*/
		if(username==null||username.equals("")){pmap.put("username", null);cmap.put("username", null);}else{pmap.put("username", username);cmap.put("username", username);}
		if(pwd==null||pwd.equals("")){pmap.put("pwd", null);cmap.put("pwd", null);}else{pmap.put("pwd", pwd);cmap.put("pwd", pwd);}
		if(cx==null||cx.equals("")){pmap.put("cx", null);cmap.put("cx", null);}else{pmap.put("cx", cx);cmap.put("cx", cx);}
		
		int total=allusersService.getCount(bmap);
		pageBean.setTotal(total);
		List<Allusers> list=allusersService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 1);
		return "allusers_list";
	}
//   分页模糊查询
	@RequestMapping("vagueAllusersList.do")
	public String vagueAllusersList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session){
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page),PageBean.PAGESIZE);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", pageBean.getPageSize());
		Map<String, Object> bmap=new HashMap<String, Object>();
		/*pmap.put("uid",  ((Users)session.getAttribute("user")).getId());
		bmap.put("uid",  ((Users)session.getAttribute("user")).getId());*/
		int total=allusersService.getCount(bmap);
		pageBean.setTotal(total);
		List<Allusers> list=allusersService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 2);
		return "queryallusers";
	}
	@RequestMapping("deleteAllusers.do")
	public String deleteAllusers(int id){
		allusersService.delete(id);
		return "redirect:allusersList.do";
	}
	
	@RequestMapping("quchongAllusers.do")
	public void quchongAllusers(Allusers allusers,HttpServletResponse response){
		   Map<String,Object> map=new HashMap<String,Object>();
		   map.put("username", allusers.getUsername());
		   System.out.println("username==="+allusers.getUsername());
		   System.out.println("username222==="+allusersService.quchongAllusers(map));
		   JSONObject obj=new JSONObject();
		   if(allusersService.quchongAllusers(map)!=null){
				 obj.put("info", "ng");
			   }else{
				   obj.put("info", "username可以用!");
				  
			   }
		   response.setContentType("text/html;charset=utf-8");
		   PrintWriter out=null;
		   try {
			out=response.getWriter();
			out.print(obj);
			out.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			out.close();
		}
	}
	
	@RequestMapping("Alluserslogin.do")
	public String checkAllusersLogin(Allusers allusers, HttpSession session) {
		Map<String,Object> u=new HashMap<String,Object>();
		System.out.println("name===" + allusers.getUsername());
		u.put("username",allusers.getUsername());
		//u.put("utype", "用户");
		//Md5.MD5HexEncode(user.getPassword())
		u.put("pwd",allusers.getPwd());
		allusers = allusersService.allusersLogin(u);
		if (allusers != null) {
			session.setAttribute("username", allusers);
			System.out.println("username=" + allusers);
			session.removeAttribute("suc");
			return "redirect:index.do";
		} else {
			System.out.println("usernafwfwwme=");
			session.setAttribute("suc", "登录失败!用户名或密码错误!");
			return "login";
		}

	}
}

目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66952.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript-T2

JavaScript-T2 前言 本次主要讲解的知识点是&#xff1a; JavaScript自定义函数 JavaScript系统函数 JavaScript 事件 JavaScript 的常用事件 JavaScript自定义函数 函数就是为了完成程序中的某些特定功能而进行专门定义的一段程序代码 函数包括自定义函数和系统函数 使用函数…

Akka 学习(二)第一个入门程序

目录一 sbt 介绍1.1 Sbt1.2 下载安装1.3 sbt的特点1.4 Idea 配置Sbt开发工具二 构建定义2.1 指定版本2.2 build.sbt 设置三 代码实现3.1 Java版本3.2 Scala版本3.3 对比一 sbt 介绍 1.1 Sbt sbt 是为 Scala 和 Java 项目构建的。它是93.6%的 Scala 开发人员的首选构建工具&am…

2000-2021年各省GDP包括名义GDP、实际GDP、GDP平减指数(以2000年为基期)

全国31省市GDP平减指数(2000-2021年)及计算步骤 1、时间&#xff1a;2000-2021年 2、范围&#xff1a;31省 3、数据包括&#xff1a;2000-2021年各省市GDP平减指数&#xff0c;以2000年为基期&#xff0c;包括数据来源、计算方法、公式等。 4、计算步骤&#xff1a; 第一步…

物联卡采购注意要点有哪些

在这个万物互联的时代&#xff0c;针对于企业设备联网的物联卡就显得格外重要了&#xff0c;而共享单车&#xff0c;移动支付&#xff0c;智慧城市&#xff0c;自动售卖机等企业采购物联卡会面临着各种问题&#xff0c;低价陷阱&#xff0c;流量虚假&#xff0c;管理混乱&#…

sealos issue #2157 debug 思路流程记录

sealos issues#2157 debug思路流程前言分析issue剖析源码解决方案总结前言 这个项目蛮有意思的&#xff0c;sealos 是以 kubernetes 为内核的云操作系统发行版。 boss上看到 -> 沟通 -> 解决某个issue直接offer -> 舒服 本文记录解决 issue 的思路 分析issue BUG…

Linux系统常用的工具

1.1 Vscode编辑器 从官网下载 ubuntu 版本&#xff0c;官网地址&#xff1a;https://code.visualstudio.com/。下载xxx.deb的包。 或者使用指令下载&#xff1a;wget https://az764295.vo.msecnd.net/stable/6261075646f055b99068d3688932416f2346dd3b/code_1.73.1-1667967334…

基于Intel Lake-UP3平台为半导体与集成电路测试设备提供优异计算性能

为什么半导体和IC测试设备需要升级&#xff1f; 随着众多新的高性能应用的需求不断增加&#xff0c;信迈旨在为半导体集成电路测试设备领域的客户提供更好的方案。半导体和集成电路&#xff08;IC&#xff09;测试设备设计用于在一台测试机上同时对不同线路的数百个集成电路…

How Can We Know What Language Models Know?

Abstract 最近的工作通过让语言模型&#xff08;LM&#xff09;填补诸如“奥巴马是一个职业”之类的提示的空白&#xff0c;提出了一个有趣的结果&#xff0c;以检查语言模型&#xff08;LM&#xff09;中包含的知识。这些提示通常是手动创建的&#xff0c;而且很可能不是最佳…

Linux进程通信之进程信号

一、信号的概念&#xff1a; 信号机制是Linux最基本的通讯机制&#xff0c;它可以用来向一个或者多个进程发送异步事件信息&#xff0c;传送少量信息。信号是一个软件中断&#xff0c;并且是一个“软中断”&#xff08;只是告诉有这样一个信号&#xff0c;但这个信号具体如何进…

Redis6入门到实战------思维导图+章节目录

Redis学习大纲 思维导图 思维导图 Redis6入门到实战------1、NoSQL数据库简介 地址&#xff1a; Redis6入门到实战------2、Redis6概述和安装 地址&#xff1a; Redis6入门到实战------3、常用五大数据类型 地址&#xff1a; Redis6入门到实战------4、Redis6配置文件详解…

Stack Overflow 临时禁用 ChatGPT 生成内容,网友:人类和AI快打起来!

如果有一天我们查询到的「知识」真假难辨&#xff0c;那这就太可怕了。 要问最近 AI 圈哪个模型最火爆&#xff0c;你不得不把 OpenAI 推出的 ChatGPT 排在前面。自从发布以来&#xff0c;这个对话模型可谓是出尽风头&#xff0c;很多人更是对其产生了一百个新玩法&#xff0c;…

Linux系统移植四:Petalinux使用本地sstate-cache加速构建根文件系统

根文件系统简介 根文件系统 rootfs 是Linux内核启动以后挂载(mount)的第一个文件系统&#xff0c;然后从根文件系统中读取初始化脚本&#xff0c;比如rcS&#xff0c;inittab等 根文件系统和Linux内核是分开的&#xff0c;单独的Linux内核是没法正常工作的&#xff0c;必须要…

TPM零知识学习六 —— tpm模拟器安装

本文参考以下链接&#xff1a; TPM模拟器和TPM2-TSS安装_jianming21的博客-CSDN博客_tpm2-tss 可信平台模块TPM&#xff08;Trusted Platform Module&#xff09;介绍及tpm-tools安装使用_jinhuazhe2013的博客-CSDN博客_tpm模块 1. 源码下载 运行以下命令下载源码&#xff1…

设计模式--观察者模式

文章目录前言一、未使用设计模式二、观察者模式1.定义2.组成三、应用场景四、优缺点优缺前言 甲人A&#xff08;产品经理&#xff09;&#xff1a;好啊&#xff0c;你小子&#xff0c;又被我逮到了&#xff0c;很闲是吧&#x1f607;&#xff0c;需求完成了吗&#xff1f; two…

MOSFET 和 IGBT 栅极驱动器电路的基本原理学习笔记(三)同步整流器驱动

同步整流器驱动 1.栅极电荷 2.dv/dt注意事项 MOSFET 同步整流器是接地基准开关的一个特例。这些器件与传统应用所使用的 N 沟道 MOSFET 相同&#xff0c;只是它们被应用到了电源的低电压输出而非整流器二极管中。 它们通常可在非常有限的漏源极电压摆幅下工作&#xff0c;因此…

redis活跃非活跃连接数统计及client list说明

概念说明 活跃连接是指当下正在执行命令的连接&#xff0c;非活跃当然是相对的。 在redis中判断当前连接是否活跃是通过 内置的client list 命令输出中的idle来判断 client list字段说明 (kfzops) [roottest-xxx-01-vm ]# redis-cli -h r-xxxxxxxxxxxx.redis.rds.aliyuncs.…

学生身份标签的识别与风控应用

当前的互联网借贷平台&#xff0c;国家已明确规定不允许向高校学生发放贷款&#xff0c;因此对于小贷、消金等金融机构&#xff0c;在信贷产品业务的风控体系中&#xff0c;有效判断申请用户是否为高校学生是一个非常重要的问题。针对高校学生身份的识别&#xff0c;虽然有多种…

机器学习、深度学习、自然语言处理学习 NLP-RoadMap-996station GitHub鉴赏官

推荐理由&#xff1a; 机器学习、深度学习、自然语言处理学习路线图 及 AI方向学习资源、工具 NLP-RoadMap 持续更新中。以下内容有错误或者不足&#xff0c;欢迎提Issue或者联系我讨论 整理不易&#xff0c;希望点个小星星 ​支持下呀&#xff01; 前言 数理基础 编程基础 机…

RE2:Simple and Effective Text Matching with Richer Alignment Features

原文链接&#xff1a;https://aclanthology.org/P19-1465.pdf 介绍 问题 作者认为之前文本匹配模型中序列对齐部分&#xff0c;过于复杂。只有单个inter-sequence alignment层的模型&#xff0c;常会引入外部信息&#xff08;例如语法特征&#xff09;作为额外输入&#xff0c;…

小游戏与H5游戏对比与梳理

H5游戏是运用了h5技术的响应式网站布局的游戏&#xff0c;它完全实现了网页游戏在手机移动端的无缝衔接。众所周知&#xff0c;H5游戏已盛行了多年&#xff0c;而如今&#xff0c;随着诸多小游戏的推出&#xff0c;小游戏爆款频出&#xff0c;从“跳一跳”到“羊了个羊”&#…