본문 바로가기

반응형

JSP

(17)
[JSP] FrontController, MVC 패턴 활용 게시판 사이트 만들기 1. 댓글관련기능,좋아요...등 페이징 유지 2. - 최근 회원가입한 3명의 이름을 화면에 가로로 출력 - 특정 회원이 작성한 글 모아보기 3. 본인이 작성한 글 모아보기 4. 더보기 비활성화 5. 탈퇴 기능 추가 글,댓글을 작성한 바 있으면 탈퇴안됨 1. 댓글관련기능,좋아요...등 페이징 유지 1-1) 페이지를 유지할 기능에 cnt 값을 같이 보내주면 해당 페이지가 변경되지 않고 그대로 유지 됨. 댓글 삭제 태그 - 기존 "deleteR.do?&rid=${rid}" 에서 경로 &cnt=${cnt}추가 [삭제] 게시글 삭제, 좋아요 기능 태그 - 기존 "deleteB.do?&bid=${bid}" 에서 경로 &cnt=${cnt}추가 - 기존 "fav.do?&bid=${bid}" ..
[JSP] AJAX 활용 아이디 중복 검사 [AJAX] 자바스크립트 라이브러리 중 하나 자바스크립트를 통해서 비동기처리로 서버에 데이터를 요청하여 필요한 데이터를 받아와 전체 페이지를 새로 고치지 않고 변경이 필요한 페이지 부분만 고치는 기법 AJAX의 주목적은 화면 전환 없이 클라이언트와 서버간의 정보를 교환하기 위함 ex) 아이디 중복검사, 인증, 좋아요, 추천/비추천, 찜하기 ajax.jsp 중복검사 Check.java (서블릿 파일) package test; import java.io.IOException; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet..
[JSP] 초기화 매개변수, 리스너, 필터 [초기화 매개변수] 프로그램을 동작시킬때 필요한 정보(ex. url, id, pw...)를 소스코드에 하드코딩을 해왔음 그런데 이런 정보들을 프로젝트 중간에 쉽게 변경이 될수있음 그래서 이런 정보들을 별도로 환경설정파일(.xml)에 보관 정보 == 초기화 매개변수 -> ServletConfig : 해당 서블릿에서 사용가능 -> ServletContext : 동일한 웹 어플리케이션 내에서의 모든 서블릿에서 사용가능 xml파일 경로 -> WEB-INF 하위에 생성 name timo encoding UTF-8 java.lang.Throwable /error/error.jsp 404 /error/error404.jsp ★ .xml -> @(어노테이션, 애너테이션) 컴파일을 시도할때, 어노테이션이 있었음을 별도로..
[JSP] FrontController 개념 프론트컨트롤러(FrontController) 란? 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출 (입구가 하나) 공통 처리 가능 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨 (프론트 컨트롤러에서 직접 호출)프론트 컨트롤러 프론트 컨트롤러 도입 전 : 공통 로직 없이, 각각의 요청에 마다 각각 생성하여 처리. 프론트 컨트롤러 도입 후 : 프론트 컨트롤러에 공통 로직을 두고, 요청에 따른 응답 처리. [ FrontController 패턴 ] MVC 패턴 + FC 패턴 => MVC 모델 2 좋은 코드 = ★ 낮은 결합도 + 높은 응집도 => 유지보수 용이 ★
[JSP] 트랜잭션 commit(), rollback() 트랜잭션 (Transaction) 트랜잭션(Transaction)은 여러 단계의 작업을 하나로 처리하는 것으로, 하나로 인식된 작업이 모두 성공적으로 끝나면 commit이 되고, 하나라도 문제가 발생하면 rollback 되어서 작업을 수행하기 전단계로 모든 과정이 회수 됨 ex) 회원탈퇴 -> 게시글이 전부삭제되었니? 댓글추가 - 오토커밋이 자동으로 작동되지 못하게 하려면 setAutoCommit(false); 지정!! 예시 : 은행 계좌 이체 -> bank1이 bank2에게 입금을 한다면, bank1의 잔액에서 차감된 만큼 bank2의 잔액에 추가 public class Bank1DAO { Connection conn; PreparedStatement pstmt; final String sql_tran..
[JSP] 리스너 클래스, JSTL 리스너 클래스 (서블릿처럼) POJO가 아닌 클래스 특수한 형태의 서블릿 어떤 동작을 모니터링(감지)할지 선택할 수 있음! 해당 동작을 감지하면, 본인을 자동호출할 수 있게됨!! 인터페이스 동작이 감지되면, 내가 구현한 코드가 자동호출됨 => ex) 톰캣의 시작 JSTL ( Java Pages Standard Tag Library ) 일반적으로 알고있는 JSTL 이란 JSTL + EL 의 조합 JSTL 의 정식명칭은 자바 서버 페이지 표준 태그 라이브러리이고 줄여서 JSTL 이러한 JSTL 은 JSP 페이지 내에서 자바코드를 바로 사용하지 않고 로직을 내장하는 효율적인 방법을 제공 ​ JSTL 장점 빠른 개발 : JSP를 단순화 하는 많은 태그를 제공 코드의 재사용성: 다양한 페이지에서 JSTL 태그 사..
[JSP] 커스텀태그 사용법 커스텀태그 => 개발자가 작성한 태그 JSP 페이지에서 반복적인 프로그램 로직을 캡슐화하려고 고안된 것으로, 기본적으로 제공되는 태그 이외에 사용자가 확장한 태그라는 의미에서 붙여진 이름이다. JSP 서버에서는 커스텀 태그를 구현할 수 있다. 커스텀태그 장점 V에 존재하는 로직코드(자바)를 분리가능 로직코드를 캡슐화(모듈화) 보다 완벽한 MVC 구조 구축가능 커스텀태그 개발 방법 태그파일 기반의 커스텀태그 프로젝트의 규모가 작을때 간단한 기능 태그핸들러클래스 기반의 커스텀태그 프로젝트의 규모가 클때 배포(공개, 공유)를 하는것이 주된 목적일때 사용 태그의 구조 태그 : 주로 쌍으로 이루어져있음 태그 바디: 비울경우(사용하지않을경우) 닫는것을 권장 속성 : 속성값들을 작성할때에는 ""로 묶는것을 권장 ta..
[JSP] 표현언어 EL (Expression Language) [표현언어, EL식] - view에서 사용 V에서 (브라우저, .jsp, .html페이지) 활용 ${표현식} ${변수명} ${객체명.멤버변수명} ${컬렉션객체[인덱스} ${mid} ${member.id} ${member["id"]} ${data[0]} V에서 EL식을 사용하기위해서는 사전에 C에서 request, session, application scope 내장객체에 setAttribute()해야합니다! 숫자, 문자열, boolean, null과 같은 상수값도 작성가능 기본연산 가능 ${param.sel} test.getNum1() + test.getNum2() = ??? 의 수행을 위해서는, 1) Test test=(Test)session.getAttribute("test"); => 2) ↓ ${t..

반응형