Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 상속
- Spring
- kotlin
- degit
- 코틀린
- 게시판
- Spinner
- 미니게임
- 숫자
- webpack
- 스프링
- React
- parcel
- 시큐어코딩
- FIle
- 스타일보험
- SQL
- 쿠키
- 버전일치
- Android
- 왕초보
- 오버라이드
- java
- 함수
- sub query
- 답글
- git
- snowpack
- java#왕초보
- 안드로이드
Archives
- Today
- Total
YSHUSH
로그인 본문
1. Member.xml 업데이트
<select id="login" parameterType="mul.camp.a.dto.MemberDto"
resultType="mul.camp.a.dto.MemberDto">
SELECT ID, NAME, EMAIL, AUTH
FROM MEMBER
WHERE ID=#{id} AND PWD=#{pwd}
</select>
2. MemberDao, MemberDaoImpl 업데이트
MemberDao
public interface MemberDao {
MemberDto login(MemberDto mem);
}
MemberDaoImpl
@Repository
public class MemberDaoImpl implements MemberDao {
@Autowired
SqlSession session;
String ns = "Member.";
@Override
public MemberDto login(MemberDto mem) {
return session.selectOne(ns + "login", mem);
}
}
3. MemberService, MemberServiceImpl 업데이트
MemberService
public interface MemberService {
MemberDto login(MemberDto mem);
}
MemberServiceImpl
@Service
public class MemberServiceImpl implements MemberService{
@Autowired
MemberDao dao;
@Override
public MemberDto login(MemberDto mem) {
return dao.login(mem);
}
}
4. MemberController 업데이트
@Controller
public class MemberController {
private static Logger logger = LoggerFactory.getLogger(MemberController.class);
@Autowired
MemberService service;
@RequestMapping(value = "login.do", method = RequestMethod.GET)
public String login() {
logger.info("MemberController login() " + new Date());
return "login";
// return "loginCSS";
}
@RequestMapping(value = "loginAf.do", method = RequestMethod.POST)
public String loginAf(MemberDto dto, HttpServletRequest req) { // request == HttpServletRequest
logger.info("MemberController loginAf() " + new Date());
MemberDto mem = service.login(dto);
if(mem != null) { // 정상적인 로그인
// login 정보를 저장 -> session
req.getSession().setAttribute("login", mem);
return "redirect:/bbslist.do";
}
else { // 회원정보에 없음
return "redirect:/login.do";
}
}
}
5. login.jsp 만들고 업데이트
views 폴더 내에 login.jsp를 만들고 로그인 폼을 작성한다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
.center{
margin: auto;
width: 60%;
border: 3px solid #0000ff;
padding: 10px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="http://lab.alexcican.com/set_cookies/cookie.js" type="text/javascript" ></script>
</head>
<body>
<h2>login page</h2>
<div class="center">
<form id="frm" action="loginAf.do" method="post">
<table border="1">
<tr>
<th>아이디</th>
<td>
<input type="text" id="id" name="id" size="20"><br>
<input type="checkbox" id="chk_save_id">아이디 저장
</td>
</tr>
<tr>
<th>패스워드</th>
<td>
<input type="password" name="pwd" id="pwd" size="20">
</td>
</tr>
<tr>
<td colspan="2">
<!-- <input type="submit" value="로그인"> -->
<button type="button" onclick="login()">로그인</button>
<a href="regi.do">회원가입</a>
</td>
</tr>
</table>
</form>
</div>
<script type="text/javascript">
function login() {
if($("#id").val().trim() == ""){
}else if($("#pwd").val().trim() == ""){
}else{
alert('submit');
$("#frm").submit();
}
}
</script>
</body>
</html>
6. 아이디 쿠키에 저장 여부
login.jsp 스크립트 태그 내부에 작성(jquery사용)
/*
web 저장공간
session : web server의 저장공간. java 사용자정보 -> object
cookie : web client의 저장공간. JavaScript id, pw, 방문회수 -> String
*/
let user_id = $.cookie("user_id"); // cookie에서 데이터를 산출 = aaa, bbb
// model.addattribute("list", list)
<script>
f(user_id != null){ // cookie에 저장된 값이 있음
$("#id").val( user_id );
// $("#chk_save_id").attr("checked", "checked");
$("#chk_save_id").prop("checked", true);
}
$("#chk_save_id").click(function () {
// alert("click");
if( $("#chk_save_id").is(":checked") ){ // 첵크되었을 경우
// alert("첵크");
if($("#id").val().trim() == ""){ // java java
// alert("빈문자");
alert("id를 입력해 주십시오");
$("#chk_save_id").prop("checked", false);
$("#id").val("");
}else{
// 쿠키에 저장
$.cookie("user_id", $("#id").val().trim(), { expires:7, path:'./' });
}
}
else{
// alert("첵크무효!");
$.removeCookie("user_id", { path:'./' });
}
});
</script>
'Coding > SpringFramework' 카테고리의 다른 글
게시판2. 게시판 목록 & 글쓰기 (0) | 2022.01.25 |
---|---|
게시판1. 기본 빌드 (0) | 2022.01.25 |
회원가입시 아이디 확인, 빈칸 허용하지 않기 (0) | 2022.01.24 |
회원가입 (0) | 2022.01.24 |
스프링 빌드순서 (0) | 2022.01.23 |