728x90
로그인을 클릭해서 페이지에 넘어 왔을때
버튼 옆에다 회원가입 버튼을 하나 더 만들었다.
추가된 파일은 이러하다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="utils.CookieManager" %>
<%
String loginId = CookieManager.readCookie(request, "loginId");
//CookieManager.java에서 static으로 Cookie객체가 생성되기 때문에
//import해온 IdSaveMain.jsp에서는 새로 객체를 생성할 필요가 없다.
String cookieCheck = "";
if(!loginId.equals("")){
cookieCheck = "checked";
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>지금 당장 로그인!!</h2>
<form action="./process/IdSaveProcess.jsp" method="post">
<br/>
회원님을 기억할까요?
<input type="checkbox" name="save_check" value="Y" <%= cookieCheck %> />
<br/>
<br/>
<input class="form-control form-control-lg" type="text" name="user_id" value="<%= loginId %>" placeholder="아이디를 입력해 주세요!!" aria-label=".form-control-lg example">
<br/>
<br/>
<input class="form-control form-control-lg" type="text" name="user_pw" placeholder="비밀번호를 입력해 주세요!!" aria-label=".form-control-lg example">
<br/>
<br/>
<button type="submit" class="btn btn-success">로그인하기</button>
<button type="button" class="btn btn-primary" onclick="location='./signUp/addUser.jsp'">회원가입</button>
</form>
</body>
</html>
여기서 문제가 생기는데
제작 했을때 상대 경로로 안해 뒀었다.
메뉴 문제이다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<nav class="navbar navbar-expand navbar-dark bg-dark">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="/WebMarketY/Web/Welcome.jsp">Home</a>
<a class="navbar-brand" href="/WebMarketY/Web/ProductGuest.jsp">Product</a>
</div>
<div class="navbar-header">
<button type="button" class="btn btn-info" onclick="location='LoginDisplay.jsp'">로그인</button>
<button type="button" class="btn btn-info" onclick="location='Welcome.jsp'">로그아웃</button>
</div>
</div>
</nav>
항상 그 위치에 있는 파일을 선택 해야 므로
/ 를 사용해서 위치를 정확하게 알려준다면
어디서든 그 화면을 띄울 것이다.
회원가입 페이지를 만들어 보자
코드는 이러하다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ include file="../menu.jsp"%>
<%!String greeting = "당장 참여 하세요!!";%>
<div class="jumbotron">
<div class="container">
<h1 class="display-3">
<%=greeting%>
</h1>
</div>
</div>
<form action="ExeUpdate.jsp" method="get">
<h2>지금 당장 가입!!</h2>
<br/>
<br/>
<input class="form-control form-control-lg" type="text" name="ID" placeholder="아이디를 입력해 주세요!!" aria-label=".form-control-lg example">
<br/>
<br/>
<input class="form-control form-control-lg" type="text" name="PASS" placeholder="비밀번호를 입력해 주세요!!" aria-label=".form-control-lg example">
<br/>
<br/>
<input class="form-control form-control-lg" type="text" name="NAME" placeholder="닉네임을 입력해 주세요!!" aria-label=".form-control-lg example">
<br/>
<br/>
<button type="submit" class="btn btn-danger">가입은 못참지</button>
</form>
</body>
</html>
사용자가 입력한 값을 받아 주어야한다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import ="java.sql.Connection" %>
<%@ page import = "common.JDBConnect" %>
<%@ page import="utils.JSFunction" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
JDBConnect jdbc = new JDBConnect();
request.setCharacterEncoding("UTF-8");
String id = request.getParameter("ID");
String pass = request.getParameter("PASS");
String name = request.getParameter("NAME");
try {
String sql = "INSERT INTO member VALUES(?, ?, ?, sysdate)";
PreparedStatement pstmt = jdbc.con.prepareStatement(sql);
pstmt.setString(1, id);
pstmt.setString(2, pass);
pstmt.setString(3, name);
int inResult = pstmt.executeUpdate();
if(inResult == 1) {
response.sendRedirect("congrat.jsp");
jdbc.close();
}
} catch(Exception e) {
response.sendRedirect("addUser.jsp");
JSFunction.alertBack("옳지 않은 정보 다시 가입", out);
e.printStackTrace();
}
%>
</body>
</html>
하나라도 입력을 안하거나 잘못됬다면,
회원가입 페이지로 바로 보내 버린다.
회원가입이 성공적으로 완료 되었을 때
사용자에게 축하의 메세지가 담겨있는 페이지를 제작해보자.
코드는 이러하다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
#botton1{
margin: auto;
text-align: center;
}
</style>
</head>
<body>
<%@ include file="../menu.jsp"%>
<%!String greeting = "회원 가입 완료!!";
String tagline = "성공적으로 가입 완료 !!";%>
<div class="jumbotron">
<div class="container">
<h1 class="display-3">
<%=greeting%>
</h1>
</div>
</div>
<div class="container">
<div class="text-center">
<h3>
<%=tagline%>
<br/>
<br/>
<button type="button" class="btn btn-info" id="botton1" onclick="location='../Welcome.jsp'">홈으로 가기</button>
</h3>
</div>
</div>
<br/>
<br/>
<%@ include file="../footer/footer.jsp"%>
</body>
</html>
728x90
'국비교육 [完] > WebMarket' 카테고리의 다른 글
7. 로그인 유지 기능 (0) | 2023.03.09 |
---|---|
6. 세션으로 로그인 (0) | 2023.03.09 |
4. 데이터 베이스 로그인 기능 구현 (0) | 2023.03.01 |
3. 상품 목록 만들기 (0) | 2023.03.01 |
2. 홈페이지 첫 화면을 만들어보자 (0) | 2023.03.01 |