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

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

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

一、項(xiàng)目簡(jiǎn)述

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

二、項(xiàng)目運(yùn)行

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

項(xiàng)目技術(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;
	}
 
	/**
	 * 注冊(cè)用戶
	 * @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("注冊(cè)失敗" + e);
		}
 
		return returnResult;
 
	}
 
	/**
	 * 檢測(cè)用戶名是否存在
	 * @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("檢測(cè)用戶名是否存在失敗:" + 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("獲取所有的用戶信息失?。汗芾韱T未登錄");
			}
		} 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 實(shí)戰(zhàn)項(xiàng)目錘煉之線上婚紗攝影預(yù)定系統(tǒng)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java 婚紗攝影預(yù)定系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

    淺談SpringBoot實(shí)現(xiàn)自動(dòng)裝配的方法原理

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

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

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

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

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

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

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

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

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

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

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

    利用Java自寫一個(gè)生成ID的工具類

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

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

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

    在啟動(dòng)后臺(tái) jar包時(shí),使用指定的 application.yml操作

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

    SpringCloud Hystrix的使用

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

最新評(píng)論