분류 전체보기 261

[AJAX] 버튼을 클릭했을 때 get 방식으로 서버에 데이터 전송 후 응답받기

jsp 입력: 전송 응답: AjaxController1 1) setContentType("text/html; charset=UTF-8") : 응답데이터에 한글이 포함된 경우에 응답데이터에 대한 type(text/html)과 charset(charset=UTF-8)을 지정한다. 2) getWriter() : jsp와의 연결통로를 열어주는 메소드 @WebServlet("/ajax1.do") public class JqAjaxController1 extends HttpServlet { private static final long serialVersionUID = 1L; public JqAjaxController1() { super(); } protected void doGet(HttpServletReques..

[AJAX] Ajax란? - Ajax, JSON, GSON

AJAX (Asychronous JavaScript And XML) : 서버로부터 데이터를 가져와서 전체 페이지를 새로고침하지 않고 페이지의 일부만 로드하게끔 하는 비동기식 통신 방식이다. - 데이터 형식: XML, Text, HTML, JSON, CSV 등 - 구현 방식: JavaScript / jQuery 방식 동기식 / 비동기식 1. 동기식 : 클라이언트가 서버로 데이터를 요청하면 그 요청을 처리한 후 해당 응답페이지가 돌아올 때까지 다른 작업은 대기해야 하는 방식이다. - 전체 페이지가 새로고침된다. 2. 비동기식 : 클라이언트가 서버로 데이터를 요청하면 해당 응답이 돌아오기를 기다리지 않고 다른 작업을 수행할 수 있다. - 전체 페이지를 갱신하지 않고 페이지의 일부만 업데이트할 수 있다. - 단..

웹페이지 만들기(8) - 사진게시판(상세페이지 및 작성페이지)

board-mapper.xml 1) 조회수 증가 조회 UPDATE BOARD SET COUNT = COUNT+1 WHERE BOARD_NO = ? AND STATUS = 'Y' 2) 게시판 조회 SELECT BOARD_NO, CATEGORY_NAME, BOARD_TITLE, BOARD_CONTENT, USER_ID, CREATE_DATE FROM BOARD B LEFT JOIN CATEGORY USING (CATEGORY_NO) JOIN MEMBER ON (BOARD_WRITER = USER_NO) WHERE BOARD_NO = ? AND B.STATUS = 'Y' 3) 사진 목록 조회 SELECT FILE_NO, ORIGIN_NAME, CHANGE_NAME, FILE_PATH FROM ATTACHMEN..

웹페이지 만들기(7) - 사진게시판(목록페이지 및 상세페이지)

menubar 사진게시판 ThumbnailListController.java 1) 매핑값 list.th (menubar에서 '사진게시판' 클릭 시 컨트롤러) 2) service로 selectThumbnailList()를 보낸 후 ArrayList 타입으로 list를 받아 thumbnailListView로 보낸다. @WebServlet("/list.th") public class ThumbnailListController extends HttpServlet { private static final long serialVersionUID = 1L; public ThumbnailListController() { super(); } protected void doGet(HttpServletRequest requ..

웹페이지 만들기(6) - 일반 게시판(목록 조회, 페이징 처리)

menubar 일반게시판 Board - DB에 있는 Board 테이블의 컬럼명과 컬럼타입을 java로 필드부에 선언한다. - 기본 생성자와 매개변수 생성자, setter/getter 메소드, toString 메소드를 생성한다. public class Board { private int boardNo; //BOARD_NONUMBER private int boardType; //BOARD_TYPENUMBER private String category; // 작성 시 번호로 작성, 조회 시 카테고리명으로 조회 //CATEGORY_NONUMBER private String boardTitle; //BOARD_TITLEVARCHAR2(100 BYTE) private String boardContent; //BOA..

웹페이지 만들기(5) - 공지사항 수정 및 삭제

noticeUpdateForm - input태그는 속성값을 value로 넣어야 하고, textarea는 사이에 넣어야 한다. - history.back() : 페이지 뒤로 가기 공지글 수정 제목 내용 수정 뒤로가기 NoticeUpdateFormController - serlvet으로 작성한다. - 매핑값 updateForm.no - String 타입으로 넘어온 키값 nno(글번호)를 int 타입으로 강제형변환한다. @WebServlet("/updateForm.no") public class NoticeUpdateFormController extends HttpServlet { private static final long serialVersionUID = 1L; public NoticeUpdateForm..

웹페이지 만들기(4) - 공지사항

menubar 공지사항 div 태그로 구역 잡아놓고, 공지사항을 클릭했을 때 해당 페이지로 넘어가도록 a 태그를 사용해서 링크를 걸어준다. 이때 list.no라고 매핑값을 설정하고 처음에 만들어놓은 변수 contextPath로 해당 프로젝트 Path 경로를 설정해준다. Notice - SQL Developer에 있는 notice 테이블의 컬럼명과 데이터타입을 VO에서 private 접근제한자로 필드를 선언한다. - 기본 생성자와 매개변수 생성자, setter/getter 메소드, toString 메소드를 생성한다. public class Notice { private int noticeNo; private String noticeTitle; private String noticeContent; priva..

웹페이지 만들기(3) - 마이페이지(정보변경, 비밀번호변경, 회원탈퇴)

myPage - jsp 파일로 작성한다. - 로그인 성공 후엔 마이페이지와 로그아웃이 보이므로 myPage에 menubar를 include해야 한다. - 이때 menubar를 include하면 변수 contextPath를 사용할 수 있다. - 마이페이지에서 아이디는 변경할 수 없으므로(고유값) readonly를 사용하여 읽기만 할 수 있게 한다. 마이페이지 *아이디 *이름 전화번호 이메일 주소 관심분야 미술 운동 영화 음악 게임 요리 정보 변경 비밀번호 변경 회원 탈퇴 비밀번호 변경 × 현재 비밀번호 변경할 비밀번호 변경할 비밀번호 확인 비밀번호 변경 회원 탈퇴 × 회원 탈퇴 후 복구는 불가능합니다. 정말로 탈퇴하시겠습니까? 비밀번호 입력 탈퇴 MyPageController - servlet 파일로 작성..

웹페이지 만들기(2) - 회원가입

웹페이지 만들기(1)의 코드에 추가한다. menubar(메인페이지) - Controller에 있는 .setAttribute("alertMsg", "회원가입 되었습니다! 환영해요!") 가져온 후 Object 객체인 alertMsg를 String으로 강제형변환한다. - 상단에 작성한다. - 회원가입 성공 시(alertMsg가 null이 아닐 때) alert로 '회원가입에 성공했다'고 띄우기 - 이후에 해당 alert를 삭제하지 않으면 페이지가 읽힐 때마다 같은 alert가 띄워지므로 이를 .removeAttribute()로 삭제해야 한다. - body 영역에 작성한다. - 회원가입 버튼을 클릭했을 때 // form 태그 내 작성 회원가입 // form 태그 밖 작성 회원가입 같이 민감한 정보의 경우 url에..

웹페이지 만들기(1) - 로그인(메뉴바)

Template public class Template { // 1. Connection 객체 생성(DB 접속)한 후 Connection을 반환하는 메소드 public static Connection getConnection() { // Map 계열 컬렉션(key-value) Properties prop=new Properties(); // 읽어들일 driver.properties 파일의 물리적인 경로 설정 // 실질적으로 배포되는 폴더는 WebContent이기 때문에 src/db/driver/driver.properties로 읽으면 안됨 // WebContent/WEB-INF/classes에 있는 파일을 읽어야 함 String fileName = JDBCTemplate.class.getResource(..