Programming Language 147

[EL] EL - 문법, 연산자 기호/우선순위, 내장 객체

EL(Expression Language) : , out.print()와 같이 JSP 상에서 표현할 값을 ${ value } 형식으로 간결하게 작성한다. 1. 연산자 기호 일반 연산자 EL 연산자 덧셈, 뺄셈, 곱셈 +, -, * +, -, * 나눗셈, 나머지 연산 /, % div, mod and 연산, or 연산, ! 연산 &&, ||, ! and, or, not ~보다 작다, 크다 lt(less than), gt(greater than) 작거나 같다, 크거나 같다 = le(less or equal), ge(greater or equal) ~와 같다, 다르다 ==, != eq(equal), ne(not equal) null값 처리 value == null empty 2. 연산자 우선순위 [], . → ..

[AJAX] 응답데이터로 여러 개의 객체들이 담긴 ArrayList 받기

jsp : 응답데이터로 정보를 뽑아온다.(데이터를 보내서 요청X) 회원 전체 조회 번호 이름 나이 성별 AjaxController4 : 요청 처리됐다는 가정 하에 list에 Member 객체를 넣어서 한다. @WebServlet("/jqAjax4.do") public class JqAjaxController4 extends HttpServlet { private static final long serialVersionUID = 1L; public JqAjaxController4() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExcepti..

[AJAX] 서버로 데이터를 전송하여 조회된 객체를 응답데이터로 받기

jsp 회원번호 입력: 조회 AjaxController3 : 데이터를 조회해왔다는 가정 하에 Member 객체에 해당 정보를 담는다. 1) GSON ① toJson(응답할 객체, 응답할 스트링(연결통로)) ② response.getWriter()라는 통로로 객체 m을 응답한다. 이때 변환 시 자동으로 객체의 필드명으로 key값이 정해진다. @WebServlet("/jqAjax3.do") public class JqAjaxController3 extends HttpServlet { private static final long serialVersionUID = 1L; public JqAjaxController3() { super(); } protected void doGet(HttpServletReques..

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

jsp 이름: 나이: 전송 응답: 방법1. AjaxController2(방법1) : AJAX로는 하나의 데이터만 응답할 수 있다. 1번) 요청 처리를 완료했다는 가정 하에 응답할 데이터(문자열) 2번) ajax로 결과를 여러 개 응답할 때 요청 처리를 완료했다는 가정 하에 응답할 데이터(문자열) @WebServlet("/ajax2.do") public class JqAjaxController2 extends HttpServlet { private static final long serialVersionUID = 1L; public JqAjaxController2() { super(); } protected void doGet(HttpServletRequest request, HttpServletRespo..

[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..