基于javaweb的旅游管理系统(java+jsp+javascript+servlet+struts+mysql)

基于javaweb的旅游管理系统(java+jsp+javascript+servlet+struts+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

20220819205457

20220819205458

20220819205459

20220819205501

20220819205502

20220819205503

基于javaweb+mysql的旅游管理系统(java+JSP+JavaScript+servlet+struts+Mysql)

项目介绍

本项目包含前后台,前台为普通用户登录,后台为管理员登录;

管理员角色包含以下功能:

管理员登陆,管理员管理,网站公告管理,酒店和旅行社管理,宾馆信息管理,用户信息管理,预定信息管理,留言管理,宾馆预定管理等功能。

用户角色包含以下功能: 用户注册,用户登陆,景点介绍,酒店信息查看,旅行社查看,留言板,宾馆预定,宾馆预订管理,个人中心管理等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;  5.数据库:MySql 5.7版本; 6.是否Maven项目:否;

技术栈

1.后端:servlet+struts 2.前端:JSP+CSS+JavaScript+jsp+mysql

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中util/DBO.java配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录 管理员账号/密码:admin/admin 用户账号/密码: user/123456

管理员控制层:

@Controller

@RequestMapping(“/manager”)

public class AdminController extends BaseController {

@Autowired

AdminService adminService;

@RequestMapping(“/adminList”)

public ModelAndView adminList(PageParam pageParam, @RequestParam(value = “query”, required = false) String query) {

ModelAndView mv = this.getModeAndView();

if(pageParam.getPageNumber()<1){

pageParam =new PageParam();

long count = 0;

try {

count = adminService.count();

} catch (Exception e) {

e.printStackTrace();

pageParam.setCount(count);

if(count<=10){

pageParam.setSize(1);

}else{

pageParam.setSize(count%10==0?count/10:count/10+1);

pageParam.setPageNumber(1);

pageParam.setPageSize(10);

List list = adminService.findByPage(pageParam.getPageNumber(),pageParam.getPageSize(), query);

mv.addObject(“pageData”, list);

if (Tools.notEmpty(query)) {

mv.addObject(“query”, query);

pageParam.setCount(list.size());

if (list.size() > pageParam.getPageSize()) {

pageParam.setSize(list.size() / pageParam.getPageSize());

} else {

pageParam.setSize(1);

mv.addObject(“pageParam”,pageParam);

mv.setViewName(“admin/adminList”);

return mv;

@RequestMapping(“/adminAdd”)

public ModelAndView adminAdd(){

ModelAndView mv = this.getModeAndView();

mv.addObject(“entity”,new Admin());

mv.setViewName(“admin/adminEdit”);

return mv;

@RequestMapping(“/adminView”)

public ModelAndView adminView(String id){

ModelAndView mv = this.getModeAndView();

try {

mv.addObject(“entity”,adminService.findById(id));

}catch (Exception e){

e.printStackTrace();

mv.setViewName(“admin/adminView”);

return mv;

@RequestMapping(“/adminEdit”)

public ModelAndView adminEdit(String id){

ModelAndView mv = this.getModeAndView();

try {

mv.addObject(“entity”,adminService.findById(id));

}catch (Exception e){

e.printStackTrace();

mv.setViewName(“admin/adminEdit”);

return mv;

@RequestMapping(“/adminSave”)

public ModelAndView adminSave(HttpServletRequest request, String id){

ModelAndView mv = this.getModeAndView();

Admin entity = null;

try {

if(Tools.notEmpty(id)){

entity = adminService.findById(id);

}else{

entity = new Admin();

this.bindValidateRequestEntity(request,entity);

if (Tools.isEmpty(entity.getId())){

Admin object = adminService.findByUserName(entity.getUserName());

if (object != null) {

mv.addObject(“message”,“用户名已存在!”);

mv.addObject(“entity”,entity);

mv.setViewName(“admin/adminEdit”);

return mv;

entity.setId(Tools.getUUID());

adminService.save(entity);

}else{

adminService.update(entity);

} catch (Exception e) {

e.printStackTrace();

mv.addObject(“pageData”, adminService.findByPage(1, 10,null));

PageParam pageParam =new PageParam();

long count = 0;

try {

count = adminService.count();

} catch (Exception e) {

e.printStackTrace();

pageParam.setCount(count);

if(count<=10){

pageParam.setSize(1);

}else{

pageParam.setSize(count%10==0?count/10:count/10+1);

pageParam.setPageNumber(1);

pageParam.setPageSize(10);

mv.addObject(“pageParam”,pageParam);

mv.setViewName(“admin/adminList”);

return mv;

@RequestMapping(“/adminDelete”)

public String adminDelete(String id){

if(Tools.notEmpty(id)){

try {

adminService.deleteByid(id);

}catch (Exception e){

e.printStackTrace();

return REDIRECT+“/manager/adminList”;

用户管理控制层:

@Controller

@RequestMapping(“/manager”)

public class UserController extends BaseController {

@Autowired

UserService userService;

@RequestMapping(“/userList”)

public ModelAndView userList(PageParam pageParam, @RequestParam(value = “query”, required = false) String query) {

ModelAndView mv = this.getModeAndView();

if(pageParam.getPageNumber()<1){

pageParam =new PageParam();

long count = 0;

try {

count = userService.count();

} catch (Exception e) {

e.printStackTrace();

pageParam.setCount(count);

if(count<=10){

pageParam.setSize(1);

}else{

pageParam.setSize(count%10==0?count/10:count/10+1);

pageParam.setPageNumber(1);

pageParam.setPageSize(10);

List list = userService.findByPage(pageParam.getPageNumber(),pageParam.getPageSize(), query);

mv.addObject(“pageData”, list);

if (Tools.notEmpty(query)) {

mv.addObject(“query”, query);

pageParam.setCount(list.size());

if (list.size() > pageParam.getPageSize()) {

pageParam.setSize(list.size() / pageParam.getPageSize());

} else {

pageParam.setSize(1);

mv.addObject(“pageParam”,pageParam);

mv.setViewName(“user/allUsers”);

return mv;

@RequestMapping(“/userAdd”)

public ModelAndView userAdd(){

ModelAndView mv = this.getModeAndView();

mv.addObject(“entity”,new User());

mv.setViewName(“user/userEdit”);

return mv;

@RequestMapping(“/userView”)

public ModelAndView userView(String id){

ModelAndView mv = this.getModeAndView();

try {

mv.addObject(“entity”,userService.findById(id));

}catch (Exception e){

e.printStackTrace();

mv.setViewName(“user/userView”);

return mv;

@RequestMapping(“/userEdit”)

public ModelAndView userEdit(String id){

ModelAndView mv = this.getModeAndView();

try {

mv.addObject(“entity”,userService.findById(id));

}catch (Exception e){

e.printStackTrace();

mv.setViewName(“user/userEdit”);

return mv;

@RequestMapping(“/userSave”)

public ModelAndView userSave(HttpServletRequest request, String id, RedirectAttributes redirectAttributes){

ModelAndView mv = this.getModeAndView();

User entity = null;

try {

if(Tools.notEmpty(id)){

entity = userService.findById(id);

}else{

entity = new User();

this.bindValidateRequestEntity(request,entity);

if (Tools.isEmpty(entity.getId())){

User object = userService.findByUserName(entity.getUserName());

if (object != null) {

mv.addObject(“message”,“用户名已存在!”);

mv.addObject(“entity”,entity);

mv.setViewName(“user/userEdit”);

return mv;

entity.setId(Tools.getUUID());

userService.save(entity);

}else{

userService.update(entity);

} catch (Exception e) {

e.printStackTrace();

mv.addObject(“pageData”, userService.findByPage(1, 10,null));

PageParam pageParam =new PageParam();

long count = 0;

try {

count = userService.count();

} catch (Exception e) {

e.printStackTrace();

pageParam.setCount(count);

if(count<=10){

pageParam.setSize(1);

}else{

pageParam.setSize(count%10==0?count/10:count/10+1);

pageParam.setPageNumber(1);

pageParam.setPageSize(10);

mv.addObject(“pageParam”,pageParam);

mv.setViewName(“user/allUsers”);

return mv;

@RequestMapping(“/userDelete”)

public String userDelete(String id){

if(Tools.notEmpty(id)){

try {

userService.deleteByid(id);

}catch (Exception e){

e.printStackTrace();

return REDIRECT+“/manager/userList”;

登录管理控制层:

@Controller

public class LoginController extends BaseController {

@Autowired

AdminService adminService;

@RequestMapping(“/login”)

public String login(HttpServletRequest request){

Object user = request.getSession().getAttribute(“admin”);

if (user != null) {

return REDIRECT+“/manager/index”;

return “login”;

@RequestMapping(“/loging”)

public String loging(String userName,String password,RedirectAttributes redirectAttributes,HttpServletRequest request){

if (Tools.isEmpty(userName)||Tools.isEmpty(password)){

redirectAttributes.addFlashAttribute(“message”,“用户名密码不得为空!”);

return REDIRECT+“/login”;

try {

Admin admin = adminService.login(userName, password);

if (Tools.isEmpty(admin)){

redirectAttributes.addFlashAttribute(“message”,“用户名不存在或密码错误!”);

return REDIRECT+“/login”;

}else{

if (admin.getState() == 1) {

request.getSession().setAttribute(“admin”, admin);

return REDIRECT+“/manager/index”;

} else {

redirectAttributes.addFlashAttribute(“message”,“账户已被停用!”);

return REDIRECT+“/login”;

} catch (Exception e) {

e.printStackTrace();

return REDIRECT+“/login”;

@RequestMapping(“/logout”)

public String logout(HttpServletRequest request){

Object user = request.getSession().getAttribute(“admin”);

if (user != null) {

request.getSession().removeAttribute(“admin”);

return “/login”;


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值