Java项目:旅游网站系统

作者主页:Java毕设网

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

一、项目介绍

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

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

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

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

由于本程序规模不大,可供课程设计,毕业设计学习演示之用

二、环境需要

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(value = "/Manager")
public class ManagerController {
	@Autowired
	private ManagerService managerService;

	// 1根据id查询
	@RequestMapping("/findManagerById")
	public @ResponseBody Manager findManagerById(Model model,String ma_id){
		System.out.println("===============findManagerById=================");
		System.out.println("MA_id:"+ma_id);
		int id=Integer.parseInt(ma_id);
		Manager manager=managerService.findManagerById(id);
		System.out.println("manager:"+manager.getMA_name());
		model.addAttribute("manager", manager);
		return manager;
	}
	// 2查询所有(分页显示)
	@RequestMapping("/findAllManager")
	public String findAllManager(Model model, String type, Integer pageNo,
			Integer pageSize) {
		System.out.println("===========findAllManager==============");
		System.out.println("传到type的值:" + type);
		PagedResult<Manager> pagedResult = (PagedResult<Manager>) managerService
				.findAllManager(pageNo, pageSize);
		model.addAttribute("pagedResult", pagedResult);
		List<Manager> managerList = pagedResult.getDataList();
		System.out.println("当前页码:" + pageNo);
		System.out.println("总页数:" + pageSize);
		System.out.println(pagedResult.getPages());
		model.addAttribute("managerList", managerList);
		if (type.equals("show1")) {
			return "jsp/sonpage/manager/managerson/findManager";
		}
		if (type.equals("show2")) {
			return "jsp/sonpage/manager/managerson/delManager";
		}
		return "";
	}

	// 3模糊查询
	@RequestMapping("/findLikeNameManager")
	public String findLikeNameManager(String ma_id, String ma_name,
			Model model, String type) {
		System.out.println("===========模糊查询系统管理员信息============");
		//String ma_id=id;
		//String ma_name=name;
		System.out.println("ma_id:" + ma_id);
		System.out.println("ma_name:" + ma_name);
		System.out.println("type:" + type);
		Map map = new HashMap();
		map.put("ma_id", ma_id);
		map.put("ma_name", ma_name);
		List<Manager> managerList = managerService.findLikeNameManager(map);
		model.addAttribute("managerList", managerList);
		if (type.equals("show1")) {
			System.out.println("===========从查询管理员信息页面===========");
			if (("").equals(ma_id) && ("").equals(ma_name)) {
				System.out.println("1没有传值");
				System.out.println("===========findAllManager==============");
				System.out.println("传到type的值:" + type);
				PagedResult<Manager> pagedResult = (PagedResult<Manager>) managerService
						.findAllManager(0, 5);
				model.addAttribute("pagedResult", pagedResult);
		        managerList = pagedResult.getDataList();
				System.out.println("当前页码:" + 1);
				System.out.println("总页数:" + 5);
				System.out.println(pagedResult.getPages());
				model.addAttribute("managerList", managerList);
				return "jsp/sonpage/manager/managerson/findManager";
			}
			System.out
					.println("===================跳回查询页面======================");
			return "jsp/sonpage/manager/managerson/findManager";
		}
		if (type.equals("show2")) {
			System.out.println("===========从删除管理员信息页面===========");
			if (("").equals(ma_id) && ("").equals(ma_name)) {
				System.out.println("2没有传值");
				System.out.println("1没有传值");
				System.out.println("===========findAllManager==============");
				System.out.println("传到type的值:" + type);
				PagedResult<Manager> pagedResult = (PagedResult<Manager>) managerService
						.findAllManager(0, 5);
				model.addAttribute("pagedResult", pagedResult);
				managerList = pagedResult.getDataList();
				System.out.println("当前页码:" + 1);
				System.out.println("总页数:" + 5);
				System.out.println(pagedResult.getPages());
				model.addAttribute("managerList", managerList);
				return "jsp/sonpage/manager/managerson/findManager";
			}
			System.out
					.println("===================跳回删除页面======================");
			return "jsp/sonpage/manager/managerson/delManager";
		}
		return "";
	}

	// 4添加系统管理员
	@RequestMapping("/addManager")
	public String addManager(Manager manager) {
		System.out.println("=========添加系统管理员=========");
		System.out.println("姓名:" + manager.getMA_name());
		managerService.addManager(manager);
		return "jsp/sonpage/manager/managerson/addManager";
	}

	// 5删除系统管理员
	@RequestMapping("/delManager")
	public String delManager(String MA_id) {
		System.out.println("===========删除系统管理员===========");
		System.out.println("MA_id:" + MA_id);
		int id = Integer.parseInt(MA_id);
		managerService.delManager(id);
		return "forward:findAllManager.action?type=show2";
	}

	// 6修改系统管理员
	@RequestMapping("/updateManager")
	public String updateManager(Manager manager) {
		System.out.println("=========修改系统管理员=========");
		System.out.println("名字:"+manager.getMA_name());
		managerService.updateManager(manager);
		return "forward:findAllManager.action?type=show1";
	}

	// 8批量删除管理员信息
	@RequestMapping("/delItem")
	public @ResponseBody boolean delItem(Model model, String ids) {
		System.out.println("==========批量删除已审批活动信息==========");
		System.out.println("ids:" + ids);
		// 用数组接收获取的选中集合
		String[] str = ids.split("_");
		for (int i = 0; i < str.length; i++) {
			int id = Integer.parseInt(str[i]);
			managerService.delManager(id);
			System.out.println("删除的方法执行了");
		}
		// return "forward:findAllMember.action?type=show2";
		return true;

	}
	//9登陆(根据学号查找)
	@RequestMapping("/findManagerByNum")
	public @ResponseBody boolean findManagerByNum(HttpSession session,String num,String pwd){
		System.out.println("===============findManagerByNum=================");
		System.out.println("num:"+num);

		Subject subject = SecurityUtils.getSubject();
		subject.getSession().setAttribute("userType", "Manager");
		// 保存至令牌环中,供MyRealm做验证
		UsernamePasswordToken token = new UsernamePasswordToken(num, pwd);
		// 保存用户类型供MyRealm获取
		
		try {
			// 跳转到MyRealm 做登录用户名和密码验证
			subject.login(token);
			session.setAttribute("num", num);
			session.setAttribute("role", "2");
			System.out.println("ManagerController-->>findManagerByNum-->>登录成功");
			return true;
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
			System.out.println("ManagerController-->>findManagerByNum-->>登录失败");
			return false;
		}
		
//		Manager manager=managerService.findManagerByNum(num);
//		System.out.println("manager:"+manager.getMA_pwd());
//		String MA_pwd=manager.getMA_pwd();
//		session.setAttribute("num", num);
//		session.setAttribute("role", "2");
//		if(MA_pwd.equals(pwd)){
//			System.out.println("返回值是真");
//			return true;
//		}else{
//			return false;
//		}
	}
	
	// 登出
	@RequestMapping("/logout")
	public String logout(Model model) {
		
		try {
			Subject subject = SecurityUtils.getSubject();
			System.out.println("==========>>>>>>>>logout>>>>>>======"+subject.getPrincipal().toString());
			subject.logout();
			System.out.println("****************logout成功*************");
		} catch (Exception e) {
  		}
		return "/jsp/sonpage/login";
	}
	
	//9修改密码
	@RequestMapping("/updateManagerPwd")
	public @ResponseBody boolean updateManagerPwd(Model model,String num,String oldPwd,String newPwd){
		System.out.println("===============updateManagerPwd=================");
		System.out.println("旧密码:"+oldPwd);
		System.out.println("新密码:"+newPwd);
		String MA_pwd=newPwd;
		String MA_num=num;
		Manager manager=managerService.findManagerByNum(num);
		String pwd=manager.getMA_pwd();
		if(pwd.equals(oldPwd)){
			managerService.updateManagerPwd(MA_pwd,MA_num);
			return true;
		}else{
			return false;
		}
	}
}

管理端控制器

public class AdminAction extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public AdminAction() {
		super();
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doPost(request,response);
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType(Constant.CONTENTTYPE);
		request.setCharacterEncoding(Constant.CHARACTERENCODING);
		try{
			String method=request.getParameter("method").trim();
			AdminBean loginbean = new AdminBean();
			HttpSession session = request.getSession();
			session.setMaxInactiveInterval(1200);
			SystemBean systembean = new SystemBean();
			String sysdir = systembean.getDir();
			if(method.equals("one")){//admin登录
				String username = request.getParameter("username");
				String password = request.getParameter("password");
				if(username == null||username.trim().equals("")){
					request.setAttribute("message", "请正确输入用户名!");
					request.getRequestDispatcher(sysdir+"/login.jsp").forward(request, response);
				}
				else if(password == null||password.trim().equals("")){
					request.setAttribute("message", "请输入密码!");
					request.getRequestDispatcher(sysdir+"/login.jsp").forward(request, response);
				}
				else{
					String md5password = MD5.MD5(password);
					String agent = request.getHeader("user-agent"); 
					StringTokenizer st = new StringTokenizer(agent,";"); 
					String useros=st.nextToken();
					String loginip = request.getRemoteAddr();			
					int flag = loginbean.adminLogin(username,md5password, password,useros,loginip);
					switch (flag){
						case Constant.SUCCESS:
							List list = loginbean.getAdminInfo(username);
							session.setAttribute("user", username);
							session.setAttribute("list", list);
							request.getRequestDispatcher(sysdir+"/").forward(request, response);
							break;
						case Constant.NAME_ERROR:
							request.setAttribute("message", "用户名错误!请确认管理权限!");
							request.getRequestDispatcher(sysdir+"/login.jsp").forward(request, response);
							break;
						case Constant.PASSWORD_ERROR:
							request.setAttribute("message", "密码错误,请确认管理权限!");
							request.getRequestDispatcher(sysdir+"/login.jsp").forward(request, response);
							break;
					}
				}
			}
			else if(method.equals("editpwd")){//admin edit password
				String username2 = (String)session.getAttribute("user");
				if(username2 == null){
					request.getRequestDispatcher("error.jsp").forward(request, response);
				}
				else{
					String oldpwd = MD5.MD5(request.getParameter("oldpwd").trim());
					String newpwd = MD5.MD5(request.getParameter("newpwd").trim());
					String username = (String)session.getAttribute("user");
					int flag = loginbean.editPassword(username, oldpwd, newpwd);
					switch (flag){
						case Constant.SUCCESS:
							request.setAttribute("message", "密码修改成功!");
							request.getRequestDispatcher(sysdir+"/system/editpwd.jsp").forward(request, response);
							break;
						case Constant.PASSWORD_ERROR:
							request.setAttribute("message", "原始密码错误,请确认权限!");
							request.getRequestDispatcher(sysdir+"/system/editpwd.jsp").forward(request, response);
							break;
						case Constant.SYSTEM_ERROR:
							request.setAttribute("message", "系统维护中,请稍后再试!");
							request.getRequestDispatcher(sysdir+"/system/editpwd.jsp").forward(request, response);
							break;
					}
				}		
			}
			else if(method.equals("exit")){//admin exit
				String username2 = (String)session.getAttribute("user");
				if(username2 == null){
					request.getRequestDispatcher("error.jsp").forward(request, response);
				}
				else{
					session.removeAttribute("user");
					session.removeAttribute("list");
					System.gc();
					request.getRequestDispatcher(sysdir+"/login.jsp").forward(request, response);
				}			
			}
			else if(method.equals("manager")){//add,update manager
				String username2 = (String)session.getAttribute("user");
				if(username2 == null){
					request.getRequestDispatcher("error.jsp").forward(request, response);
				}
				else{
					
						String username = request.getParameter("username").trim();
						String password = MD5.MD5(request.getParameter("password").trim());
						
						
						int flag = loginbean.addManager(username, password, "2", "1");
						if(flag == Constant.SUCCESS){
							request.setAttribute("message", "增加管理员成功!");
							request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
						}
						else if(flag == Constant.SAME_NAME){
							request.setAttribute("username", username);
							request.setAttribute("message", "该用户名已经存在!");
							request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
						}
						else{
							request.setAttribute("message", "系统维护中,请稍后再试!");
							request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
						}		
					
				}
			}
			else if(method.equals("delm")){//delete manager
				String username2 = (String)session.getAttribute("user");
				if(username2 == null){
					request.getRequestDispatcher("error.jsp").forward(request, response);
				}
				else{
					int id = Integer.parseInt(request.getParameter("id").trim());
					if(id == 1){
						request.setAttribute("message", "不能删除原始帐号!");
						request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
					}
					else{
						int flag = loginbean.delManager(id);
						if(flag == Constant.SUCCESS){
							request.setAttribute("message", "删除成功!");
							request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
						}	
						else{
							request.setAttribute("message", "系统维护中,请稍后再试!");
							request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
						}	
					}
				}			
			}
			else if(method.equals("dellog")){//delete login note
				String username2 = (String)session.getAttribute("user");
				if(username2 == null){
					request.getRequestDispatcher("error.jsp").forward(request, response);
				}
				else{
					String check[] = request.getParameterValues("checkit");
					if(check == null){
						request.setAttribute("message", "请选择要删除的记录!");
						request.getRequestDispatcher(sysdir+"/system/log.jsp").forward(request, response);
					}
					else{
						int id[]= new int[check.length];
						for(int i = 0;i<check.length;i++){
							int s = Integer.parseInt(check[i]);				
							id[i] = s;
						}
						int flag = loginbean.delLog(id);
						if(flag == Constant.SUCCESS){
							request.setAttribute("message", "删除记录成功!");
							request.getRequestDispatcher(sysdir+"/system/log.jsp").forward(request, response);
						}
						else{
							request.setAttribute("message", "系统维护中,请稍后再试!");
							request.getRequestDispatcher(sysdir+"/system/log.jsp").forward(request, response);
						}
					}
				}			
			}
			else{//无参数传入转到错误页面
				request.getRequestDispatcher("error.jsp").forward(request, response);
			}
		}catch(Exception e){
			e.printStackTrace();
			request.getRequestDispatcher("error.jsp").forward(request, response);
		}
		
	}

	/**
	 * Initialization of the servlet. <br>
	 *
	 * @throws ServletException if an error occure
	 */
	public void init() throws ServletException {
		// Put your code here
	}

}

七、如果也想学习本系统,下面领取。关注并回复:061jsp

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值