본문 바로가기

JSP

(16)
데이터를 주고 받기 위한 메서드 * getPatameter()와 getAttribute() 의 차이 request.getParameter() 클라이언트가 보낸 값을 뽑아쓰는 개념 (그러므로 .setParameter()는 없음) request.getAttribute() requset.setAttribute() 내가 편할라고 다음!! 페이지에서 꺼내서 쓰려고 담아두는 것 즉, 폼이랑 연결된 다음 페이지라고 생각하면 편하다 session.getAttribute() session.setAttribute() 페이지보다 더 넓은 범위의 브라우저 전체에서 사용하고 싶을 때 저장해놓는 곳 폼이랑 연결된 페이지가 아닌데 그 폼에서 사용자가 입력한 값은 쓰고 싶을 때, 이거 사용하면 됨 application.getAttribute() 전역변수 느낌. 잘..
MVC2 패턴이란? * MVC1 방식- 비즈니스 로직과 프레젠테이션 로직이 뒤섞여 있음- 고도의 스킬이 필요없고, 코드가 직관적이므로 생산성 측면에서는 효율적- 하지만, 복잡해질수록 개발자와 디자이너가 협업을 하는 데 있어 어려움이 있음 * Model / View / Controller- Model : 비즈니스 로직 중심 (서비스, dao, vo, db템플릿 등)- View : 디자인 중심- Controller : Model과 View를 제어- 세 영역의 결합도를 최소화하자- 재사용성과 가독성이 높아짐 / 유지보수와 확장이 용이 * Model- 실제 업무를 처리하는 비즈니스 로직에 집중- 데이터베이스와 연동하는 비즈니스 로직을 통해 얻어온 데이터를 저장- 웹 브라우저의 요청에 따라 필요한 기능을 처리- 컨트롤러가 요청한 작..
DBCP - VO, DAO, Servlet을 이용한 회원수정 1. MemberUpdateServlet 파일의 doGet() 메서드 작성 2. memberUpdate.jsp 파일 작성 3. memberUpdate.jsp 파일 확인 / member.js 파일 작성 4. MemberDAO 작성 5. MemberUpdateServlet 파일의 doPost() 메서드 작성
DBCP - VO, DAO, Servlet을 이용한 회원가입 1. MemberVO 클래스 작성 * VO(Value Object) - 회원 정보를 저장할 공간 - 회원 정보를 하나로 묶어서 저장 = 가방 안에 다 때려 넣는다 - 자바 빈을 데이터베이스와 접목할 경우 VO라고 함 - DTO(Data Transfer Object) = VO = 자바 빈 - private 속성 / setter(저장) / getter(조회) 메서드로 구성 2. JoinServlet 파일의 doGet() 메서드 작성 - 로직의 시작과 끝을 담당하는 Servlet = Controller와 동일하다고 생각하자 - 주소창에 join.do 라는 입력이 들어오면, 해당 서블릿의 doGet() 메서드를 실행하라 -> 첫 번째 수행이 되는거지! 3. member/join.jsp 파일 작성 4. join...
커넥션 풀 (DBCP) * 커넥션 풀 (DBCP) - 오라클 접속 권한을 얻기 위한 환경 설정 - 접속 인원이 많은 웹 페이지에서 데이터베이스의 효율성과 속도를 높이기 위해서 사용 - 미리 대기타고 있는 풀이 많기 때문에, 클라이언트가 접속을 할 때마다 DB에 연결을 시도할 경우에 비해 부하가 적음 - 커넥션 객체를 모아두고 재활용하는 방법 - 풀에서 커넥션을 가져온다 -> 커넥션을 사용한다 -> 풀에 커넥션을 반납한다 * DBCP 설치하기 (아파치에서 얻어오기) 1) ojdbc6.jar 파일 lib 폴더 아래에 넣기 2) servers 폴더의 server.xml 파일에서 진행하는 프로젝트 태그 안에 태그 추가 - 세부 내용은 내 상황에 따라 변경하기 - 태그가 안보이면 프로젝트에 파일 하나 만들어서 실행하고면 이클립스가 자동..
[JSP] JDBC - INSERT / PreparedStatement * PreparedStatement 인터페이스 - Statement의 단점을 극복한 더욱 편리하고 효율적인 객체 - preparedStatement는 미리 컴파일된 SQL문을 가지고 있다가 동적으로 컬럼의 값을 채워 질의문을 던지도록 함 - 매번 바뀔 데이터가 들어갈 자리는 '?'로 표시하는데 동적으로 값을 할당할 때 여기에 채워짐 1) PreparedStatement 생성 String sql = "insert into member values(?, ?, ?, ?, ?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); - 바인드 변수 ? --> 값이 변경될 수 있기 때문에 미리 정해 놓지 않음 2) 바인드 변수로 지정된 매개 변수에 값 설정 pst..
[JSP] JDBC - SELECT / Connection / Statement / ResultSet * JDBC (Java Database Connectivity) - 자바로 만든 애플리케이션이 데이터베이스에 일관된 방식으로 접근할 수 있도록 API를 제공하는 클래스의 집합 - JDBC를 통해 SQL을 데이터베이스와 주고 받을 수 있음 - 클래스들과 인터페이스들의 묶음 * JDBC를 이용하여 데이터베이스에 연결하는 순서 1) JDBC 드라이버 로드 - DriverManager 2) 데이터베이스와 연결 - Connection 3) SQL문 실행 - Statement / ResultSet 4) 데이터베이스와 연결 끊음 * 데이터베이스 연결 관련 인터페이스 1) Connection - 데이터베이스 연결 / DriverManager.getConnection() 으로 얻음 2) Statement - 질의, 갱신..
POST 방식 한글 데이터 처리 방법 1. request.setCharacterEncoding() 메서드 사용 출력하는 페이지에서 상단에 코드 추가해주기 2. 태그 사용하기 출력하는 페이지에서 상단에 코드 추가해주기 * 태그 사용 시에는 상단에 지시자 추가