基于javaweb+mysql的ssm+maven在线旅游系统(java+jsp+ssm+spring+mysql+maven)

基于javaweb+mysql的ssm+maven在线旅游系统(java+jsp+ssm+spring+mysql+maven)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb+mysql的SSM+Maven在线旅游系统(java+jsp+ssm+spring+mysql+maven)

一、项目简述

功能:用户的登录注册,旅游景点的展示,旅游预订,收藏,购买,以及酒店住宿留言等等,后台管理员,订单管理,景点管理,留言管理,分类管理吗,以及系统管理等等。

二、项目运行

环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Idea2019(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等


/**
 * @Description: TODO(景点商家信息)
 */
@Controller
@RequestMapping("/sellers")
public class SellerController {

    @Autowired
    private ISellerService iSellerService;

    @Autowired
    private IUserService iUserService;

    @RequestMapping("/findBySid.do")
    @PreAuthorize("hasAnyAuthority('/sellers/findBySid.do')")
    public ModelAndView findBySid(Integer sid) throws Exception {
        ModelAndView mv = new ModelAndView();
        Seller seller = iSellerService.findBySid(sid);
        mv.addObject("sellerInfo",seller);
        List<User> list = iUserService.findAll(1,1000,"%%");
        mv.addObject("UList",list);
        mv.setViewName("seller-update");
        return mv;
    }

    @RequestMapping("/findUsers.do")
    @PreAuthorize("hasAnyAuthority('/sellers/findUsers.do')")
    public ModelAndView findUsers() throws Exception{
        List<User> list = iSellerService.findUsers();
        ModelAndView mv = new ModelAndView();
    }
}

/**
 * @Description: TODO(我的收藏)
 */
@WebServlet("/personal/*")
public class PersonalServlet extends BaseServlet {

    private IPersonalService personalService = new PersonalServiceImpl();

    /**
     * 根据分页查询我的收藏
     * @param request
     * @param response
     * @throws IOException
     */
    public void findFavoriteByPage(HttpServletRequest request, HttpServletResponse response) throws IOException{
        //1.获取参数
        String uidStr = request.getParameter("uid");
        String currentPageStr = request.getParameter("currentPage");
        String pageSizeStr = request.getParameter("pageSize");
        //2.处理参数
        int uid = 0;
        if (uidStr != null && uidStr.length() > 0 && !"null".equals(uidStr)){
            uid = Integer.parseInt(uidStr);
        }
        int currentPage = 1;//当前页码,如果不传递,则默认为第一页
        if(currentPageStr != null && currentPageStr.length() > 0){
            currentPage = Integer.parseInt(currentPageStr);
        }

        int pageSize = 8;//每页显示条数,如果不传递,默认每页显示5条记录
        if(pageSizeStr != null && pageSizeStr.length() > 0){
            pageSize = Integer.parseInt(pageSizeStr);
        }
        //3.调用service查询PageBean对象
        PageBean<Route> pb = personalService.pageQuery(uid, currentPage, pageSize);
        //4. 将pageBean对象序列化为json,返回
        writeValue(pb,response);
    }

    /**
    private IPersonalService personalService = new PersonalServiceImpl();

    /**
     * 根据分页查询我的收藏
     * @param request
     * @param response
     * @throws IOException
     */
    public void findFavoriteByPage(HttpServletRequest request, HttpServletResponse response) throws IOException{
        //1.获取参数
        String uidStr = request.getParameter("uid");
        String currentPageStr = request.getParameter("currentPage");
        String pageSizeStr = request.getParameter("pageSize");
        //2.处理参数
        int uid = 0;
        if (uidStr != null && uidStr.length() > 0 && !"null".equals(uidStr)){
            uid = Integer.parseInt(uidStr);
        }
        int currentPage = 1;//当前页码,如果不传递,则默认为第一页
        if(currentPageStr != null && currentPageStr.length() > 0){
            currentPage = Integer.parseInt(currentPageStr);
        }

        int pageSize = 8;//每页显示条数,如果不传递,默认每页显示5条记录
        if(pageSizeStr != null && pageSizeStr.length() > 0){
            pageSize = Integer.parseInt(pageSizeStr);
        }
        //3.调用service查询PageBean对象
        PageBean<Route> pb = personalService.pageQuery(uid, currentPage, pageSize);
        //4. 将pageBean对象序列化为json,返回
        writeValue(pb,response);
    }

    /**
     * 查询我的留言
     * @param request
     * @param response
     * @throws IOException
     */
    public void findMessageByPage(HttpServletRequest request, HttpServletResponse response) throws IOException{
        //1.获取参数
        String uidStr = request.getParameter("uid");
        String currentPageStr = request.getParameter("currentPage");
        String pageSizeStr = request.getParameter("pageSize");
        //2.处理参数

}

/**
 * @Description: TODO(酒店相关操作)
 */
@WebServlet("/hotel/*")
public class HotelServlet extends BaseServlet {

    private IHotelService hotelService = new HotelServiceImpl();

    /**
     * 分页查询酒店
     * @param request
     * @param response
     * @throws IOException
     */
    public void pageQuery(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //1.接受参数
        String currentPageStr = request.getParameter("currentPage");
        String pageSizeStr = request.getParameter("pageSize");

        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);

/**
 * @Description: TODO(注册、登录、退出)
 */
@WebServlet("/user/*")
public class UserServlet extends BaseServlet {
    //声明UserService业务对象
    private IUserService service = new UserServiceImpl();

    /**
     * 校验验证码
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    public boolean checkCodeMethod(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String check = request.getParameter("check");
        //从sesion中获取验证码
        HttpSession session = request.getSession();
        String checkcode_server = (String)session.getAttribute("CHECKCODE_SERVER");
        session.removeAttribute("CHECKCODE_SERVER");//为了保证验证码只能使用一次

        if(checkcode_server == null || !checkcode_server.equalsIgnoreCase(check)){
            ResultInfo info = new ResultInfo();
            //验证码错误
            if ("".equals(check)){
                info.setErrorMsg("验证码不能为空");
            }else{
                info.setErrorMsg("验证码错误");
            }
            info.setFlag(false);
            //将info对象序列化为json,响应数据
            response.setContentType("application/json;charset=utf-8");
            String json = writeValueAsString(info);
            response.getWriter().write(json);
            return false;
        }
        return true;
    }
    /**
     * 注册功能

/**
 * @Description: TODO(用户操作)
 */
@Controller
@RequestMapping("/users")
public class UserController {

    @Autowired
    private IUserService userService;

    //给用户添加角色
    @RequestMapping("/addRoleToUser.do")
    @PreAuthorize("hasAnyAuthority('/users/addRoleToUser.do')")
    public String addRoleToUser(@RequestParam(name = "userId", required = true) Integer userId, @RequestParam(name = "ids", required = true) int[] roleIds) throws Exception {
        userService.addRoleToUser(userId, roleIds);
        return "redirect:findAll.do";
    }

    //查询用户以及用户可以添加的角色
    @RequestMapping("/findUserByIdAndAllRole.do")
    @PreAuthorize("hasAnyAuthority('/users/findUserByIdAndAllRole.do')")
    public ModelAndView findUserByIdAndAllRole(@RequestParam(name = "id", required = true) Integer uid) throws Exception {
        ModelAndView mv = new ModelAndView();
        //1.根据用户id查询用户
        User user = userService.findByUid(uid);
        //2.根据用户id查询可以添加的角色
        List<Role> otherRoles = userService.findOtherRoles(uid);
        mv.addObject("user", user);
        mv.addObject("roleList", otherRoles);
    public ModelAndView findAll(
            @RequestParam(name = "page",defaultValue = "1")Integer page,
            @RequestParam(name = "size",defaultValue = "10")Integer size,
            @RequestParam(name = "search",defaultValue = "")String search
    ) throws Exception{
        ModelAndView mv = new ModelAndView();
        List<Hotel> list = hotelService.findAll(page,size,"%"+search+"%");
        PageInfo pageInfo = new PageInfo(list);
        mv.addObject("pageInfo",pageInfo);
        mv.setViewName("hotel-list");
        return mv;
    }
}

/**
 * @Description: TODO(用户操作)
 */
@Controller
@RequestMapping("/users")
public class UserController {

    @Autowired
    private IUserService userService;

    //给用户添加角色
    @RequestMapping("/addRoleToUser.do")
    @PreAuthorize("hasAnyAuthority('/users/addRoleToUser.do')")
    public String addRoleToUser(@RequestParam(name = "userId", required = true) Integer userId, @RequestParam(name = "ids", required = true) int[] roleIds) throws Exception {
        userService.addRoleToUser(userId, roleIds);
        return "redirect:findAll.do";
    }

    //查询用户以及用户可以添加的角色
    @RequestMapping("/findUserByIdAndAllRole.do")
    @PreAuthorize("hasAnyAuthority('/users/findUserByIdAndAllRole.do')")
    public ModelAndView findUserByIdAndAllRole(@RequestParam(name = "id", required = true) Integer uid) throws Exception {
        ModelAndView mv = new ModelAndView();
        //1.根据用户id查询用户
        User user = userService.findByUid(uid);
    public void writeValue(Object obj,HttpServletResponse response) throws IOException {
        ObjectMapper mapper = new ObjectMapper();
        response.setContentType("application/json;charset=utf-8");
        mapper.writeValue(response.getOutputStream(),obj);
    }

    /**
     * 将传入的对象序列化为json,返回
     * @param obj
     * @return
     */
    public String writeValueAsString(Object obj) throws JsonProcessingException {
        ObjectMapper mapper = new ObjectMapper();
        return mapper.writeValueAsString(obj);
    }
}

/**
 * @Description: TODO(收藏排行榜)
 */
@WebServlet("/favoriteTop/*")
public class TopServlet extends BaseServlet {

    private ITopService topService = new TopServiceImpl();

    public void pageQuery(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //获取参数
        String currentPageStr = request.getParameter("currentPage");
        String rname = request.getParameter("rname");
        String smoneyStr = request.getParameter("smoney");
        String emoneyStr = request.getParameter("emoney");
        String pageSizeStr = request.getParameter("pageSize");
        mv.setViewName("route-add");
        return mv;
    }
    //新增景点线路
    @RequestMapping("/save.do")
    @PreAuthorize("hasAnyAuthority('/routes/save.do')")
    public String save(Route route) throws Exception{
        if (route.getRimageStr()!=null){
            String filename = Upload.uploadImg(RIMAGE,route.getRimageStr());
            route.setRimage("img/product/small/"+filename);
            routeService.saveRoute(route);
        }
        return "redirect:findAll.do";
    }

    //删除景点线路
    @RequestMapping("/delete.do")
    @PreAuthorize("hasAnyAuthority('/routes/delete.do')")
    public String delete(Integer rid) throws Exception{
        routeService.delete(rid);
        return "redirect:findAll.do";
    }

    //修改景点线路
    @RequestMapping("/update.do")
    @PreAuthorize("hasAnyAuthority('/routes/update.do')")
    public String update(Route route) throws Exception{
        if (route.getRimageStr().getSize()!=0&&route.getRimageStr()!=null){//修改过图片
            String filename = Upload.uploadImg(RIMAGE,route.getRimageStr());
            route.setRimage("img/product/small/"+filename);
            routeService.update(route);
        }else{//未修改图片
            routeService.update(route);
        }
        return "redirect:findAll.do";
    }

    //根据rid查询线路信息
    @RequestMapping("/findByRid.do")
    @PreAuthorize("hasAnyAuthority('/routes/findByRid.do')")
    public ModelAndView findByRid(Integer rid) throws Exception{
        ModelAndView mv = new ModelAndView();
        Route route = routeService.findByRid(rid);
        mv.addObject("routeInfo",route);
        List<Category> clist = categoryService.findAllCName();
        List<Seller> slist = sellerService.findAll();
        mv.addObject("CList",clist);
        mv.addObject("SList",slist);
        mv.setViewName("route-update");
        return mv;
    }
        User user = userService.findByUid(uid);
        mv.addObject("user", user);
        mv.setViewName("user-details");
        return mv;
    }

    //查询用户相关信息
    @RequestMapping("/findAll.do")
    @PreAuthorize("hasAnyAuthority('/users/findAll.do')")
    public ModelAndView findAll(
            @RequestParam(name="page",required = true, defaultValue = "1") Integer page,
            @RequestParam(name="size",required = true, defaultValue = "6") Integer size,
            @RequestParam(name="username",required = true, defaultValue = "") String username
    ) throws Exception{
        ModelAndView mv = new ModelAndView();
        List<User> userList = userService.findAll(page,size,"%"+username+"%");
        PageInfo pageInfo = new PageInfo(userList);
        mv.addObject("pageInfo",pageInfo);
        mv.setViewName("user-list");
        return mv;
    }
}

/**
 * @Description: TODO(角色信息)
 */
@Controller
@RequestMapping("/roles")
public class RoleController {

    @Autowired
    private IRoleService roleService;

    //添加一个角色
    @RequestMapping("/save.do")
    @PreAuthorize("hasAnyAuthority('/roles/save.do')")
    public String save(Role role) throws Exception {
    public String delete(Integer rid) throws Exception{
        routeService.delete(rid);
        return "redirect:findAll.do";
    }

    //修改景点线路
    @RequestMapping("/update.do")
    @PreAuthorize("hasAnyAuthority('/routes/update.do')")
    public String update(Route route) throws Exception{
        if (route.getRimageStr().getSize()!=0&&route.getRimageStr()!=null){//修改过图片
            String filename = Upload.uploadImg(RIMAGE,route.getRimageStr());
            route.setRimage("img/product/small/"+filename);
            routeService.update(route);
        }else{//未修改图片
            routeService.update(route);
        }
        return "redirect:findAll.do";
    }

    //根据rid查询线路信息
    @RequestMapping("/findByRid.do")
    @PreAuthorize("hasAnyAuthority('/routes/findByRid.do')")
    public ModelAndView findByRid(Integer rid) throws Exception{
        ModelAndView mv = new ModelAndView();
        Route route = routeService.findByRid(rid);
        mv.addObject("routeInfo",route);
        List<Category> clist = categoryService.findAllCName();
        List<Seller> slist = sellerService.findAll();
        mv.addObject("CList",clist);
        mv.addObject("SList",slist);
        mv.setViewName("route-update");
        return mv;
    }

    //查询所有线路
    @RequestMapping("/findAll.do")
    @PreAuthorize("hasAnyAuthority('/routes/findAll.do')")
    public ModelAndView findAll(
            @RequestParam(name="page",required = true, defaultValue = "1") Integer page,
            @RequestParam(name="size",required = true, defaultValue = "10") Integer size,
            @RequestParam(name="rname",required = true, defaultValue = "") String rname
    ) throws Exception{
        ModelAndView mv = new ModelAndView();
        List<Route> list = routeService.findAll(page,size,"%"+rname+"%");
        PageInfo pageInfo = new PageInfo(list);
        mv.addObject("pageInfo",pageInfo);
        mv.setViewName("route-list");
        return mv;
    }

    //修改酒店信息
    @RequestMapping("/findU.do")
    public ModelAndView findU(Integer hid) throws Exception{
        ModelAndView mv = new ModelAndView();
        Hotel hotel = hotelService.findByHid(hid);
        mv.addObject("hotel",hotel);
        List<User> list = iUserService.findAll(1,100,"%%");
        mv.addObject("UList",list);
        mv.setViewName("hotel-update");
        return mv;
    }
    @RequestMapping("/update.do")
    public String update(Hotel hotel) throws Exception{
        if (hotel.getHimageFile().getSize()!=0&&hotel.getHimageFile()!=null){//修改过图片
            String filename = Upload.uploadImg(HIMAGE,hotel.getHimageFile());
            hotel.setHimage("img/hotel/"+filename);
            hotelService.update(hotel);
        }else{//未修改图片
            hotelService.update(hotel);
        }
        return "redirect:findAll.do";
    }

    //查询所有订单
    @RequestMapping("/findAll.do")
    public ModelAndView findAll(
            @RequestParam(name = "page",defaultValue = "1")Integer page,
            @RequestParam(name = "size",defaultValue = "10")Integer size,
            @RequestParam(name = "search",defaultValue = "")String search
    ) throws Exception{
        ModelAndView mv = new ModelAndView();
        List<Hotel> list = hotelService.findAll(page,size,"%"+search+"%");
        PageInfo pageInfo = new PageInfo(list);
        mv.addObject("pageInfo",pageInfo);
        mv.setViewName("hotel-list");
        return mv;
    }
}

                user_cookie.setPath("/");
                response.addCookie(user_cookie);
                pswd_cookie.setMaxAge(0);
                pswd_cookie.setPath("/");
                response.addCookie(pswd_cookie);
                reme_cookie.setMaxAge(0);
                reme_cookie.setPath("/");
                response.addCookie(reme_cookie);
            }
            if (!checkCodeMethod(request,response)){
                return;
            }
            request.getSession().setAttribute("user",u);//登录成功标记
            //登录成功
            info.setFlag(true);
        }
        //响应数据
       writeValue(info,response);
    }

    /**
     * 查询一个
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    public void findOne(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //从session中获取登录用户
        Object user = request.getSession().getAttribute("user");
        //将user写回客户端
        writeValue(user,response);
    }

    /**
     * 退出功能
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    public void exit(HttpServletRequest request, HttpServletResponse response) throws IOException {
            return;
        }

        //1.获取数据,封装对象
        Map<String, String[]> map = request.getParameterMap();
        User user = new User();
        try {
            BeanUtils.populate(user,map);
        } catch (Exception e) {
            e.printStackTrace();
        }
        //2.调用service完成注册
        boolean flag = false;
        if (user.getUsername() != null){
            flag = service.regist(user);
        }
        ResultInfo info = new ResultInfo();
        if(flag){//注册成功
            info.setFlag(true);
        }else {//注册失败
            info.setFlag(false);
            info.setErrorMsg("用户名已存在!");
        }

        //3.将info对象序列化为json,响应数据
        String json = writeValueAsString(info);
        response.setContentType("application/json;charset=utf-8");
        response.getWriter().write(json);
    }

    /**
     * 登录功能
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    public void login(HttpServletRequest request, HttpServletResponse response) throws Exception {
        //1.获取用户名和密码数据
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String remember = request.getParameter("remember");

        username = username != null ? username : "";
        password = password != null ? password : "";
        remember = remember != null ? remember : "";

        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        //3.调用Service查询
        @RequestParam(name="search",required = true, defaultValue = "") String search
    )throws Exception{
        ModelAndView mv = new ModelAndView();
        List<Seller> list = iSellerService.findAlls(page,size,"%"+search+"%");
        PageInfo pageInfo = new PageInfo(list);
        mv.addObject("pageInfo",pageInfo);
        mv.setViewName("seller-list");
        return mv;
    }

    //删除商家
    @RequestMapping("/delete.do")
    @PreAuthorize("hasAnyAuthority('/sellers/delete.do')")
    public String delete(Integer sid) throws Exception{
        iSellerService.delete(sid);
        return "redirect:findAlls.do";
    }

    //修改商家
    @RequestMapping("/update.do")
    @PreAuthorize("hasAnyAuthority('/sellers/update.do')")
    public String update(Seller seller) throws Exception{
        iSellerService.update(seller);
        return "redirect:findAlls.do";
    }
}

/**
    }
}

/**
 * @Description: TODO(景点分类)
 */
@Controller
@RequestMapping("/cates")
public class CategoryController {

    @Autowired
    private ICategoryService categoryService;

    //新增分类
    @RequestMapping("/save.do")
    @PreAuthorize("hasAnyAuthority('/cates/save.do')")
    public String save(Category category) throws Exception{
        categoryService.save(category);
        return "redirect:findAll.do";
    }

    //删除分类
    @RequestMapping("/delete.do")
    @PreAuthorize("hasAnyAuthority('/cates/delete.do')")
    public String delete(Integer cid) throws Exception{
        categoryService.delete(cid);
        return "redirect:findAll.do";
    }

    //修改分类

/**
 * @Description: TODO(我的收藏)
 */
@WebServlet("/personal/*")
public class PersonalServlet extends BaseServlet {

    private IPersonalService personalService = new PersonalServiceImpl();

    /**
     * 根据分页查询我的收藏
     * @param request
     * @param response
     * @throws IOException
     */
    public void findFavoriteByPage(HttpServletRequest request, HttpServletResponse response) throws IOException{
        //1.获取参数
        String uidStr = request.getParameter("uid");
        String currentPageStr = request.getParameter("currentPage");
        String pageSizeStr = request.getParameter("pageSize");
        //2.处理参数
        int uid = 0;
        if (uidStr != null && uidStr.length() > 0 && !"null".equals(uidStr)){
            uid = Integer.parseInt(uidStr);
        }
        int currentPage = 1;//当前页码,如果不传递,则默认为第一页
        if(currentPageStr != null && currentPageStr.length() > 0){
            currentPage = Integer.parseInt(currentPageStr);
        }

        int pageSize = 8;//每页显示条数,如果不传递,默认每页显示5条记录
        if(pageSizeStr != null && pageSizeStr.length() > 0){
            pageSize = Integer.parseInt(pageSizeStr);
        }
        //3.调用service查询PageBean对象
        PageBean<Route> pb = personalService.pageQuery(uid, currentPage, pageSize);
        //4. 将pageBean对象序列化为json,返回
        writeValue(pb,response);
    }

    /**
     * 查询我的留言
     * @param request
     * @param response

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值