基于javaweb+mysql的ssm景点门票预订管理系统(java+ssm+jsp+bootstrap+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM景点门票预订管理系统(java+ssm+jsp+bootstrap+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版本;
技术栈
- 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+bootstrap+jQuery
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中db.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/
obj.put("code", 1);
obj.put("referer", "login.do?method=Index");
session.setAttribute("user", user);
}
else{
obj.put("code", -1);
}
}
else{
obj.put("code", -1);
}
}
catch(Exception e){
obj.put("code", -1);
}
return CommonResponse.JsonAjax(obj.toString());
}
@RequestMapping(params="method=Loginout")
public ModelAndView Loginout(HttpServletRequest request,HttpServletResponse response){
HttpSession session = request.getSession();
session.removeAttribute("user");
ModelAndView mav = new ModelAndView();
mav.setViewName("redirect:login.do?method=Login");
return mav;
}
}
public class JsonView implements View {
public static final JsonView instance = new JsonView();
public static final String JSON_ROOT = "root";
public String getContentType() {
return "text/html;charset=UTF-8";
}
order.setStatus("已付款");
try{
ordersService.update(order);
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "付款成功");
}
catch(Exception ex){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "付款失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
}
}
@RequestMapping(params="method=findTouristType")
public ModelAndView findTouristType(HttpServletRequest request,HttpServletResponse response){
TouristType type = new TouristType();
try{
int id =Integer.valueOf(request.getParameter("id"));
TouristType bean = new TouristType();
bean.setId(id);
type=this.touristTypeService.findTouristType(bean);
}
catch(Exception e){
}
return CommonResponse.JsonAjax(JSONObject.fromObject(type).toString());
}
@RequestMapping(params="method=updateTouristType")
public ModelAndView updateTouristType(HttpServletRequest request,HttpServletResponse response,@ModelAttribute TouristType type){
JSONObject obj = new JSONObject();
try{
if(this.touristTypeService.update(type)){
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "恭喜你,操作成功");
}
else{
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加景点类型失败");
}
}
catch(Exception ex){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加景点类型失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
@RequestMapping(params="method=deleteTouristType")
public ModelAndView deleteTouristType(HttpServletRequest request,HttpServletResponse response){
JSONObject obj = new JSONObject();
try{
int id=Integer.valueOf(String.valueOf(request.getParameter("id")));
TouristType type = new TouristType();
type.setId(id);
if(this.touristTypeService.delete(type)){
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "恭喜你,操作成功");
}
else{
obj.put("statusCode", 201);
obj.put("title", "操作提示");
@Controller
@RequestMapping("/home.do")
public class HomeController {
@Autowired
private TouristService touristService;
@Autowired
private ZiXuninfoService ziXuninfoService;
@Autowired
private HotelService hotelService;
@Autowired
private TouristTaceService touristTaceService;
@Autowired
private OrdersService ordersService;
@RequestMapping(params="method=homeIndex")
public ModelAndView homeIndex(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
response.setContentType("text/html;charset=utf-8");
List<Tourist> list = new ArrayList<Tourist>();
Tourist t = new Tourist();
String name = request.getParameter("name");
t.setName(name);
@RequestMapping(params="method=toAddUser")
public ModelAndView toAddUser(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("admin/userAdd");
return mav;
}
@RequestMapping(params="method=toEditUser")
public ModelAndView toEditUser(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("admin/userEdit");
return mav;
}
@RequestMapping(params="method=toCheckUser")
public ModelAndView toCheckUser(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("admin/userCheck");
return mav;
}
@RequestMapping(params="method=getUser")
public ModelAndView getUser(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("editUser");
return mav;
}
@RequestMapping(params="method=findUser")
public ModelAndView findUser(HttpServletRequest request,HttpServletResponse response){
int id =Integer.valueOf(request.getParameter("id"));
User user = userService.findById(id);
return CommonResponse.JsonAjax(JSONObject.fromObject(user).toString());
}
@RequestMapping(params="method=delUser")
public ModelAndView delUser(HttpServletRequest request,HttpServletResponse response){
JSONObject obj = new JSONObject();
try{
int id=Integer.valueOf(String.valueOf(request.getParameter("id")));
if(userService.delete(id)){
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "恭喜你,操作成功");
}
else{
obj.put("message", "删除旅游线路失败");
}
}
catch(Exception ex){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "删除旅游线路失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
@RequestMapping(params = "method=fileUpLoad")
//btnFile对应页面的name属性
public ModelAndView fileUpLoad(MultipartFile file, HttpServletRequest request, HttpServletResponse response){
response.setContentType("text/html;charset=utf-8");
JSONObject obj = new JSONObject();
try{
String path = request.getSession().getServletContext().getRealPath("uploads");
//上传文件名
String filename = new Date().getTime()+"_"+file.getOriginalFilename();
File filepath = new File(path,filename);
//判断路径是否存在,如果不存在就创建一个
if (!filepath.getParentFile().exists()) {
filepath.getParentFile().mkdirs();
}
//将上传文件保存到一个目标文件当中
file.transferTo(new File(path + File.separator + filename));
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "上传文件成功");
obj.put("filePath", filename);
// OutputUtil.jsonOutPut(response, null);
}catch (Exception e) {
// OutputUtil.errorOutPut(response, "系统异常");
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "上传文件失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
}
return mav;
}
@RequestMapping(params="method=touristMainData")
public ModelAndView touristMainData(HttpServletRequest request,HttpServletResponse response,@ModelAttribute Tourist tourist){
response.setContentType("text/html;charset=utf-8");
List<Tourist> list = new ArrayList<Tourist>();
JSONObject obj = new JSONObject();
try{
if(StringUtils.isBlank(tourist.getName())){
tourist.setName(null);
}
list=this.touristService.findTouristList(tourist);
}
catch(Exception e){
}
obj.put("rows", list);
obj.put("total", list.size());
return CommonResponse.JsonAjax(obj.toString());
}
@RequestMapping(params="method=toAddTourist")
public ModelAndView toAddTourist(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("admin/touristAdd");
return mav;
}
@RequestMapping(params="method=addTourist")
public ModelAndView addTourist(HttpServletRequest request,HttpServletResponse response,@ModelAttribute Tourist tourist){
response.setContentType("text/html;charset=utf-8");
JSONObject obj = new JSONObject();
try{
this.touristService.save(tourist);
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "恭喜你,添加景点成功");
}
catch(Exception ex){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加景点失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
@Controller
@RequestMapping("/home.do")
public class HomeController {
@Autowired
private TouristService touristService;
@Autowired
private ZiXuninfoService ziXuninfoService;
@Autowired
private HotelService hotelService;
@Autowired
private TouristTaceService touristTaceService;
@Autowired
private OrdersService ordersService;
@RequestMapping(params="method=homeIndex")
public ModelAndView homeIndex(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
response.setContentType("text/html;charset=utf-8");
List<Tourist> list = new ArrayList<Tourist>();
Tourist t = new Tourist();
String name = request.getParameter("name");
t.setName(name);
list=this.touristService.findTouristList(t);
List<ZiXuninfo> zxs = new ArrayList<ZiXuninfo>();
zxs = this.ziXuninfoService.findZiXunList(new ZiXuninfo());
User user = (User)request.getSession().getAttribute("user");
List<Hotel> hotels=this.hotelService.findHotelList(new Hotel());
List<TouristTrace> traces = this.touristTaceService.findTouristTraceList( new TouristTrace());
if (user != null) {
List<Orders> orders = ordersService.findMyOrder(user.getId());
mav.addObject("orders", orders);
}
mav.addObject("zxs", zxs);
mav.setViewName("site/index");
mav.addObject("tourist",list);
mav.addObject("user",user);
mav.addObject("hotels", hotels);
mav.addObject("traces", traces);
mav.addObject("name", name);
return mav;
}
@RequestMapping(params="method=openZxinfo")
public ModelAndView openZxinfo(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
Integer id=Integer.valueOf(request.getParameter("id"));
ZiXuninfo bean = new ZiXuninfo();
bean.setId(id);
ZiXuninfo zxinfo = new ZiXuninfo();
zxinfo=this.ziXuninfoService.findZiXuninfo(bean);
}
}
catch(Exception ex){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加用户失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
@RequestMapping(params="method=updateCheckUser")
public ModelAndView updateCheckUser(User user,HttpServletRequest request){
JSONObject obj = new JSONObject();
try{
user.setState(1);
if(userService.update(user)){
user = userService.findById(user.getId());
request.setAttribute("user", user);
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "恭喜你,操作成功");
}else{
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加用户失败");
}
}
catch(Exception ex){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加用户失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
@RequestMapping(params="method=buyTicket")
public ModelAndView buyTicket(int id, String date, HttpServletRequest request){
JSONObject obj = new JSONObject();
User user = (User) request.getSession().getAttribute("user");
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "恭喜你,操作成功");
}else{
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加用户失败");
}
}
catch(Exception ex){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加用户失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
@RequestMapping(params="method=updateCheckUser")
public ModelAndView updateCheckUser(User user,HttpServletRequest request){
JSONObject obj = new JSONObject();
try{
user.setState(1);
if(userService.update(user)){
user = userService.findById(user.getId());
request.setAttribute("user", user);
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "恭喜你,操作成功");
}else{
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加用户失败");
}
}
catch(Exception ex){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加用户失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
@Controller
@RequestMapping("/login.do")
public class LoginController {
@Autowired
private UserService userService;
@RequestMapping(params="method=Index")
public ModelAndView Index(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
User user = (User)request.getSession().getAttribute("user");
if(user!=null){
if(user.getRole()==1&&user.getState()==1){
mav.setViewName("admin/index");
mav.addObject("user", user);
}
else{
mav.setViewName("redirect:home.do?method=homeIndex");
if(user.getState()==1){
mav.addObject("user",user);
}
}
}
else{
mav.setViewName("redirect:login.do?method=Login");
}
return mav;
}
@RequestMapping(params="method=Login")
public ModelAndView Login(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
User user = (User)request.getSession().getAttribute("user");
if(user!=null){
mav.setViewName("redirect:login.do?method=Index");
}
else{
}
@RequestMapping(params="method=findTouristType")
public ModelAndView findTouristType(HttpServletRequest request,HttpServletResponse response){
TouristType type = new TouristType();
try{
int id =Integer.valueOf(request.getParameter("id"));
TouristType bean = new TouristType();
bean.setId(id);
type=this.touristTypeService.findTouristType(bean);
}
catch(Exception e){
}
return CommonResponse.JsonAjax(JSONObject.fromObject(type).toString());
}
@RequestMapping(params="method=updateTouristType")
public ModelAndView updateTouristType(HttpServletRequest request,HttpServletResponse response,@ModelAttribute TouristType type){
JSONObject obj = new JSONObject();
try{
if(this.touristTypeService.update(type)){
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "恭喜你,操作成功");
}
else{
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加景点类型失败");
}
}
catch(Exception ex){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加景点类型失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
@RequestMapping(params="method=deleteTouristType")
public ModelAndView deleteTouristType(HttpServletRequest request,HttpServletResponse response){
JSONObject obj = new JSONObject();
try{
}
@Controller
@RequestMapping("/message.do")
public class MessageBoardController {
@Autowired
private MessageBoardService touristTypeService;
@RequestMapping(params="method=typeMain")
public ModelAndView typeMain(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("admin/messageMain");
return mav;
}
@RequestMapping(params="method=typeMainData")
public ModelAndView typeMainData(HttpServletRequest request,HttpServletResponse response,@ModelAttribute MessageBoard type){
List<MessageBoard> list = new ArrayList<MessageBoard>();
JSONObject obj = new JSONObject();
try{
if(StringUtils.isBlank(type.getName())){
type.setName(null);
}
list=this.touristTypeService.findMessageBoardList(type);
for(MessageBoard touristtyppe : list){
JSONObject obj = new JSONObject();
obj.put("code", touristtyppe.getId());
obj.put("text", touristtyppe.getName());
array.add(obj);
}
}
catch(Exception ex){
}
return CommonResponse.JsonAjax(array.toString());
}
@RequestMapping(params="method=toAddTourlistType")
public ModelAndView toAddTourlistType(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("admin/messageAdd");
return mav;
}
@RequestMapping(params="method=addTouristType")
public ModelAndView addTouristType(HttpServletRequest request,HttpServletResponse response,@ModelAttribute MessageBoard type){
response.setContentType("text/html;charset=utf-8");
JSONObject obj = new JSONObject();
try{
this.touristTypeService.save(type);
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "恭喜你,添加留言成功");
}
catch(Exception ex){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加留言失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
@RequestMapping(params="method=toEditTouristType")
public ModelAndView toEditTouristType(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("admin/messageEdit");
return mav;
}
@RequestMapping(params="method=findTouristType")
public ModelAndView findTouristType(HttpServletRequest request,HttpServletResponse response){
MessageBoard type = new MessageBoard();
}
catch(Exception ex){
}
obj.put("rows", list);
obj.put("total", list.size());
return CommonResponse.JsonAjax(obj.toString());
}
@RequestMapping(params="method=getTypeList")
public ModelAndView getTypeList(HttpServletRequest request,HttpServletResponse response){
List<TouristType> list = new ArrayList<TouristType>();
JSONArray array = new JSONArray();
try{
TouristType type = new TouristType();
list=this.touristTypeService.findTouristTypeList(type);
for(TouristType touristtyppe : list){
JSONObject obj = new JSONObject();
obj.put("code", touristtyppe.getId());
obj.put("text", touristtyppe.getName());
array.add(obj);
}
}
catch(Exception ex){
}
return CommonResponse.JsonAjax(array.toString());
}
@RequestMapping(params="method=toAddTourlistType")
public ModelAndView toAddTourlistType(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("admin/typeAdd");
return mav;
}
@RequestMapping(params="method=addTouristType")
public ModelAndView addTouristType(HttpServletRequest request,HttpServletResponse response,@ModelAttribute TouristType type){
response.setContentType("text/html;charset=utf-8");
JSONObject obj = new JSONObject();
try{
this.touristTypeService.save(type);
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "恭喜你,添加景点类型成功");
}
catch(Exception ex){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加景点类型失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
@RequestMapping(params="method=toEditTouristType")
// OutputUtil.errorOutPut(response, "系统异常");
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "上传文件失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
}
@Controller
@RequestMapping("/touristtype.do")
public class TouristTypeController {
@Autowired
private TouristTypeService touristTypeService;
@RequestMapping(params="method=typeMain")
public ModelAndView typeMain(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("admin/typeMain");
return mav;
}
@RequestMapping(params="method=updateTourist")
public ModelAndView updateTourist(HttpServletRequest request,HttpServletResponse response,@ModelAttribute TouristTrace tourist){
response.setContentType("text/html;charset=utf-8");
JSONObject obj = new JSONObject();
try{
if(this.touristtraceService.update(tourist)){
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "恭喜你,操作成功");
}
else{
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "更新旅游线路失败");
}
}
catch(Exception ex){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "更新旅游线路失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
@RequestMapping(params="method=deleteTourist")
public ModelAndView deleteTourist(HttpServletRequest request,HttpServletResponse response,@ModelAttribute TouristTrace tourist){
response.setContentType("text/html;charset=utf-8");
JSONObject obj = new JSONObject();
try{
if(this.touristtraceService.delete(tourist)){
obj.put("statusCode", 200);
obj.put("title", "操作提示");
obj.put("message", "恭喜你,操作成功");
}
else{
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "删除旅游线路失败");
}
}
catch(Exception ex){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "删除旅游线路失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
obj.put("message", "恭喜你,操作成功");
}
catch(Exception e){
obj.put("statusCode", 201);
obj.put("title", "操作提示");
obj.put("message", "添加用户失败");
}
return CommonResponse.JsonAjax(obj.toString());
}
@RequestMapping(params="method=toAddUser")
public ModelAndView toAddUser(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("admin/userAdd");
return mav;
}
@RequestMapping(params="method=toEditUser")
public ModelAndView toEditUser(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("admin/userEdit");
return mav;
}
@RequestMapping(params="method=toCheckUser")
public ModelAndView toCheckUser(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("admin/userCheck");
return mav;
}
@RequestMapping(params="method=getUser")
public ModelAndView getUser(HttpServletRequest request,HttpServletResponse response){
ModelAndView mav = new ModelAndView();
mav.setViewName("editUser");
return mav;
}
@RequestMapping(params="method=findUser")
public ModelAndView findUser(HttpServletRequest request,HttpServletResponse response){
int id =Integer.valueOf(request.getParameter("id"));
User user = userService.findById(id);
return CommonResponse.JsonAjax(JSONObject.fromObject(user).toString());
}
@RequestMapping(params="method=delUser")
public ModelAndView delUser(HttpServletRequest request,HttpServletResponse response){
JSONObject obj = new JSONObject();
try{
int id=Integer.valueOf(String.valueOf(request.getParameter("id")));
if(userService.delete(id)){
obj.put("statusCode", 200);![请添加图片描述](https://img-blog.csdnimg.cn/41f0b996ef3e479ebb1b583f977aedac.jpeg)
obj.put("title", "操作提示");
obj.put("message", "恭喜你,操作成功");