[20221012/wed] myweb - Read, Del, DelProc, Update, UpdateProc

kangsun·2022년 10월 12일
0

JSP

목록 보기
6/16

myscript.js - 게시판 유효성 검사


오늘 수업 진행할 내용



  • 게시판 작성할 때 조건을 주는 javascript


  • javascript 링크 연결

    - javascript 링크를 추가해주어서 게시판 유효성 검사를 연결시켜준다.
    - index.jsp 와 header에 javascript파일 링크를 추가해준다.

  • 사용자가 작성자, 제목, 내용에 적은 내용을 가져오는 방법

    - request.getParameter("")로 가져오면 된다.


vscode로 코드 작성해도 됨

1) 작성자 2글자 이상 입력


- 작성자가 작성한 이름을 wname으로 가져오면

2) 제목 2글자 이상 입력


- 변수부분만 이름을 "subject"로 바꿔주면 된다.

3) 내용 2글자 이상 입력


- 변수부분만 이름을 "content"로 바꿔주면 된다.

4) 비밀번호 4글자 이상이면서, 숫자형 기호만 입력


- if 조건에 isNaN(passwd)를 추가해준다.
- isNaN() - 매개변수가 숫자인지 검사하는 함수입니다.(NaN은 Not a Number입니다.)

저장 후 eclipse에서 확인하기

⚠️ 조건이 적용되지 않고 게시물이 계속 추가되는 오류가 났다..



- bbsForm.jsp onsubmit에 bbscheck() 으로 소문자 오타났었음.
- 오타 진짜 주의하기 ㅠㅠ




bbsList.jsp - 글목록 페이지



- BbsDAO.java에서 가져올 코드와 자료가 없을 때 노출시켜줄 코드 먼저 작성해둔다. (틀 먼저 잡아두는 것)

bbsList.jsp - BbsDAO.java 함수 작성


- bbsList.jsp에서 불러올 함수를 BbsDAO.java에 작성해준다.

✍️ 전체 코드 집에서 하나씩 타자치면서 해석하기..

bbsList.jsp → BbsDAO.java

ArrayList<BbsDTO> list=dao.list(); 한 줄 안에
public ArrayList<BbsDTO> list(){} 여기 함수가 다 담기는 것



bbsList.jsp 나머지 전체 테이블 작성



? RowMapper

무엇인지 검색해보기!




bbsList.jsp 기능 + css 추가


✴️ 신규 게시물 제목에 new 띄우기


↳ 작성일을 string으로 바꿔서 2022-10-12 현재날짜 기준을 뽑아서 작성일과 일치하면 new 이미지를 띄워주면 된다.


  • 띄우는 방법 (바로 밑에 파일 다운받는 법 참고!)


    - utility.java 를 다운받아서 getDate()함수 사용하기!


  • 1) for문 위에 오늘 날짜를 문자열 "2022-10-22" 만들기



  • 2) 제목 부분에 작성일(regdt)에서 "년월일"만 자르기



  • 오늘 작성한 글제목 뒤에 new 이미지 출력 확인하기



✴️ 조회수가 10이상이면 hot이미지 출력


✴️ 글 개수 출력시키기

  • 1) sql문 작성해보기

select count(*) as cnt from tn_bbs

  • 2) bbsList.jsp

    for문 뒤에 글개수 추가할 함수, 화면에 노출시켜줄 코드 작성


  • 3) BbsDAO.java

    int totalRecord=dao.count();
    sql문 넣기


  • 함수가 적용되는 흐름



  • 결과화면



각자의 핸드폰으로도 결과확인 해보기

와이파이켜고
-> http://192.168.14.16:9090/myweb/bbs/bbsList.jsp 접속

  • 192.168.14.16 ip주소는 cmd창으로 확인하면 된다.
    >ipconfig






✍️ utility.java CLASS 다운 (유용한 함수 담아놓은 파일)

이거 한 번 읽어보고 분석해보기

utility.java 파일 받아서 net.utility package에 넣기



사용법 - Utility.함수명() 으로 명령어처럼 사용하면 된다.

※ 주의사항 !!

  • /myweb 이 부분은 우리의 폴더명이지, 파일을 배포할 땐 변수처리해서 배포해야한다.

  • 변수처리법 2가지
    Utility.root
    request.detContextPath()
    이 명령어로 처리하면 된다.

sysnchronized
여러사람이 같이 쓰는 경우 os 에 도와달라고 요청하는 것
DecimalFormat






bbsRead.jsp - 상세보기 페이지


제목에 링크를 걸고 들어갔다 나오면 조회수가 +1 되도록 만든다.

  • bbsList.jsp 제목에 링크걸어주기



    - 이 부분에 링크를 걸어주는 작업

  • url의 sno (primary key) 값 가져오는 것



  • 함수 먼저 선언하기


    - dto=dao.read(bbsno); - read()함수 불러온다.
    - dao.incrementCnt(bbsno); - 조회수 증가.

  • BbsDAO.java 에서 함수 만들기 1

    dto=dao.read(bbsno); - 상세보기 페이지


  • BbsDAO.java 에서 함수 만들기 2

    dao.incrementCnt(bbsno); - 조회수 증가


  • 웹브라우저 확인





  • front단 테이블 만들기

    제목, 조회수, 작성자, 작성일, IP 내용 출력하기




bbsRead.jsp 기능 + css 추가


✴️ 내용에 작성된 글자 엔터 적용하기

특수문자가 적용되지 않은 것.
utility에 있는 함수로 치환시키기.



✴️ 버튼 생성하고 링크(onclick) 걸기 - 페이지 이동








bbsDel.jsp 글 삭제할 때 비밀번호 일치하는지 확인하는 form만들기




분석하기


글번호와 비밀번호가 일치해야 삭제할 수 있도록 해야한다. 글번호는 bbsno로 값이 있지만, 비밀번호는 어떻게 일치 시키는지 ??
-> 비밀번호는 사용자한테 입력값을 받아와야한다.
➡️ 비밀번호를 입력할 수 있는 폼을 만들어야 한다.
➡️ 비밀번호 일치하지 않으면 글삭제되지 않도록 해준다.


  • 비밀번호 입력 폼 만들기




  • bbsDelProc.jsp로 날려줄 코드 + js 연결시켜줄 코드 입력하기.



  • myscript.js로 가기

    1) 비밀번호 알맞게 입력했는지 확인하는 기능 구현
    2) 삭제 확인을 눌렀을 때 진짜진짜 삭제할 거냐고 한번 더 물어보는 경고창 띄워야함.


    - passwd는 4글자 이상 숫자로 입력했는지
    - message는 삭제버튼을 클릭했을 때 정말 삭제할 것인지 한 번 더 알려주는 경고창 띄워주는 것
    - true/false는 서버 전송시키기or전송시키지 않기로 기능을 줄 수 있다.

  • 빨간박스 안에 비밀번호만 들어가있기 때문에 bbsno를 추가해줘야 한다.







bbsDelProc.jsp 글 삭제 페이지


  • bbsDelProc.jsp

    url 번호와 비밀번호를 가져와서 dto에 세팅한다.


  • BbsDAO.java

    delete 함수 작성하기


웹브라우저 확인

  • (오류확인)비밀번호 개수 초과

  • (오류확인)비밀번호 개수 4글자미만 작성

  • 정상삭제

  • 리스트에 삭제되었는지 확인






7. 수정 페이지

  • bbsUpdate.jsp 수정하고자 하는 행을 가져와서 수정 폼에 출력(작성자/제목/내용)

  • bbsUpdateProc.jsp 글번호와 비밀번호가 일치하면 행 수정'

bbsUpdate.jsp 글 삭제 페이지


집가서 작성

bbsUpdateProc.jsp 글 삭제 페이지


과제

profile
코딩 공부 💻

0개의 댓글