KDT/WEB

240206 WEB(펍웹3, GitHub)

001cloudid 2024. 2. 6. 12:52
728x90

updatePro

package com.itwillbs.controller;

import javax.inject.Inject;
import javax.servlet.http.HttpSession;

import org.springframework.http.HttpRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import com.itwillbs.domain.MemberDTO;
import com.itwillbs.service.MemberService;

@Controller
@RequestMapping("/member/*")
public class MemberController {
	
	(...생략...)
	
	// 가상주소 http://localhost:8080/funweb/member/updatePro post방식
	// update.jsp에서 입력한 데이터 => request => MemberDTO memberDTO 변수에 전달
	// 디비 작업 MemberDTO memberDTO2 = userCheck(memberDTO) 메소드 호출
	// memberDTO2가 null이 아니면 => updateMember(memberDTO) 메소드 호출, /member/main 주소 변경되면서 이동
	//			   null이면 	  => /member/update 주소 변경되면서 이동
	@PostMapping("/updatePro")
	public String updatePro(MemberDTO memberDTO) {
		System.out.println("MemberController updatePro()");
		MemberDTO memberDTO2 = memberService.userCheck(memberDTO);
		if(memberDTO2!=null) {
			memberService.updateMember(memberDTO);
			return "redirect:/member/main";
		} else {
			return "redirect:/member/update";			
		}
	}

}

 

package com.itwillbs.service;

import java.sql.Timestamp;

import javax.inject.Inject;

import org.springframework.stereotype.Service;

import com.itwillbs.dao.MemberDAO;
import com.itwillbs.domain.MemberDTO;

@Service
public class MemberService {

	(...생략...)

	public void updateMember(MemberDTO memberDTO) {
		System.out.println("MemberService updateMember()");
		memberDAO.updateMember(memberDTO);
	}
	
}

 

package com.itwillbs.dao;

import javax.inject.Inject;

import org.apache.ibatis.session.SqlSession;
import org.springframework.stereotype.Repository;

import com.itwillbs.domain.MemberDTO;

@Repository
public class MemberDAO {
	
	(...생략...)

	public void updateMember(MemberDTO memberDTO) {
		System.out.println("MemberDAO updateMember()");
		sqlSession.update(namespace+".updateMember", memberDTO);
	}
	
}

 

redirect 대신 자바스크립트로 이동

기존 새로운 페이지임

뒤로 이동으로 변경

package com.itwillbs.controller;

import javax.inject.Inject;
import javax.servlet.http.HttpSession;

import org.springframework.http.HttpRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import com.itwillbs.domain.MemberDTO;
import com.itwillbs.service.MemberService;

@Controller
@RequestMapping("/member/*")
public class MemberController {
	
	//MemberService 파일 만들고 MemberService 객체 생성 => 멤버변수 자동으로 주입
	@Inject
	private MemberService memberService; 
	
	(...생략...)
	
	// 가상주소 http://localhost:8080/funweb/member/loginPro, post방식
	// login.jsp에서 입력한 데이터 => request => MemberDTO memberDTO 변수에 전달
	// DB 작업 : MemberDTO memberDTO2 = userCheck(memberDTO)
	// memberDTO2 null이 아니면 아이디, 비밀번호가 일치 => 로그인 표시 세션값을 "id",값 => /memeber/main 주소가 변경되면서 이동
	//		      null이면 아이디, 비밀번호가 틀림 => /memeber/login 주소 변경되면서 이동
	@PostMapping("/loginPro")
	public String loginPro(MemberDTO memberDTO, HttpSession session) {
		System.out.println("MemberController loginPro()");
		MemberDTO memberDTO2 = memberService.userCheck(memberDTO);
		if(memberDTO2 != null) {
			session.setAttribute("id",memberDTO.getId());
			return "redirect:/member/main";
		} else {
//			return "redirect:/member/login"; member/msg.jsp 주소 변경없이 이동
			return "member/msg";
		}
	}
    (...생략...)
}

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>member/msg.jsp</title>
</head>
<body>
<script type="text/javascript">
	alert("아이디, 비밀번호 틀림");
	history.back(); //뒤로 이동
</script>
</body>
</html>

 


GitHub

※형상관리

선 백업 후 작업

 

*저장소 생성 - 주소
*토큰발급(프로젝트 진행시 비밀번호 사용)
프로필-settings-Developer settings - Personal access tokens - tokens(classic)-Generate new token classic
-Note(설명) - Expiration : No expiration - Select scopes : 모두 선택 - Generate token - 토큰 번호(한번 만 보여줌 복사가 필수)

commit(작업단위 기록) push pull clone

 

프로젝트에서 우클릭 - Team - Share Project

 

프로젝트 우클릭 - Team - Commit

 

Unstatged Changes에서 Staged Changes로 파일을 추가 Commit Message 작성 후  Commit

이런 식으로 반복

 

팀프로젝트 시 백업을 해놓고 원격 저장소(github.com 저장소) 기록

Team - Push Branch 'master'...

URI에 저장소 주소

User : 주소

Password : 토큰 비밀번호

 

원격저장소에서 수정된 내용을 가져와서 병합 pull

 

가지(Branch)만들기

 

가지 이름 branch - Finish

 

팀원 초대

프로젝트 저장소 - Settings - Collaborators - Add people 초대

초대 받은 팀원 => 메일 확인 => 초대 참여

 

branch

초대받은 팀원 만 작업
팀프로젝트 주소 
스프링 GIT환경선택
Clone Git Repository
URI : 초대받은 주소다음
Local Destination
Directory : 작업폴더 지정 d:workspace_sts
Projects
체크
Import all existing Eclipse projects after clone finishes

커밋단위로 되돌리기
Team - Reset

728x90

'KDT > WEB' 카테고리의 다른 글

240213 WEB(펀웹5)  (0) 2024.02.13
240208 WEB(펀웹4(board))  (0) 2024.02.08
240205 WEB(펀웹2)  (0) 2024.02.05
240201 WEB(조회, 펀웹1)  (0) 2024.02.01
240130 WEB(회원수정,삭제)  (0) 2024.01.30