목적
- JSP 로 게시판, 로그인 기능 생성하여 빠르게 배우기
참조
- 동빈나 님 유튜브 : https://www.youtube.com/playlist?list=PLRx0vPvlEmdAZv_okJzox5wj2gG_fNh_6
- https://github.com/LEEHANI/JSP-BBS
강좌 총 15강
1강 : Hello World 출력
- JDK 다운로드
- Windows 에서는 시스템 속성 JDK 환경 변수 설정 Path, JAVA_HOME
- cmd 에서
javac
명령어 실행확인 - tomcat 다운로드 & 실행
- windows
- tomcat 다운로드
- tomcat 서버 내부에 있는 startup.bat 실행
- mac
- homebrew 사용 tomcat 다운로드
catalina start
- localhost:8080 실행 확인
- 이클립스 다운로드 및 Eclipse IDE for Enterprise Java Developers 설치
- Hello world 웹 생성
- 이클립스 > new > create new dynamic web project 생성
- Target runtime > new Runtime... 설치한 Tomcat 경로 설정 후 Finish
- WebContent 폴더 New > JSP File
- Hello World 입력 후 실행
2강 : 로그인 페이지 디자인
- bootstrap 예제 다운로드 [https://getbootstrap.com/docs/3.4/getting-started/#examples]
- dist > js, css, fonts 폴더 설정
- login.jsp 생성
- navbar, sign-in 예제 사용하여 페이지 생성
3강 : 회원 데이터베이스 구축하기
- mysql 설치
- 참고로 docker 이용한 설치 : [https://hub.docker.com/_/mysql]
- User 테이블 생성
- user 패키지 생성 후 Beans 작성
- Java Resources > New Java Package > user
- User.java 테이블 멤버 선언
- Getter/Setter 메소드 생성 : source > generate getters setters
4강 : 로그인 기능 구현
- UserDAO.java 생성 : DB 접근하여 User 정보 쿼리 로직 생성
- index.jsp -> login.jsp -> 로그인버튼 -> loginAction.jsp -> userDAO.login(UserDAO.java)
- loginAction.jsp
- mysql jdbc 드라이버 다운로드 lib 추가
5강 : 회원가입 페이지 디자인
- 회원가입 페이지 디자인
6강 : 회원가입 기능 만들기
- userDAO.java 에 join 메소드 추가
- 회원가입 시 입력된 값이 없으면 alert
- DB error 시 처리
7강 : 접속한 회원 세션 처리
-
로그인, 회원가입 완료시 회원 세션 기능 구현
session.setAttribute("userID", user.getUserID());
-
로그아웃 : logoutAction.jsp
session.invalidate();
8강 : 게시판 메인 페이지 디자인
- 게시판 리스트 디자인
- 번호, 제목, 작성자, 작성일
9강 : 게시판 DB
- BBS 테이블 생성
- bbs 패키지 생성
- Bbs.java, BbsDAO.java
10강 : 글쓰기 기능 구현
- write.jsp -> writeAction.jsp -> BbsDAO
11강 : 게시판 글 목록 기능 구현
- BbsDAO.java 에서 목록
ArrayList<BBS>
함수 getList 구현 - 페이지 리스트 처리위한 함수 nextPage 구현
- bbs.jsp 에서 목록 for 문으로 구현
12강 / 13강 : 게시글 보기 기능 구현 / 수정, 삭제 기능
- view.jsp
- 작성자만 수정, 삭제하는 버튼 노출하도록 설정
- CORS 공격 방지를 위한 스크립트 치환 기능 추가
14강 : 메인 페이지 디자인
- 부트스트랩 기능 활용하여 메인 슬라이드 추가
15강 : 프로젝트 완성 배포
- 업로드할려는 서버의 java 버전이 낮을 수 있으니, 다운그레이드
- properties > Project Facets > java 버전 다운
- WebContent 안의 META-INF, WEB-INF 폴더 제외한 모두 업로드
- build 폴더의 class 폴더 상위 경로에 업로드
- WEB-INF 폴더의 lib 폴더도 업로드
정리
- jsp 파일 java 코드 처리 : 참조
- <% ... %> : java 코드 처리, for문 등 실행
- <%@ page ... %> : servlet 서버 기능
- form 에서 정의한 name과 데이터 처리 페이지에 useBeans 선언 필요
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="bbs.BbsDAO"%> <%@ page import="java.io.PrintWriter"%> <jsp:useBean id="bbs" class="bbs.BBS" scope="page"> <jsp:setProperty property="title" name="bbs" /> <jsp:setProperty property="content" name="bbs" /> <jsp:setProperty property="id" name="bbs" /> <% String userID = null; if (session.getAttribute("userID") != null) { userID = (String) session.getAttribute("userID"); } if (userID == null) { PrintWriter script = response.getWriter(); script.println("<script>"); script.println(" alert('로그인을 하세요.'); "); script.println(" location.href='./login.jsp' "); script.println("</script>"); return; } %>
'BACK > Java & JSP' 카테고리의 다른 글
[spring boot] 배포 패키지 변경 jar -> war (0) | 2020.05.09 |
---|