DATA 분석 교육 과정 (2024.02~08)/JSP&Servlet
Mybatis/Lombok (실습)_Login
글로리아-89
2024. 4. 18. 18:10
728x90
<Main.jsp>
<nav id="menu">
<ul class="links">
<!-- Q3. 로그인 기능 만들기 -->
<li><h5>로그인</h5></li>
<form action="LoginCon" method="post">
<li><input name = "email" type="text" placeholder="Email을 입력하세요"></li>
<li><input name = "pw" type="password" placeholder="PW를 입력하세요"></li>
<li><input type="submit" value="LogIn" class="button fit"></li>
</form>
</ul>
<LoginCon.java>
package com.smhrd.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.smhrd.model.MemberDAO;
import com.smhrd.model.MemberDTO;
public class LoginCon extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 로그인 확인용
System.out.println("[login con 확인용]");
//디코딩
request.setCharacterEncoding("UTF-8");
//입력받은 데이터 불러오기
String email= request.getParameter("email");
String pw= request.getParameter("pw");
System.out.println("email : "+email);
System.out.println("pw : "+pw);
// <DTO 파일로 이동 > 입력 받은 데이터 dto로 묶어주기
MemberDTO dto = new MemberDTO(email,pw);
// <MAPPER >> DAO>> 다시 돌아옴> 로그인 메소드 출력
MemberDTO info = new MemberDAO().login(dto);
// console 창 확인
if(info !=null) {
System.out.println("로그인 성공");
// 로그인 정보 session에 저장하기
HttpSession session = request.getSession();
session.setAttribute("info", info);
} else {
System.out.println("로그인 실패");
}
// 최종 출력
response.sendRedirect("Main.jsp");
}
}
<MemberDTO.java>
<Mapper.xml>
<select id="login" parameterType="MemberDTO" resultType="MemberDTO">
select * from web_member where email = #{email} and pw = #{pw}
</select>
<MemberDAO.java>
// 로그인 메소드
//select* from web_member where id=? and pw=?
public MemberDTO login(MemberDTO dto) {
SqlSession session = sqlSessionFactory.openSession(true);
MemberDTO info = session.selectOne("login", dto);
session.close();
return info;
}
출처: 스마트인재개발원
728x90
반응형