본문 바로가기

웹 프로그래밍 기초/자바기반의 웹&앱 응용SW 개발자131

자바기반의 웹&앱 응용 SW개발자 양성과정 49일차 -75 Admin 페이지를 위한 서비스 목록 추가하기 일괄 공개할 서비스 함수 체크한 게시글을 넘기기 위해 게시 목록 출력 pubNoticeAll(ids) 일괄 삭제할 서비스 함수 removeNoticeAll(ids) 여러 개를 삭제할 함수 공지사항에 글을 쓰기 위한 함수 insertNotice(notice) 자세한 페이지에서 수정, 삭제 함수 deleteNotice(id) updateNotice(Notice) index페이지에서 최신 공지사항 함수 getNoticeNewestList() public int removeNoticeAll(int[] ids){ //몇개가 삭제됬는지 return 0; } public int pubNoticeAll(int[] ids){ //몇개가 공개됬는지 return 0; } pub.. 2020. 5. 4.
자바기반의 웹&앱 응용 SW개발자 양성과정 48일차 -74 Index 페이지 추가하기 먼저 컨트롤러 부분을 만들어준다. package com.newlec.web.controller; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/index") public class IndexController extends HttpServlet{ @Override prot.. 2020. 5. 3.
자바기반의 웹&앱 응용 SW개발자 양성과정 48일차 -73 목록의 댓글 수를 위한 VIEW 생성하기 목록을 보여주는 쿼리문은 " SELCT ROWNUM NUM, N.* " + " FROM (SELECT * FROM NOTICE WHERE "+field+" LIKE? ORDER BY REGDATE DESC) N" + ")" + "WHERE NUM BETWEEN ? AND? "; 에서 기본적인 데이터는 NOTICE입니다. SELECT N.ID,N.TITLE, N.WRITER_ID , N.REGDATE, N.HIT, N.FILES, COUNT(C.ID) CMT_COUNT FROM NOTICE N LEFT JOIN "COMMENT" C ON N.ID =C.NOTICE_ID GROUP BY N.ID,N.TITLE, N.WRITER_ID , N.REGDATE, N.HIT,.. 2020. 5. 3.
자바기반의 웹&앱 응용 SW개발자 양성과정 47일차 -71 Pager에서 현재 페이지 번호 처리하기 현재 페이지 1 / 1 pages p 값이 빈 문자열이거나 null값일 때 참을 반환하는 EL연산자 중 empty를 사용한다. 현재 페이지 ${(empty param.p)?1:param.p} / 1 pages style을 이용해 현재 보고 있는 페이지 넘버를 강조 표시하기. 지난번에 사용했던 page변수를 이용해 반복될 때 page값이랑 같을 때 강조하도록 한다. 이전 이전 ${startNum+i} 삼항 연산자를 사용할 때 문자열을 더블퀘테이션으로 감싸주면 html파싱 할 때 오류가 발생되므로 El에서는 싱글퀘테이션을 지원한다. ${startNum+i} 마지막 번호 처리하기 게시글있는 곳까지 마지막 번호를 설정해야 한다. 번호를 클릭했을 때 페이지가 없을 수 있으.. 2020. 5. 2.
자바기반의 웹&앱 응용 SW개발자 양성과정 46일차 -70 목록 페이지에서 검색 추가하기. 컨트롤러는 사용자가 요청하는 것을 받는 것이 역할입니다. 사용자가 어떠한 검색기준으로 검색할 것인지 String field =""; 사용자가 어떠한 검색을 할것인지 String query = "": jsp의 form태그에서 전송하는 값을 받는다. 공지사항 검색 필드 검색분류 제목 작성자 검색어 만약 사용자가 검색창에서 a를 입력했다면 웹브라우저는? f=title% q=a라는 url을 전송할 것입니다. 그 값을 받아서 역할이 컨트롤러이고 처리한 뒤 비단으로 보내줍니다. 입력도구인 request를 이용해 저장합니다. String field_ = request.getParameter("f"); //검색목록 String query_ = request.getParameter("q".. 2020. 5. 1.
자바기반의 웹&앱 응용 SW개발자 양성과정 46일차 -69 기업형 애플리케이션 컨트롤러와 서비스 함수 분리하기. 1. 공지사항 게시글 컨트롤러 코드 package com.newlec.web.controller; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.newlec.web.entity.Notice; import com.. 2020. 5. 1.
자바기반의 웹&앱 응용 SW개발자 양성과정 46일차 -68 getNoticeList 메서드의 SQL 쿼리문 작성하기. --getNoticeList 서브 쿼리 이용하기 SELECT * FROM( SELCT ROWNUM NUM, N.* FROM (SELECT * FROM NOTICE ORDER BY REGDATE DESC) N ) WHERE NUM BETWEEN 1 AND 5; ROW_NUMBER() 함수 이용 SELECT * FROM ( SELECT ROW_ NUMBER() OVER (ORBER BY REGDAGE DESC) NUM, NOTICE.* FROM NOTICE ) WHERE NUM BETWEEN 6 AND 10; public List getNoticeList(String field, String query, int page) { String sql = .. 2020. 5. 1.
자바기반의 웹&앱 응용 SW개발자 양성과정 45일차 -67 기업형으로 레이어 서비스 함수 찾아내기. 클래스를 만드는 기준 - 만들게되는 프로그램에서 시스템 단위로써 서비스 클래스를 만들게 된다. 예를 들어 공지 게시판에 대한 서비스 기능. 1. 공지 등록 2. 예약 공지 일괄 공개 3. 공지 목록 조회 4. 공지 상제 조회 5. 공지 수정 6. 공지 삭제, 공지 일괄 삭제 사용자가 요청하는 내용 - 페이지 요청 기본값인 최신 글 10개만 노출시킬 서비스 함수 getNotice() - 공지사항의 다른 페이지 요청 다음 페이지를 인자로 받는 서비스 함수 getNotice(int page) - 검색 요청 검색어를 가진 서비스 함수 getNotice(String field, String query, int page) -현재 페이지 확인 getNoticeCount() g.. 2020. 5. 1.
자바기반의 웹&앱 응용 SW개발자 양성과정 44일차 -66 숫자 출력 형식 지정하기. JSTL : formatNumber 일반적으로 통용되는 천 자리를 , 로 구분되어 자동적으로 구분됩니다. type을 number로 정해주고 pattern을 우리가 직접 정해 줘야 할 때 속성을 찾아서 사용하면 됩니다. JSTL :functions로 EL에서 함수 이용하기. 첨부파일 목록을 대문자로 변경하기 DB의 데이터를 대문자로 하지 말고 출력을 할 때 대문자로만 출력하기. 태그 라이브 추가. 태그 형태가 아닌 EL안에서 fn:로 사용할 수 있다. ${fn:toUpperCase(fileName)} zip 파일로 끝나는 test만 스타일 주는 방법 ${fn:toUpperCase(fileName)} 더 많은 기능은 JSTL function 구글 검색 만약 복잡한 기능을 EL fn.. 2020. 5. 1.
자바기반의 웹&앱 응용 SW개발자 양성과정 43일차 -65 첨부파일 목록 출력하기. 데이터베이스에서 첨부파일을 읽어와서 목록 출력하기. 태그를 이용해 구분한 뒤 목록 출력하기. forTokens은 문자열을 delims의 값인 분리자를 이용해 출력할 수 있습니다. varStatus는 변수의 값의 상태를 나타냅니다. - status.index : 0부터 시작하는 루프의 인덱스입니다. - status.count : 현재 몇 번째 루프인지 값입니다. 1부터 시작합니다. - status.current : 현재 아이템입니다. var 속성의 값과 같습니다. - status.first : 현재가 첫 번째 루프이면 참입니다. - status.last : 현재가 마지막 루프이면 참입니다. - status.begin : begin 속성을 사용했을 경우 그 값이 나옵니다. - sta.. 2020. 5. 1.