🧩index.jsp
<body>
<a href="app/user/joinview.jsp">회원가입</a><br>
<a href="${pageContext.request.contextPath}/user/UserLogin.us">로그인</a>
</body>
🧩loginview.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<body>
<c:if test="${not empty param.flag}">
<c:if test="${not param.flag }">
<script>
alert("로그인 실패!");
</script>
</c:if>
</c:if>
<form action="${pageContext.request.contextPath }/user/UserLoginOk.us" method="post">
<p>
아이디 <input type="text" name="userid">
</p>
<p>
패스워드 <input type="password" name="userpw">
</p>
<p>
<input type="submit" value="로그인하기">
</p>
</form>
</body>
🧩UserFrontController.java
protected void doProcess(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String requestURI = req.getRequestURI();
ActionForward forward = null;
if( requestURI.equals("/user/UserJoin.us") ) {
System.out.println("frontcontroller 도착");
forward = new UserJoinAction().execute(req, resp);
} else if( requestURI.equals("/user/UserLogin.us") ) {
forward = new ActionForward(false, "/app/user/loginview.jsp");
} else if( requestURI.equals("/user/UserLoginOk.us") ) {
forward = new UserLoginOkAction().execute(req, resp);
}
🧩UserLoginOkAction.java
public class UserLoginOkAction implements Action {
@Override
public ActionForward execute(HttpServletRequest req, HttpServletResponse resp) {
ActionForward forward = new ActionForward();
UserDAO udao = new UserDAO();
String userid = req.getParameter("userid");
String userpw = req.getParameter("userpw");
if(udao.login(userid, userpw)) {
forward.setPath("/app/main/mainview.jsp");
} else {
forward.setPath("/app/user/loginview.jsp?flag=false");
}
forward.setRedirect(false);
return forward;
}
}
🧩UserDAO.java
public boolean login(String userid, String userpw) {
HashMap<String, String> datas = new HashMap<>();
datas.put("userid", userid);
datas.put("userpw", userpw);
boolean result = false;
if((Integer)sqlsession.selectOne("User.login",datas) == 1) {
result = true;
}
return result;
}
🧩user.xml
<select id="login" parameterType="hashmap" resultType="_int">
select count(*) from "USER" where userid = #{userid} and userpw = #{userpw}
</select>
🧩결과