Java 实战范例之线上婚纱摄影预定系统的实现
作者:qq_1334611189 发布时间:2021-08-08 14:19:42
标签:Java,婚纱摄影,预定系统
一、项目简述
功能: 前后用户的登录注册,婚纱照片分类,查看,摄影师预 订,后台订单管理,图片管理等等。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术:HTML+CSS+JavaScript+jsp+mysql+Spring+SpringMVC+mybatis+Spring boot
用户登陆信息操作代码:
/**
* 用户登陆信息操作
*/
@Controller
@RequestMapping("/user")
@Scope("prototype")
public class UserController {
private static final Logger logger = LoggerFactory.getLogger(UserController.class);
private ReturnResult returnResult = new ReturnResult();
@Resource(name = "userService")
private IUserService userService;
/**
* 登录
* @param user
* @param session
* @return
*/
@RequestMapping(value = "login")
@ResponseBody
public ReturnResult login(TUser user, HttpSession session) {
returnResult.setStatus(ReturnCodeType.FAILURE);
try {
user = userService.login(user);
if (user != null) {
user.setPassword(null);
session.setAttribute("user", user);
returnResult.setStatus(ReturnCodeType.SUCCESS);
}
} catch (Exception e) {
logger.error("登录失败" + e);
}
return returnResult;
}
/**
* 从session中获取用户信息
* @param session
* @return
*/
@RequestMapping("getUserInfo")
@ResponseBody
public ReturnResult getUserInfo(HttpSession session) {
returnResult.setStatus(ReturnCodeType.FAILURE);
TUser user = (TUser) session.getAttribute("user");
if (user != null) {
returnResult.setStatus(ReturnCodeType.SUCCESS).setData(user);
} else {
logger.info("获取用户信息失败:用户未登录");
}
return returnResult;
}
/**
* 注册用户
* @param user
* @return
*/
@RequestMapping(value = "register")
@ResponseBody
public ReturnResult register(TUser user) {
returnResult.setStatus(ReturnCodeType.FAILURE);
try {
if (userService.checkUserByName(user.getName())) {
if (userService.register(user) >= 0) {
returnResult.setStatus(ReturnCodeType.SUCCESS);
}
}
} catch (Exception e) {
logger.error("注册失败" + e);
}
return returnResult;
}
/**
* 检测用户名是否存在
* @param name
* @return
*/
@RequestMapping(value = "checkUserName")
@ResponseBody
public ReturnResult checkUserName(String name) {
returnResult.setStatus(ReturnCodeType.FAILURE);
try {
if (userService.checkUserByName(name)) {
returnResult.setStatus(ReturnCodeType.SUCCESS);
}
} catch (Exception e) {
logger.error("检测用户名是否存在失败:" + e);
}
return returnResult;
}
/**
* 管理员查看所有的用户信息
* @param session
* @return
*/
@RequestMapping("getAllUserInfo")
@ResponseBody
public ReturnResult getAllUserInfo(HttpSession session,PageVO page,String name) {
returnResult.setStatus(ReturnCodeType.FAILURE);
try {
if (session.getAttribute("admin") != null) {
Map<String, Object> resultMap = new HashMap<String, Object>();
StringBuffer sql = new StringBuffer("SELECT DISTINCT * FROM t_user WHERE 1=1");
if(StringUtils.isNotBlank(name)){
sql.append(" AND name="+name);
}
List<Map<String, Object>> results = userService.selectPageBySQL(sql.toString(), page.getPage() - 1,
page.getRows());
if (!results.isEmpty() && results != null) {
int total = userService.selectCount(new TUser());
int rows = page.getRows();
rows = rows == 0 ? 10 : rows;
resultMap.put("total", (total % rows != 0 ? (total / rows + 1) : (total / rows)));
resultMap.put("page", page.getPage());
resultMap.put("records", total);
resultMap.put("rows", results);
returnResult.setStatus(ReturnCodeType.SUCCESS).setData(resultMap);
}
} else {
logger.info("获取所有的用户信息失败:管理员未登录");
}
} catch (Exception e) {
logger.error("获取所有的用户信息失败:" + e);
}
return returnResult;
}
/**
* 退出
* @param session
* @return
*/
@RequestMapping("logout")
@ResponseBody
public ReturnResult logout(HttpSession session) {
session.invalidate();
return returnResult.setStatus(ReturnCodeType.SUCCESS);
}
/**
* 修改密码
* @param oldPassword
* @param password
* @param session
* @return
*/
@RequestMapping("updatePassword")
@ResponseBody
public ReturnResult updatePassword(TUser user) {
returnResult.setStatus(ReturnCodeType.FAILURE);
try {
if (userService.updatePassword(user) > 0) {
returnResult.setStatus(ReturnCodeType.SUCCESS);
}
} catch (Exception e) {
logger.error("修改密码失败:" + e);
}
return returnResult;
}
}
来源:https://blog.csdn.net/m0_59687645/article/details/121204024
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- Controller简介Controller控制器,是MVC中的部分C,为什么是部分呢?因为此处的控制器主要负责功能处理部分:1、收集、验证
- 本文实例讲述了C#中lock的用法。分享给大家供大家参考。具体分析如下:lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。这
- 定义注解也叫原数据,它是JDK1.5及之后版本引入的一个特性,它可以声明在类、方法、变量等前面,用来对这些元素进行说明。作用生成文档:通过代
- 委托(delegate)是一种可以把引用存储为函数的类型,这类似于c++中的函数指针。回调函数c++中的回调函数,就是用函数指针来实现的。类
- 本文实例讲述了C#编程实现动态改变配置文件信息的方法。分享给大家供大家参考,具体如下:配置文件实际上就是一个XML文件,所以我们可以使用Xm
- 本文实现了一个有趣的小东西:使用自定义View绘图,一边画线,画出的线条渐渐变淡,直到消失。效果如下图所示:用属性动画或者渐变填充(Shad
- java8的stream取max public static void main(String[] args) { &
- volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人
- DateTime dt = DateTime.Now;Label1.Text = dt.ToString();//2005-11-5 13:
- 本文给大家带来一个很实用的小控件ClearEditText,就是在Android系统的输入框右边加入一个小图标,点击小图标可以清除输入框里面
- 本文实例讲述了C#数据结构之单链表(LinkList)实现方法。分享给大家供大家参考,具体如下:这里我们来看下“单链表(LinkList)”
- 在开发Web办公系统或文档系统时,PageOffice组件是众所周知的在线处理微软word/ppt/excel文档的强大工具,它对WORD文
- FloatingActionButton项目在github上的主页:https://github.com/futuresimple/andr
- 声明一个可变数量的参数: Static int Add(params int[] values) { int sum = 0; if(val
- 本文实例为大家分享了Java实现学生管理系统的具体代码,供大家参考,具体内容如下1.学生管理系统(控制台界面实现)//学生类,继承Seria
- 前言我们在 WPF 中使用绑定时可以使用 ElementName=Foo 这样的写法,并且还能够真的在运行时找到这个名称对应的对象,是因为
- 本文实例讲述了Android实现彩信附件的添加与删除功能。分享给大家供大家参考,具体如下:添加附件在ComposeMessageActivi
- Java基础面试题及答案集锦(基础题122道,代码题19道),具体详情如下所示:1、面向对象的特征有哪些方面1.抽象:抽象就是忽略一个主题中
- 使用RestTemplate时报错RestClientException这是自己封装的一个发送请求的方法public Map&l
- 本文实例为大家分享了springboot+vue实现垃圾分类管理系统的具体代码,供大家参考,具体内容如下一、项目概述1.项目内容本项目利用I