전체 흐름 요약
[요청] /farmStory/find/resultUserId.do
↓
[ResultUserIdController.doGet]
↓
[RequestDispatcher]
↓
[resultUserId.jsp]
[1] ResultUserIdController.java — 아이디 찾기 결과 처리 컨트롤러
@WebServlet("/find/resultUserId.do")
public class ResultUserIdController extends HttpServlet {
private static final long serialVersionUID = 1275653365653325736L;
private UserService service = UserService.INSTANCE;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session = req.getSession();
UserDTO userdto = (UserDTO) session.getAttribute("sessUser"); // 세션에서 회원 정보 조회
req.setAttribute("dto", userdto); // JSP에 회원 정보를 전달
// 회원 정보 결과 페이지로 포워딩
RequestDispatcher dispatcher = req.getRequestDispatcher("/WEB-INF/view/find/resultUserId.jsp");
dispatcher.forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String email = req.getParameter("email");
// 현재 POST 요청 시 별도의 처리 없이 동일 뷰 포워딩
RequestDispatcher dispatcher = req.getRequestDispatcher("/WEB-INF/view/find/resultUserId.jsp");
dispatcher.forward(req, resp);
}
}
- doGet
- 세션에서
sessUser 속성으로 저장된 UserDTO 객체를 가져옴.
- 해당 정보를
dto라는 이름으로 request 속성에 담아 JSP로 전달.
- JSP 뷰(
/WEB-INF/view/find/resultUserId.jsp)로 포워딩하여 결과 페이지 렌더링.
- doPost
- 현재는 POST에서 이메일 파라미터만 받고 별도 로직 없이 동일 뷰로 포워딩만 수행.
- 향후 필요 시 POST 처리 로직 추가 가능.
[2] resultUserId.jsp — 아이디 찾기 결과 화면
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>아이디 찾기 결과</title>
<link rel="stylesheet" href="/farmStory/css/layout_bg.css"/>
<link rel="stylesheet" href="../css/find/resultUserId.css"/>
</head>
<%@ include file="../layout/_header.jsp" %>
<main>
<section>
<form action="#" method="post">
<h2>아이디 찾기 결과</h2>
<table>
<tbody>
<tr>
<td>이름</td>
<td>${dto.name}</td>
</tr>
<tr>
<td>아이디</td>
<td>${dto.uid}</td>
</tr>
<tr>
<td>이메일</td>
<td>${dto.email}</td>
</tr>
<tr>
<td>가입일</td>
<td>${dto.regDate}</td>
</tr>
</tbody>
</table>
</form>
<p>고객님의 정보와 일치하는 아이디 입니다.</p>
<div>
<a href="/farmStory/user/login.do">로그인</a>
<a href="./password.do">비밀번호 찾기</a>
</div>
</section>
</main>
<%@ include file="../layout/_footer.jsp" %>
dto 객체에서 사용자 정보를 출력 (JSTL 표현식 사용).
- 아이디 찾기 결과를 표 형태로 보여주며, 이름, 아이디, 이메일, 가입일 표시.
- 결과 메시지와 함께 로그인 페이지 및 비밀번호 찾기 페이지로 이동할 수 있는 링크 제공.
- 헤더, 푸터 JSP 파일을 포함하여 공통 레이아웃 유지.
요약
| 파일명 |
기능 |
주요 역할 |
개선점 |
ResultUserIdController.java |
아이디 찾기 결과 화면 컨트롤러 |
세션에서 사용자 정보 조회 후 JSP 전달 |
POST 메서드 불필요, 세션 예외 처리 필요 |
resultUserId.jsp |
아이디 찾기 결과 화면 |
회원 정보를 표 형태로 출력 |
불필요한 폼 태그 제거, 빈값 처리 및 개인정보 마스킹 추가 |