JavaWeb项目——旅游门户网站及后台管理系统
目录
前言
1. 项目简介
1.1 项目说明
1.2 项目内容
2. 部分重点代码展示
3. 部分成果展示
3.1 旅游门户网
3.2 后台管理系统
前言
经过一段时间的学习,我已经掌握了web相关的基础知识,俗话说“光说不练假把式”,所以博主在学完web阶段基础知识后,独立完成了一个旅游门户网及后台管理系统。下面就给大家分享介绍下这个web项目。
1. 项目简介
1.1 项目说明
随着计算机及网络技术的飞速发展,全民经济水平的提高,为丰富业余生活,各种各样的娱乐活动层出不穷,越来越多的人会选择以旅游的方式来提升工作生活的品质,而旅游网为大众提供了舒适、便捷的旅行路线,并提供酒店预订服务,为“驴友们” 节省了大把的旅游规划时间,真正做到说走就走的旅行。
1.2 项目内容
旅游网共分为旅游门户网以及后台管理系统,功能模块如下:
旅游门户网:
后台管理系统:
2. 部分重点代码展示
旅游门户网酒店相关功能的Servlet
package cn.itcast.travel.web.servlet;import cn.itcast.travel.domain.*;
import cn.itcast.travel.service.HotelService;
import cn.itcast.travel.service.ReserveService;
import cn.itcast.travel.service.impl.HotelServiceImpl;
import cn.itcast.travel.service.impl.ReserveServiceImpl;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;@WebServlet("/hotel/*")
public class HotelServlet extends BaseServlet {private final HotelService hotelService = new HotelServiceImpl();private final ReserveService reserveService = new ReserveServiceImpl();public void pageQuery(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.接受参数String currentPageStr = request.getParameter("currentPage");String pageSizeStr = request.getParameter("pageSize");String cidStr = request.getParameter("cid");//接受rname 线路名称String hname = request.getParameter("hname");hname = new String(hname.getBytes("iso-8859-1"), "utf-8");int cid = 0;//类别id//2.处理参数if (cidStr != null && cidStr.length() > 0 && !"null".equals(cidStr)) {cid = Integer.parseInt(cidStr);}int currentPage = 0;//当前页码,如果不传递,则默认为第一页if (currentPageStr != null && currentPageStr.length() > 0) {currentPage = Integer.parseInt(currentPageStr);} else {currentPage = 1;}int pageSize = 0;//每页显示条数,如果不传递,默认每页显示5条记录if (pageSizeStr != null && pageSizeStr.length() > 0) {pageSize = Integer.parseInt(pageSizeStr);} else {pageSize = 5;}//3. 调用service查询PageBean对象PageBean<Hotel> pb = hotelService.pageQuery(cid, currentPage, pageSize, hname);//4. 将pageBean对象序列化为json,返回writeValue(pb, response);}public void findOne(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.接收idString hid = request.getParameter("hid");//2.调用service查询route对象Hotel hotel = hotelService.findOne(hid);//3.转为json写回客户端writeValue(hotel, response);}/*** 判断当前登录用户是否预订过该酒店** @param request* @param response* @throws ServletException* @throws IOException*/public void isReserve(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.获取线路idString hid = request.getParameter("hid");//2.获取当前登录用户User user = (User) request.getSession().getAttribute("user");int uid; //用户idif (user == null) {//用户尚未登录uid = 0;} else {//用户已经登录uid = user.getUid();}//3.调用FavoriteService查询是否收藏boolean flag = reserveService.isReserve(hid, uid);//4.写回客户端writeValue(flag, response);}/*** 添加预订** @param request* @param response* @throws ServletException* @throws IOException*/public void addReserve(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//获取线路ridString hid = request.getParameter("hid");//2.获取当前登录用户User user = (User) request.getSession().getAttribute("user");int uid; //用户idif (user == null) {//用户尚未登录return;} else {//用户已经登录uid = user.getUid();}//调用service添加reserveService.add(hid, uid);}/*** 分页查询当前登录用户预订的所有酒店** @param request* @param response* @throws ServletException* @throws IOException*/public void findOrder(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//接收参数String currentPageStr = request.getParameter("currentPage");String pageSizeStr = request.getParameter("pageSize");//获取当前登录用户User user = (User) request.getSession().getAttribute("user");int uid; //用户idif (user == null) {//用户尚未登录return;} else {//用户已经登录uid = user.getUid();}//处理参数int currentPage = 1; //当前页码,如果不传递,则默认为第一页if (currentPageStr != null && currentPageStr.length() > 0) {currentPage = Integer.parseInt(currentPageStr);}int pageSize = 9; //每页显示条数,如果不传递,默认每页显示9条记录if (pageSizeStr != null && pageSizeStr.length() > 0) {pageSize = Integer.parseInt(pageSizeStr);}//调用service查询所有收藏路线PageBean<List<Object>> pb = reserveService.findAll(uid, currentPage, pageSize);//将pageBean对象序列化为json,写回客户端writeValue(pb, response);}/*** 支付功能** @param request* @param response* @throws ServletException* @throws IOException*/public void pay(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//获取订单号String code = request.getParameter("code");reserveService.pay(code);}
}
后台酒店管理模块的Servlet
package web.servlet;import domain.HotelBean;
import domain.ResultInfo;
import domain.Route;
import org.apache.commons.beanutils.BeanUtils;
import service.Impl.HotelServiceImpl;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;@WebServlet("/hotel/*")
public class HotelServlet extends BaseServlet {private service.HotelService HotelService = new HotelServiceImpl();private ResultInfo info = new ResultInfo();/*** 酒店分页查询** @param request* @param response* @throws ServletException* @throws IOException*/public void hotelPageQuery(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.接受参数String currentPageStr = request.getParameter("currentPage");String pageSizeStr = request.getParameter("pageSize");String cidStr = request.getParameter("cid");int cid = 0;//类别id//2.处理参数if (cidStr != null && cidStr.length() > 0 && !"null".equals(cidStr)) {cid = Integer.parseInt(cidStr);}int currentPage = 0;//当前页码,如果不传递,则默认为第一页if (currentPageStr != null && currentPageStr.length() > 0) {currentPage = Integer.parseInt(currentPageStr);} else {currentPage = 1;}int pageSize = 0;//每页显示条数,如果不传递,默认每页显示5条记录if (pageSizeStr != null && pageSizeStr.length() > 0) {pageSize = Integer.parseInt(pageSizeStr);} else {pageSize = 5;}//接受rname 线路名称String rname = request.getParameter("rname");if (rname != null || rname.length() > 0) {rname = new String(rname.getBytes("iso-8859-1"), "utf-8");}//3. 调用service查询PageBean对象HotelBean<Route> pb = HotelService.pageQuery(cid, currentPage, pageSize, rname);//4. 将pageBean对象序列化为json,返回writeValue(pb, response);}/*** 添加酒店** @param request* @param response* @throws ServletException* @throws IOException*/public void addhotel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.获取数据request.setCharacterEncoding("UTF-8");Map<String, String[]> map = request.getParameterMap();//2.封装对象Route route = new Route();try {BeanUtils.populate(route, map);} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}Boolean flag = HotelService.addHotel(route);if (flag) {info.setFlag(true);info.setErrorMsg("添加成功");} else {info.setFlag(false);info.setErrorMsg("添加失败");}writeValue(info, response);}/*** 修改酒店信息** @param request* @param response* @throws ServletException* @throws IOException*/public void updatehotel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.获取数据request.setCharacterEncoding("UTF-8");Map<String, String[]> map = request.getParameterMap();//2.封装对象Route route = new Route();try {BeanUtils.populate(route, map);} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}Boolean flag = HotelService.updateHotel(route);if (flag) {info.setFlag(true);info.setErrorMsg("修改成功");} else {info.setFlag(false);info.setErrorMsg("修改失败");}writeValue(info, response);}public void findonehotel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("UTF-8");String rid = request.getParameter("rid");Route route = HotelService.findonehotelrid(rid);writeValue(route, response);}/*** 删除酒店信息** @param request* @param response* @throws ServletException* @throws IOException*/public void deleteThehotel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String rid = request.getParameter("rid");HotelService.deletehotel(rid);}
}
3. 部分成果展示
3.1 旅游门户网
酒店展示列表
酒店详情信息
用户酒店订单信息
3.2 后台管理系统
用户管理
酒店管理
酒店订单管理
做完这个项目,web阶段的学习就告一段落了,接下来博主就要开始学习框架了。大家通过这个项目可以看出,其实这个项目的功能做的非常简单,但是我们的代码量已经非常之多了,开发效率较低。框架就是对一些重复性、常用的代码的封装,它大大的提升了程序员的开发效率。
JavaWeb项目——旅游门户网站及后台管理系统相关推荐
- 基于 jsp+servlet+mysql 开发旅游推介网站和后台管理系统(maven项目)
你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,或者没有积分想获取项目,欢迎指教: 企鹅:869192208 文章目录 一. 开发背景 二. 需求分析 三.开发环境 四.运行效 ...
- 【收藏】JavaWeb项目详解:水果库存后台管理系统(servlet+thymeleaf+mysql)
目录 实现功能 使用开发工具和技术 开发工具 相关依赖 数据库表格设计 创建数据库 创建表格 插入数据 代码部署 获取代码 打开项目 添加Artifacts文件 设置Tomcat信息 引入依赖 运行项 ...
- 基于SSM框架的旅游门户网站
下载地址:https://download.csdn.net/download/a13689028602/20681462 项目介绍 基于SSM框架的旅游门户网站 系统说明 项目背景 旅游业作为一个快 ...
- DoNet开源项目-基于jQuery EasyUI的后台管理系统
本文转载于 石佳劼的博客,有问题请到原文咨询,原文连接. 博主在业余时间开发了一个简单的后台管理系统,其中用到了 jQuery EasyUI 框架,上次分享过系统布局,参考文章:jQuery Easy ...
- 把握Z世代游客特点,最新旅游门户网站建设方案
近两年,"Z世代"这个词频繁出现在旅游人的视野里. 究竟什么是Z世代?为什么会有"得Z世代者得天下"的说法? 所谓"Z世代",通常指1995 ...
- 旅游管理网站前台+后台
这个网站使用JSP+Servlet,虽说是JSP+Servlet但是我看了看,大部分的代码逻辑都是写在JSP里面的.. 这个适用于毕业设计的,简单改一改可以适用于很多网站,可以改后台下拉列表的类型,把 ...
- 码云上面优秀的java项目_秒建一个后台管理系统?用这5个开源免费的Java项目就够了...
以下推荐项目都是码云上的优质项目,并且都是项目快速开发脚手架,代码质量什么的无法保证能有多好,毕竟很多也是个人开发,或多或少也有个人色彩影响. 不过既然开源出来,这么多人参与,一般情况下项目整体质量可 ...
- Vue项目实战之电商后台管理系统(一) 用户登录模块
目录 一.项目概述 二.项目初始化 2.1 前端项目初始化步骤 2.2 后台项目的环境安装配置 三.用户登录/登出功能实现 3.1 登录功能概述 3.1.1 登录状态保持 3.1.2 登录逻辑: 3. ...
- Java-Web机试练习题一、后台管理系统——管理员管理模块
题目:后台管理系统--管理员管理模块 一. 语言和环境 1. 实现语言:JAVA 语言. 2. 环境要求:MyEclipse/Eclipse + Tomcat + MySql. 3. 使用技术:Jsp ...
最新文章
- 获得客户端的时区(get client-side time zone by JS)
- ibatis annotations 注解方式返回刚插入的自增长主键ID的值--转
- 我弥留之际 - 许立志 (珍藏)
- [LNMP]——LNMP环境配置
- 字符设备驱动基础篇1——简单的驱动源码分析
- NB企业级微服务框架
- 问题解决:java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date
- spring事务和mysql的隔离级别
- 分享一个串口调试工具
- win10+cuda10.0.130+cudnn7.5.1+tensorflow-gpu 1.13.1+anaconda3+keras+pycharm2018
- system verilog中的参数传递——ref,input,output
- php如何自动阅卷,智能评卷系统 自动阅卷软件
- LCD1602芯片的使用——简单易懂
- linux e1000内核源码,linux下e1000网卡奇怪现象
- 隐马尔科夫模型(HMM)
- codecademy 命令行手册(中英文)
- SpringBoot 整合 Elasticsearch
- sql集合.联合查询
- Wireshark的作用
- 计算机测试ppt,计算机测试重点.ppt