JSP 기본 게시판 만들기

목적

  • JSP 로 게시판, 로그인 기능 생성하여 빠르게 배우기

참조

강좌 총 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강 : 로그인 페이지 디자인

3강 : 회원 데이터베이스 구축하기

  • 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