MVC 패턴 (Model1 vs Model2)
·
Programming Language/JSP
Model 1 Architecture 현재는 거의 사용 안함 JSP로만 웹 어플리케이션 개발하는 방법 JSP가 client 요청에 대한 로직 처리와 view에 대한 처리를 모두 수행한다. client로부터 요청이 들어오면 JSP 페이지는 java beans나 별도의 service class를 이용하여 작업을 처리하고, 결과를 client에 출력한다. 단점 view 코드와 로직처리르 위한 java코드가 섞여있어 복잡하다. jsp 코드에 Back-end와 Front-end가 혼재되어있어 분업이 힘들다. 유지보수가 어렵다. 확장성이 나쁘다. Model 2 Architecture ( MVC ) MVC 패턴을 웹개발에 도입한 구조이다. client 요청에 대한 처리는 Servlet이, logic 처리는 java ..
JSTL 문법으로 바꿔보기
·
Programming Language/JSP
1️⃣ 2️⃣ 삭제 ${dto.num} ${dto.title} ${dto.author} ${dto.writeday} ${dto.getReadcnt} 삭제 3️⃣ 4️⃣ >${i} ${i}
JSTL ( Jsp Standatd Tag Library )
·
Programming Language/JSP
JSTL ( Jsp Standatd Tag Library ) 1️⃣ 개요: 사용자 태그 (커스텀 태그) 사용이 가능하다. ex) 2️⃣ 자바의 웹 개발자가 실제로 jsp에서 필요한 사용자 태그를 만들어서 제공하고 그것을 사용하는 방법에 촛점을 맞춘다. 3️⃣ 누가 제공? 아파치(apache)에서 무료로 제공 4️⃣ 사용 방법 ✅ apache 사이트에서 필요한 jar 파일 다운로드 http://jakarta.apache.org The Jakarta Site - The Apache Jakarta™ Project -- Java Related Products Founded in 1999, the Jakarta Project housed a diverse set of popular open source Java ..
EL (Expression Language)
·
Programming Language/JSP
1️⃣ 문법 ${표현식} ⇒ 표현식에 사용할 수 있는 것은 10(실제값) 또는 변수(scope에 setAttribute에서 사용된 key값) ${ 10 } ${ 10+3 } //산술연산 ${ 10>3 } //비교연산 ${ 10>3 && 4==3 } //논리연산( &&, ||, ! ) 2️⃣ 동작: 브라우저에 출력된다. 3️⃣ 주요한 기능 ✅ 서블릿에서 scope에 저장된 데이터를 웹 브라우저에서 매우 편리하게 출력할 수 있다. 서블릿 작업 request.setAttribute(”userid”, “홍길동”); jsp 작업 ⇒ 한번에 EL로 표기가 가능하다. ${userid} 👇👇👇 ✅ null 값을 비어있는 값으로 처리한다. ⇒ NullPointterEXception 발생 안됨 ✅ null 여부 확인 방법..
게시판 구축 프로젝트 - 오류 해결
·
Programming Language/JSP
지난 번에 만들었던 게시판 구축 프로젝트 중 (06_board) 특정 글자 검색 후 나오는 목록 중 첫 페이지는 잘 나오는데 두번째 페이지부터는 검색한 레코드가 저장되지 않고 원상복귀 되는 이슈를 발견하였다. searchName과 searchValue가 DTO에 저장 되지 않은 것으로 판단하고 검색한 레코드를 페이징 처리할 수 있게 추가해주는 방법으로 오류를 해결한 과정을 기록하고자 한다. 🧨 에러 발생 💡 해결 과정 💻 결과
페이징 처리
·
Programming Language/JSP
✅ 07_paging 프로젝트 생성 ✅ BoardMapper.xml 에 전체목록 정렬 ✅ BoardDTO.java ✅ 생성 후 list.jsp 에서 필요한 4개의 정보를 묶어주는 클래스인 PageDTO.java 생성 ✅ getter / setter 생성 ✅ BoardDAO.java ✅ new RowBounds (시작위치, 갯수) ✅ 시작위치 = (현재 page - 1)*갯수 ✅ BoardService.java 생성 ✅ BoardServiceImpl.java 생성 ✅ BoardListServlet.java 생성 ✅ list.jsp 💡 실행 => 오류 발생 에러 잡기 위한 코드 추가 DAO에서 pageDTO를 가져오기만 하고 저장을 안한 실수가 있었다 ! 코드 추가하기 ! ✅ 하이퍼링크 추가 💡 결과
게시판 구축 프로젝트(8) - 페이징
·
Programming Language/JSP
✅ 페이징 처리 위해 필요한 것들 정렬 page당 레코드 몇 개를 보여줄지 전체레코드갯수 현재 페이지 번호 정해진 레코드 갯수의 글만 보여지는 리스트 ⇒ 2~5번의 4개의 data를 뭉쳐서 관리해야함 ⇒ PageDTO.java ✅ PageDTO.java 생성 ✅ 4가지 정보 작성 ✅ gettet / setter 메서드 생성 ✅ 정렬 ✅ BoardDAO.java ✅ BoardDAO.java ✅ BoardListServlet.java ✅ ✅ BoardService.java ✅ BoardServiceImpl.java ✅ BoardDAO.java ✅ BoardMapper.xml ✅ BoardDAO.java ✅ BoardListServlet.java ✅ list.jsp
게시판 구축 프로젝트(7) - 검색하기
·
Programming Language/JSP
✅ list.jsp 에 검색 화면 작성 ✅ 결과 ✅ 추가 ✅ 결과 ✅ 검색 하기 위해 디벨로퍼 통해 목록을 더 추가해줌 insert into board ( num, title, author, content ) values ( board_seq.nextval , '테스트', '홍길동', '테스트입니다' ); insert into board ( num, title, author, content ) values ( board_seq.nextval , '스마일', '홍이동', '테스트입니다' ); insert into board ( num, title, author, content ) values ( board_seq.nextval , '힘들다', '홍이동', '테스트입니다' ); insert into boar..
게시판 구축 프로젝트(6) - 삭제하기
·
Programming Language/JSP
BoardService 브라우저 —> BoardDeleteServlet —> BoardServiceImpl ↔ BoardDAO ↔ DB
게시판 구축 프로젝트(5) - 수정하기
·
Programming Language/JSP
✅ BoardUpdateServlet.java 생성 후 맵핑이름 작성 (사진 잘못됨!) ✅ retrieve.jsp에 작성 ✅ retrieve.jsp에 hidden 작성 ✅ BoardUpdateServlet.java 작성 ✅ BoardMapper.xml의 update 부분에 수정될 수 있는 것들 다 작성 ✅ BoardDAO.java에 Sqlsession과 파라미터를 이용해서 실제 DB와 연동 ✅ BoardService.java에 BoardDAO 메서드를 복사해서 Sqlsession 파라미터만 제거한다. ✅ BoardServiceImpl.java 에 BoardDAO 연동 코드 작성 (오버라이드) ✅ BoardUpdateServlet.java 작성 ✅ dto를 서비스 거쳐서 DAO까지 전달 - BoardSer..
xoo | 수진