作者主页:夜未央5788
简介: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. 后端:mysql+Spring+hibernate+Struts 2
2. 前端:HTML+CSS+JavaScript+jsp
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/ 登录
运行截图
管理员页面
相关代码
管理员控制器
@RestController
@RequestMapping("/admin")
public class AdminController {
@Autowired
private IAdminService service;
/**
* 登录请求
*
* @param userName 用户名
* @param userPassword 密码
* @param req req
* @return res
*/
@PostMapping("/adminAccess")
public String adminAccess(String userName, String userPassword, HttpServletRequest req) {
Admin admin = new Admin(0, userName, userPassword);
Admin adminAccess = service.adminAccess(admin);
req.getSession().setAttribute("Admin", adminAccess);
if (adminAccess != null) {
return "OK";
}
return "FAIL";
}
/**
* 查询所有用户
*
* @return res
*/
@GetMapping("/allUser")
public UserData findAllUser() {
List<User> findAllUser = service.findAllUser();
UserData userData = new UserData();
userData.setCode(0);
userData.setCount(findAllUser.size());
userData.setData(findAllUser);
userData.setMsg("OK");
return userData;
}
/**
* 更新用户信息
*
* @param user user
* @return res
*/
@PostMapping("/editUser")
public String editUser(User user) {
int n = service.updateUser(user);
if (n > 0) {
return "OK";
}
return "FAIL";
}
/**
* 查询所有房源
*
* @param page page
* @param limit limit
* @return res
*/
@RequestMapping("/houseList")
public UserHouseData findAllHouse(int page, int limit) {
Page p = new Page();
p.setLimit(limit);
p.setPage((page - 1) * limit);
List<House> findAllHouse = service.findAllHouse(p);
UserHouseData data = new UserHouseData();
data.setCode(0);
data.setCount(findAllHouse.size());
data.setData(findAllHouse);
data.setMsg("OK");
return data;
}
/**
* 删除房源
*
* @param houseId 房源id
* @return res
*/
@RequestMapping("/deleteHouse")
public String deleteHouse(int houseId) {
int deleteHouse = service.deleteHouse(houseId);
if (deleteHouse > 0) {
return "OK";
}
return "FAIL";
}
/**
* 管理员删除用户
*/
@PostMapping("/deleteUser")
public String deleteUser(Integer userId) {
int n = service.deleteUser(userId);
if (n > 0) {
return "OK";
}
return "FAIL";
}
/**
* 修改管理员登录密码
*
* @param request req
* @param oldPwd 旧密码
* @param newPwd 新密码
* @param confirmPwd 确认密码
* @return res
*/
@PostMapping("/changePassword")
public String changePassword(HttpServletRequest request, String oldPwd, String newPwd, String confirmPwd) {
Admin checkAdmin = new Admin();
Admin adminSession = (Admin) request.getSession().getAttribute("Admin");
checkAdmin.setId(adminSession.getId());
checkAdmin.setUserPassword(oldPwd);
// 拿到当前登录的账户密码
Admin checkAdminPwd = service.checkAdminPwd(checkAdmin);
if (checkAdminPwd == null) {
return "ERROR";
}
if (!newPwd.equals(confirmPwd)) {
return "FAIL";
}
Admin admin = new Admin();
admin.setId(adminSession.getId());
admin.setUserPassword(newPwd);
int n = service.changePassword(admin);
if (n > 0) {
return "OK";
}
return "FAIL";
}
}
视图管理控制器
@Controller
@RequestMapping("/admin")
public class AdminViewController {
@Autowired
private IAdminService service;
@Autowired
private IHouseService dao;
/**
* 登录页
*
* @return view
*/
@GetMapping({"/", "/index.html"})
public String toAdminLogin() {
return "/admin/login.jsp";
}
/**
* 注销登录
*
* @param request req
* @return view
*/
@GetMapping("/logout")
public String logout(HttpServletRequest request) {
request.getSession().invalidate();
return "redirect:/index.html";
}
/**
* 管理员首页
*
* @return view
*/
@GetMapping("/home.html")
public String toAdminHomePage() {
return "/admin/home.jsp";
}
/**
* 修改密码页
*
* @return view
*/
@GetMapping("/changePassword.html")
public String changePasswordPage() {
return "/admin/changePassword.jsp";
}
/**
* 查询所有用户页
*
* @return view
*/
@GetMapping("/allUser.html")
public String toAllUserPage() {
return "/admin/allUser.jsp";
}
/**
* 所有房源数据页
*
* @return view
*/
@GetMapping("/houseList.html")
public String toAllHousePage() {
return "/admin/houseList.jsp";
}
/**
* 传入id,跳转到修改用户界面
*
* @return view
*/
@GetMapping("/editUser.html")
public String toEditUserPage(int userId, HttpServletRequest req) {
User findUserById = service.findUserById(userId);
req.getSession().setAttribute("User", findUserById);
return "/admin/editUser.jsp";
}
/**
* 跳转到管理员更新房源界面
*
* @param houseId 房源ID
* @param request req
* @return view
*/
@RequestMapping("/updateHouse.html")
public String toUpdatePage(int houseId, HttpServletRequest request) {
House house = dao.findHouseDetailsById(houseId);
request.getSession().setAttribute("House", house);
return "/admin/updateHouse.jsp";
}
}
首页控制器
@Controller
public class HomeController {
@Autowired
private IHouseService service;
/**
* 首页
*
* @param request request
* @return view
*/
@GetMapping({"/index.html", "/"})
public String index(HttpServletRequest request) {
List<House> findHomeInfo = service.findHomeInfo();
request.getSession().setAttribute("House", findHomeInfo);
return "index/index.jsp";
}
/**
* 模糊查询
*
* @param request request
* @param keywords keywords
* @return res
*/
@PostMapping("/fuzzy")
public String findHouseByLike(HttpServletRequest request, String keywords) {
List<House> findHomeInfo = service.findHouseByLike(keywords);
request.getSession().removeAttribute("House");
request.getSession().setAttribute("House", findHomeInfo);
return "index/index.jsp";
}
/**
* 价格升序查询
*
* @param request request
* @return res
*/
@GetMapping("/priceAsc")
public String findPriceAsc(HttpServletRequest request) {
List<House> findHomeInfo = service.findHouseOrderByAsc();
request.getSession().removeAttribute("House");
request.getSession().setAttribute("House", findHomeInfo);
return "index/index.jsp";
}
/**
* 价格降序查询
*
* @param request request
* @return res
*/
@GetMapping("/priceDesc")
public String findPriceDesc(HttpServletRequest request) {
List<House> findHomeInfo = service.findHouseOrderByDesc();
request.getSession().removeAttribute("House");
request.getSession().setAttribute("House", findHomeInfo);
return "index/index.jsp";
}
}
如果也想学习本系统,下面领取。关注并回复:053ssh