📅2024. 01. 24 33일차
인트형 변수 pageSize에 5를 초기화 인트형 변수 from에 cPage - pageSize값 초기화
from이 의미하는 것은??
pageSize가 의미하는 것은???
만약 from이 1보다 작으면
from의 값을 1로 초기화
인트형 변수 end에 cPage + pageSize 값을 초기화
end가 의미하는 것은??
만약 end가 totalPage보다 크면
end변수에 totalPage 값으로 초기화
<div class="page_box page_v1">
<div class="page">
<%
if (cPage > 1) {
%>
<a href="list?page=1">◀◀</a>
<%
}
int pageSize = 5;
int from = cPage - pageSize;
if (from < 1) {
from = 1;
}
int end = cPage + pageSize;
if (end > totalPage) {
end = totalPage;
}
for (int i = from; i <= end; i++) {
%>
<a class="<%=cPage == i ? "cPage" : ""%>" href="list?page=<%=i%>"><%=i%></a>
<%
}
if (cPage < totalPage) {
%>
<a href="list?page=<%=totalPage%>">▶▶</a>
<%
}
%>
</div>
</div>
인트형 변수 pageSize에 10으로 초기화
인트형 변수 pageGroup에 cPage/pageSizer값 올림하여 초기화
인트형 변수 from에 ((pageGroup -1) * pageSize) +1로 초기화
인트형 변수 end에 pageGroup *pageSize 값으로 초기화
만약 pageGroup * pageSize값이 totalPage보다 크면 end 변수에 totalPage 값으로 초기화
만약 from의 값이 1보다 작으면 from 변수에 값 1로 초기화
만약 end 값이 totalPage 값보다 크면 end 변수에 totalPage 값으로 초기화
인트형 변수 beforeBtn에 cPage - pageSize값으로 초기화
만약 beforBtn의 값이 1보다 작으면 beforBtn변수에 값 1로 초기화
인트형 변수 afterBtn에 cpage + pageSize 값으로 초기화
만약 afterBtn이 totalPage보다 크면 afterBtn변수에 totalPage 값으로 초기화
<div class="page_box page_v2" style="margin-top: 50px">
<div class="page">
<%
if (cPage > 1) {
%>
<a href="list?page=1">◀◀</a>
<%
}
int pageSize_v2 = 10; //한 화면에 보여줄 페이지 갯수 -> 10개
int pageGroup = (int) Math.ceil((double) cPage / pageSize_v2); // 한번에 보여줄 페이지의 그룹
int from_v2 = ((pageGroup - 1) * pageSize_v2) + 1; // 한번에 보여줄 때의 첫번째 페이지 번호
int end_v2 = pageGroup * pageSize_v2; // 한번에 보여줄 때의 마지막 페이지 번호
if (pageGroup * pageSize_v2 > totalPage) {
end_v2 = totalPage;
}
if (from_v2 < 1) {
from_v2 = 1;
}
if (end_v2 > totalPage) {
end_v2 = totalPage;
}
int beforeBtn = cPage - pageSize_v2;
if (beforeBtn < 1) {
beforeBtn = 1;
}
%>
<a href="list?page=<%=beforeBtn%>">◁</a>
<%
for (int i = from_v2; i <= end_v2; i++) {
%>
<a class="<%=cPage == i ? "cPage" : ""%>" href="list?page=<%=i%>"><%=i%></a>
<%
}
int afterBtn = cPage + pageSize_v2;
if (afterBtn > totalPage) {
afterBtn = totalPage;
}
%>
<a href="list?page=<%=afterBtn%>">▷</a>
<%
if (cPage < totalPage) {
%>
<a href="list?page=<%=totalPage%>">▶▶</a>
<%
}
%>
</div>
</div>
try {
conn = DriverManager.getConnection(url, user, password);
String name = request.getParameter("name");
String loginId = request.getParameter("loginId");
String loginPw = request.getParameter("loginPw");
SecSql sql = SecSql.from("INSERT INTO member");
sql.append("SET regDate = NOW(),");
sql.append("name = ?,", name);
sql.append("loginId = ?,", loginId);
sql.append("loginPw = ?;", loginPw);
DBUtil.insert(conn, sql);
response.getWriter()
.append(String.format("<script>alert('%s 님 환영합니다.'); location.replace('../home/main');</script>", name));
} catch (SQLException e) {
System.out.println("에러 : " + e);
} finally {
try {
if (conn != null && !conn.isClosed()) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
@WebServlet("/member/join")
public class MemberJoinServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.getRequestDispatcher("/jsp/member/join.jsp").forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원가입 페이지</title>
</head>
<body>
<h2>회원가입</h2>
<form method="POST" action="doJoin">
<div>
이름 : <input type="text" placeholder="이름을 입력해주세요" name="name" />
</div>
<div>
아이디 : <input type="text" placeholder="아이디를 입력해주세요" name="loginId" />
</div>
<div>
비밀번호 : <input type="text" placeholder="비밀번호를 입력해주세요" name="loginPw" />
</div>
<div>
비밀번호 재입력 : <input type="text" placeholder="비밀번호를 재입력해주세요" name="loginPwConfirm" />
</div>
<button type="submit">가입</button>
</form>
<div>
<a style="color: green" href="/JSP_AM_2024_01/home/main">메인화면으로 돌아가기</a>
</div>
</body>
</html>
<form method="POST" action="doJoin">
<div>
이름 : <input autocomplete="off" type="text" placeholder="이름을 입력해주세요" name="name" />
</div>
<div>
아이디 : <input autocomplete="off" type="text" placeholder="아이디를 입력해주세요" name="loginId" />
</div>
<div>
비밀번호 : <input autocomplete="off" type="text" placeholder="비밀번호를 입력해주세요" name="loginPw" />
</div>
<div>
비밀번호 재입력 : <input autocomplete="off" type="text" placeholder="비밀번호를 재입력해주세요" name="loginPwConfirm" />
</div>
<button type="submit">가입</button>
</form>
if(loginPw != loginPwconfurm) {
alert (' 비밀번호가 일치하지 않습니다,');
for.loginPw.focus();
return;
예시
<script>
var delConfirm = confirm('당신의 파일이 삭제됩니다.');
if (delConfirm) {
alert('삭제되었습니다.');
}
else {
alert('삭제가 취소되었습니다.');
}
</script>
아이디 중복 체크
DB에 저장되 있는 loginId을 가져와서 input하는 loginId와 같은지 다른지 알아야 하지 않을까????
회원가입 아이디 입력창에서 아이디 입력하고 중복체크를 버튼식으로 만들고 버튼을 누르면 DB에 저장된 loginId을 가져와 비교해서 알려주게 만들면 되나???
어떻게 해야함????;;;;
버튼을 누르면 중복아이디 체크할 수 있는 jsp 파일로 넘어가야 할 것 같은데?? 지금 join.jsp 파일의 form action경로는 dojoin인데?? 경로를 두 개로 가질 수 있을 까???
아직 해결 못함!!!