package com.excited.controller;
import com.excited.domain.User;
import com.excited.domain.UserLoginLog;
import com.excited.service.LoginLogService;
import com.excited.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.sql.Timestamp;
import java.util.Date;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@Autowired
private LoginLogService loginLogService;
// 用户登录
@RequestMapping(value = "/userLogin", method = RequestMethod.POST)
public String userLogin(User loginUser, HttpServletRequest request, RedirectAttributes redirect) {
// 通过用户名查找User对象
User user = userService.getUserByUserName(loginUser.getUserName());
String password = "";
if (user != null) {
password = userService.getPassword(user.getUserName());
}
// 判断登录信息是否正确
if (user != null && loginUser.getPassword().equals(password)) {
// 获取登录基本信息
String lastIp = request.getRemoteAddr();
String userName = user.getUserName();
Timestamp lastLoginTime = new Timestamp(new Date().getTime());
// 更新用户信息
user.setLastIp(lastIp);
user.setLastLoginTime(lastLoginTime);
user.setCredit(5 + user.getCredit());
userService.updateUserByUserName(user);
// 更新用户登录日志
UserLoginLog userLoginLog = new UserLoginLog();
userLoginLog.setUserName(userName);
userLoginLog.setLoginIp(lastIp);
userLoginLog.setLoginDateTime(lastLoginTime);
loginLogService.addUserLoginLog(userLoginLog);
// 登陆成功,跳转到主页
request.getSession().setAttribute("username", user.getUserName());
return "redirect:/main";
}
// 登录失败,跳转页面
request.setAttribute("Msg", "登录失败");
return "error";
}
// 用户注册
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String userRegister(User userRegister, HttpServletRequest request) {
User user = userRegister;
if (user != null) {
try {
String username = user.getUserName();
String ip = request.getRemoteAddr();
// 如果数据库中没有该用户,可以注册,否则跳转页面
if (userService.getUserByUserName(username) == null) {
// 添加用户
user.setLastIp(ip);
Timestamp createLoginTime = new Timestamp(new Date().getTime());
user.setCreateTime(createLoginTime);
user.setLastLoginTime(createLoginTime);
userService.addUser(user);
// 添加用户登录日志
UserLoginLog userLoginLog = new UserLoginLog();
userLoginLog.setUserName(username);
userLoginLog.setLoginIp(ip);
userLoginLog.setLoginDateTime(createLoginTime);
loginLogService.addUserLoginLog(userLoginLog);
// 注册成功跳转
request.setAttribute("username", username);
return "index";
} else {
request.setAttribute("Msg", "注册失败,用户名已被占用!");
return "error";
}
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("Msg", "发生未知错误!");
return "error";
}
}
request.setAttribute("Msg", "发生未知错误!");
return "error";
}
// 显示个人信息
@RequestMapping(value = "/listUserInfo")
public String listUserInfo(String username, HttpServletRequest request) {
User user = userService.getUserByUserName(username);
request.setAttribute("user", user);
return "user/userInfo";
}
// 修改个人信息页面
@RequestMapping(value = "/userUpdateInfo", method = RequestMethod.GET)
public String userUpdateInfoPage(String username, HttpServletRequest request) {
User user = userService.getUserByUserName(username);
request.setAttribute("user", user);
return "user/userUpdateInfo";
}
// 提交用户修改信息
@RequestMapping(value = "/updateUserInfo", method = RequestMethod.POST)
public String updateUserInfo(User user, RedirectAttributes redirectAttributes) {
User newUser = user;
userService.updateUserByUserName(newUser);
redirectAttributes.addAttribute("username", newUser.getUserName());
return "redirect:listUserInfo";
}
// 用户注销功能
@RequestMapping(value = "/loginOut")
public String loginOut(HttpServletRequest request) {
request.getSession().removeAttribute("username");
return "index";
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
一、项目简述 功能:本系统分用户前台和管理员后台。 用户前台主要功能有: 用户注册 用户登录 浏览帖子 回复帖子 修改个人资料 管理员后台的功能有: 管理论坛版块 用户管理 回复管理; 二、项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。
资源推荐
资源详情
资源评论
收起资源包目录
Java项目:清新论坛系统(java+SSM+mysql+maven+tomcat) (277个子文件)
UserController.class 5KB
UserController.class 5KB
Post.class 4KB
Post.class 4KB
AdminController.class 4KB
AdminController.class 4KB
User.class 4KB
User.class 3KB
MainController.class 3KB
MainController.class 3KB
PostController.class 3KB
PostController.class 3KB
Reply.class 2KB
Reply.class 2KB
BoardServiceImpl.class 2KB
BoardServiceImpl.class 2KB
Board.class 2KB
Board.class 2KB
UserLoginLog.class 2KB
UserLoginLog.class 2KB
ReplyServiceImpl.class 2KB
ReplyServiceImpl.class 2KB
PostServiceImpl.class 2KB
PostServiceImpl.class 2KB
UserServiceImpl.class 2KB
UserServiceImpl.class 2KB
ReplyController.class 1KB
ReplyController.class 1KB
BoardController.class 1KB
BoardController.class 1KB
LoginLogServiceImpl.class 916B
LoginLogServiceImpl.class 916B
UserDao.class 658B
UserDao.class 658B
BoardService.class 602B
BoardService.class 602B
BoardDao.class 596B
BoardDao.class 596B
UserService.class 530B
UserService.class 530B
PostDao.class 478B
PostDao.class 478B
ReplyDao.class 464B
ReplyDao.class 464B
UserLoginLogDao.class 405B
UserLoginLogDao.class 405B
PostService.class 374B
PostService.class 374B
ReplyService.class 325B
ReplyService.class 325B
LoginLogService.class 232B
LoginLogService.class 232B
.classpath 6KB
org.eclipse.wst.common.component 652B
org.eclipse.wst.jsdt.ui.superType.container 49B
material.min.css 136KB
material.min.css 136KB
game.css 2KB
game.css 2KB
material-icons.css 2KB
material-icons.css 2KB
style.css 98B
style.css 98B
SSM.eml 4KB
MaterialIcons-Regular.eot 140KB
MaterialIcons-Regular.eot 140KB
t-rex-runner-bot.gif 737KB
t-rex-runner-bot.gif 737KB
novas-coisas.gif 387KB
novas-coisas.gif 387KB
hello-kugou.gif 380KB
hello-kugou.gif 380KB
kumamon-runner.gif 270KB
kumamon-runner.gif 270KB
screenshot.gif 135KB
screenshot.gif 135KB
.gitignore 184B
SSM.iml 1KB
aspectjweaver-1.8.8.jar 1.78MB
mybatis-3.4.1.jar 1.51MB
spring-context-4.2.5.RELEASE.jar 1.05MB
spring-core-4.2.5.RELEASE.jar 1.03MB
mysql-connector-java-5.1.35.jar 946KB
spring-webmvc-4.2.5.RELEASE.jar 856KB
spring-web-4.2.5.RELEASE.jar 749KB
spring-beans-4.2.5.RELEASE.jar 714KB
spring-data-commons-1.12.5.RELEASE.jar 677KB
spring-test-4.2.5.RELEASE.jar 549KB
log4j-1.2.17.jar 478KB
spring-orm-4.2.5.RELEASE.jar 456KB
spring-websocket-4.2.5.RELEASE.jar 426KB
spring-jdbc-4.2.5.RELEASE.jar 414KB
jstl-1.2.jar 405KB
standard-1.1.2.jar 384KB
spring-messaging-4.2.5.RELEASE.jar 364KB
spring-aop-4.2.5.RELEASE.jar 361KB
spring-data-jpa-1.10.5.RELEASE.jar 274KB
spring-jms-4.2.5.RELEASE.jar 273KB
spring-tx-4.2.5.RELEASE.jar 259KB
spring-expression-4.2.5.RELEASE.jar 257KB
共 277 条
- 1
- 2
- 3
资源评论
- java毕业2022-12-23资源很赞,希望多一些这类资源。
OldWinePot
- 粉丝: 8499
- 资源: 392
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功