글로리아-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
반응형