欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 實戰(zhàn)范例之線上婚紗攝影預(yù)定系統(tǒng)的實現(xiàn)

 更新時間:2021年11月12日 14:35:40   作者:qq_1334611189  
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+javaweb+SSM+springboot+mysql實現(xiàn)一個線上婚紗攝影預(yù)定系統(tǒng),大家可以在過程中查缺補漏,提升水平

一、項目簡述

功能: 前后用戶的登錄注冊,婚紗照片分類,查看,攝影師預(yù) 訂,后臺訂單管理,圖片管理等等。

二、項目運行

環(huán)境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

項目技術(shù):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;
	}
	
}

到此這篇關(guān)于Java 實戰(zhàn)項目錘煉之線上婚紗攝影預(yù)定系統(tǒng)的實現(xiàn)的文章就介紹到這了,更多相關(guān)Java 婚紗攝影預(yù)定系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談SpringBoot實現(xiàn)自動裝配的方法原理

    淺談SpringBoot實現(xiàn)自動裝配的方法原理

    SpringBoot的自動裝配是它的一大特點,可以大大提高開發(fā)效率,減少重復(fù)性代碼的編寫。本文將詳細(xì)講解SpringBoot如何實現(xiàn)自動裝配,需要的朋友可以參考下
    2023-05-05
  • SpringBoot?@Configuration與@Bean注解使用介紹

    SpringBoot?@Configuration與@Bean注解使用介紹

    這篇文章主要介紹了SpringBoot中的@Configuration與@Bean注解,在進(jìn)行項目編寫前,我們還需要知道一個東西,就是SpringBoot對我們的SpringMVC還做了哪些配置,包括如何擴展,如何定制,只有把這些都搞清楚了,我們在之后使用才會更加得心應(yīng)手
    2022-10-10
  • 關(guān)于java中可變長參數(shù)的定義及使用方法詳解

    關(guān)于java中可變長參數(shù)的定義及使用方法詳解

    下面小編就為大家?guī)硪黄P(guān)于java中可變長參數(shù)的定義及使用方法詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • 利用Java實現(xiàn)word導(dǎo)入導(dǎo)出富文本(含圖片)的詳細(xì)代碼

    利用Java實現(xiàn)word導(dǎo)入導(dǎo)出富文本(含圖片)的詳細(xì)代碼

    這篇文章主要為大家詳細(xì)介紹了利用Java實現(xiàn)word導(dǎo)入導(dǎo)出富文本(含圖片),文中的示例代碼講解詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以學(xué)習(xí)一下
    2024-02-02
  • SpringBoot整合Redisson實現(xiàn)分布式鎖

    SpringBoot整合Redisson實現(xiàn)分布式鎖

    本文主要介紹了SpringBoot整合Redisson實現(xiàn)分布式鎖,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 解決JDK版本沖突顯示問題(雙版本沖突)

    解決JDK版本沖突顯示問題(雙版本沖突)

    這篇文章主要介紹了解決JDK版本沖突顯示問題(雙版本沖突),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 利用Java自寫一個生成ID的工具類

    利用Java自寫一個生成ID的工具類

    平時項目中只要涉及表,那么一定能接觸到眾多各式各樣的ID編號。本文將通過Java語言實現(xiàn)手寫一個ID生成工具類,需要的小伙伴可以參考一下
    2022-11-11
  • spring mvc 實現(xiàn)獲取后端傳遞的值操作示例

    spring mvc 實現(xiàn)獲取后端傳遞的值操作示例

    這篇文章主要介紹了spring mvc 實現(xiàn)獲取后端傳遞的值操作,結(jié)合實例形式詳細(xì)分析了spring mvc使用JSTL 方法獲取后端傳遞的值相關(guān)操作技巧
    2019-11-11
  • 在啟動后臺 jar包時,使用指定的 application.yml操作

    在啟動后臺 jar包時,使用指定的 application.yml操作

    這篇文章主要介紹了在啟動后臺 jar包時,使用指定的 application.yml操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • SpringCloud Hystrix的使用

    SpringCloud Hystrix的使用

    這篇文章主要介紹了SpringCloud Hystrix的使用,幫助大家更好的理解和學(xué)習(xí)使用SpringCloud,感興趣的朋友可以了解下
    2021-04-04

最新評論