java/jsp & sevlet (10) 썸네일형 리스트형 connection pool conntection pool은 DB와의 통신 리소스를 절약 및 관리하는 방법 중 한가지다.유저의 매 요청마다 DB를 반복적으로 열고 쿼리하고 닫는 작업은 비효율적이라 성능에 좋지 않다.따라서, 커넥션 풀은 서버가 유저의 요청 이전에 미리 db와 연결을 만들어놓고 필요할때 빌려쓴 후 반환하는 방식이다. 방법1. 톰켓 컨테이너에서 설정톰켓 설정 파일/context.xmlResource태그 수정 --> 2. servlet 파일에서 커넥션 풀 이용 package com.DAO;import com.DTO.BookDTO;public class BookDAO { DataSource dataSource; Connection conn = null; PreparedStatement pstmt = null; public .. DAO와 DTO 자바의 디자인 패턴에서는 일반적으로 db와의 통신 기능을 별도의 모듈로 분할할 것을 추천한다. 그래야 기능 간에 의존성이 줄어들어 디버깅 및 유지보수에 유리하기 때문이다.DAO(data access object)는 데이터베이스 접근하여 연산을 수행하는 로직DTO (Data Transfer Object)(VO)는 쿼리 결과로 가져온 데이터를 자바의 collection같은 데이터 타입에 맞게 변환하여 비즈니스 로직이나 view 계증으로 전달하는 로직 작성DTO 생성 및 DTO 생성일반적으로 dao 클래스 파일은 별도의 com.DAO 같은 패키지로 구분하며 이름은 +DAO 의 형식으로 작성한다.dto도 마찬가지로 패키지 분할과 네이밍 컨벤션을 지켜주면 유지보수에 편리하다.이 방식은 초기에 작성하는 코드가 많으.. JDBC(java와 오라클의 통신 방법) JDBC(Java Database Connectivity) 는 java를 이용해서 db와 통신할 수 있게 해주는 api이다.기능으로는 주로 다음과 같다.db와의 연결statement 생성 및 쿼리결과를 받아 분기 처리트랜잭션 관리에 따른 안전성 보장 JDBC 라이브러리를 이클립스에 세팅하기1. 이클립스에 라이브러리를 path 등록하기먼저 jdbc 라이브러리를 이클립스에 복사 및 설정해줘야한다.oracle이 설치된 경로에서 lib/ojdbc을 찾아서 복사한다. (내 경우에는 sql developer의 lib/ojdbc.jar 파일을 사용)이런 외부 라이브러리는 java가 설치된 경로의 lib/ext로 위치시키면 된다.ex | c/program files/jre/lib/ext이클립스에 복사 및 설정하기win.. [jsp&servlet] 인코딩 방식을 통한 한글 깨짐 처리, 정상 출력 인코딩 방식이란, 문자열을 바이트로 전환하거나 반대의 과정에서 사용하는 규칙 같은 것이다.영어는 1바이트, 한글은 2바이트를 기본으로 사용하는데, 인코딩 처리 방식을 설정안하면 비영어 언어는 html이나 get, post 전송 과정에서 깨질 수 있다. 일반적으로 요즘에는 UTF-8을 사용하는데, 거의 모든 언어의 인코딩 가능하기 때문이다. 방법1: 개별 파일 인코딩 처리HTML 파일(JSP) 인코딩참고로, include하는 파일의 인코딩 타입이 원래 파일과 다르면, 에러가 발생함. 주의사항servlet에서 비영어 문자열을 처리하기 위해 UTF-8을 사용할 것이다.그러기 위해서는 HTML파일이 제출하는 form도 UTF-8을 사용해야 한다.따라서 html 파일은 인코딩 방식을 이것으로 설정하는 게 일반적이.. [jsp&servlet] cookie, session 원레 http request는 stateless하다.즉, 요청과 응답이 돌아오면, 이후로 클라이언트는 서버와의 연결이 끊기므로 서버는 클라이언트를 기억하지 못한다. 이는 리소스를 해제함으로써 서버의 부하를 방지하지만, 로그인처럼 클라이언트의 권한을 서버에서 기억해야 할 때는 다른 방법이 필요하다.이 때 사용되는 것이 cookie와 session이다. cookie쿠키는 클라이언트의 요청에 자동으로 탑재되어 서버로 보내진다. 따라서 여기에 인증 정보를 담아놓을 수 있다.하지만 보안에 취약하여 탈취 위험성이 크고 용량이 작아서 보안상으로 덜 민감한 간단한 정보만 저장하거나 만료기간을 지정한다. 보통은 사용자가 쿠키를 조작하지 못하도록. 서버의 인증 과정 추가한다서버 세션에 사용자 정보와 연결수단으로서 쿠키를 .. [jsp&servlet] error page 설정 방법 에러페이지는 런타임 단계에서 에러 발생 시 이동하는 페이지다.이는 리다이렉트가 아니라 서버단에서 클라이언트 요청에 보여줘야 할 페이지를 에러 페이지로 임시 교체하는 것이다. 방법페이지 상단에 지시어 설정 주의사항에러페이지는 스크립트릿 태그에서 발생한 에러, 즉 service 메소드가 돌아가는 라이프 사이클에서의 에러가 발생할 때만 작동한다. 선언 태그에서 발생한 에러에는 반응하지 않으니, try 문을 사용해서 에러 처리하거나 다른 방법을 써야 한다. 참고로 에러 페이지 자체도 url 접근 가능하다. 그러니 누가 url로 접근 할시 예외처리가 필요하다. 만약 에러 페이지에서 에러 객체를 확인하기 위해서는 설정이 필요하다.교체할 에러 페이지 상단에 지시어 설정 참고자료https://velog.io/@jipa.. [jsp& servlet] jsp 스크립트, 내장 객체, 요청 응답 jsp 스크립트jsp 스크립트는 jsp파일 내에서 자바 코드를 삽입하는 방법이다.삽입된 스크립트는 웹 컨테이너에서 jsp파일이 servlet으로 컴파일될 때 service 메소드로 삽입된다.그리고 파싱된 html의 소스코드에서는 소스 코드에서 배제되므로 보안 상으로 안전하다. 선언 태그멤버 변수 혹은 메서드를 선언할 수 있는 태그다.여기서 선언된 변수는 라이프 사이클 내내 유지된다. 즉, service 메소드의 매 호출 마다 초기화되지 않고 유지된다.형식 | 코드 %> 주석 태그html 주석 태그클라이언트 소스 코드 쪽에 남는 일반적인 html 주석이다.형식 | 주석 -->단축키 | ctrl shift c JSP 주석 태그서버 단에서만 볼 수 있는 주석 태그다.형식 | 주석 --%> ( 스크립트릿 태.. servlet의 기본 사용법1(request, response, life cycle, form 처리) servlet request, responseWAS는 클라이언트의 요청을 서블릿에 적합한 리퀘스트 객체로 반환해준다. 그러면 서블릿 파일은 이를 이용해 관련 작업을 하고 응답을 할 수 있다. 클라이언트의 요청은 request method에 따라 서블릿에서 받는 방법도 달라지는데, get은 doGet 메소드에서, post는 doPost 메소드에서 받을 수 있다. get요청에 대한 간단한 응답public class NewServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter o.. 이전 1 2 다음