JSP&Servlet 15

[JSP]11. FrontController 패턴

JSP_11_FrontController 패턴 [FrontController 패턴] 필요한 이유 파일마다 중복되는 코드 예)한글 인코딩, 세션 객체 선언 기능마다 파일이 만들어서 개발이 복잡함 Servlet의 용량이 크고, 같은 기능의 반복으로 효율성 저하 →클라이언트의 다양한 요청을 한 곳으로 집중시켜 개발 및 유지보수의 효율성 극대화 [실습] FrontController 만들기: init, service 메소드 체크 init: 처음으로 실행되는 메소드, 초기화 메소드 2. controller로 연결하는 부분에서 파일경로에 .do 추가하기 main에서 controller 경로 뒤에 .do 추가하기 update에서 controller 경로 뒤에 .do 추가하기 ShowMember에서 controller ..

JSP&Servlet 2023.07.10

[JSP]10. 게시판 기능

JSP_10_게시판 기능 [환경설정] 파일업로드하는 라이브러리 cos.jar(2020.4) pom.xml에 추가하기 [게시판 실습] 게시글 등록하기 [BoardWrite.jsp]BoardWriteController로 title, writer, filename, content 보내기 [BoardDTO]에서 필드와 생성자 만들기 필드: title, writer, filename, content, b_date 생성자: @Getter, @AllArgsConstructor//전체 생성자 @NoArgsConstructor //기본생성자, @RequiredArgsConstructor //필요생성자 [BoardDAO]에서 upload 메소드 만들기 연결하기: sqlSessionFactory.opensession(tru..

JSP&Servlet 2023.07.09

[JSP]9. 회원정보 관리

JSP_9_회원관리기능 구현하기 [개인정보 수정] [UpdateMember.jsp] EL 표현식, JSTL 사용하기 태그에서 UpdateController로 사용자가 입력한 email 전송하기 -접속한 email EL 표현식으로 나타내기 -수정할 정보(pw, tel, address) 입력할 input 태그 작성하기 -사용자 화면에서 보이지 않게 사용자가 입력한 email 전송하기 [MemberDAO]update 메소드 만들기 연결하기: SqlSession session=sqlSessionFactory.opensession(true); sql문장 실행하기: int cnt=session.update(“update”, dto); 연결 종료하기: session.close() [MemberMapper]update..

JSP&Servlet 2023.07.06

[JSP]8. lombok

JSP_08_lombok lombok: getter, setter, toString 등 메소드 작성 코드를 줄여주는 코드 다이어트 라이브러리(여러 annotation 제공하여 compile 시 메소드 생성) [환경설정] 1. lombok 다운로드 https://projectlombok.org/download 2. Eclipse 파일 위치에 lombok 넣기 C:\Users\smhrd\eclipse\jee-2023-03\eclipse 3. eclipse경로 확인 후 설치-install/Update-성공하면 quit installer 4. pom.xml에 라이브러리 추가: project Lombok(1.18.28) 5. lombok으로 메소드 만들기 - @메소드 생성하는 명렁어→Ctrl+Shift+O(imp..

JSP&Servlet 2023.06.30

[JSP]7. Mybatis 로 JDBC 구현하기

Mybatis로 JDBC 구현하기 [회원가입] [pom.xml] 1. ojdbc.jar 파일 설치하기: maven에서 ojdbc6.jar(11.2.0.4) 코드 복사 라이브러리 추가 확인 [DAO 수정하기] 2. sqlSessionManagerFactory 불러오기: sqlSessionManager.getSqlSession(); 3. join 메소드 만들기(DAO) 1)연결하기(sqlSession 빌리기): sqlSessionFactory.openSession(boolean autoCommit) 2)sql문 실행하기: insert(String statement, Object Parameter) 선택 –session.insert(“mapper의 id값”, sql문장에 넣을 값) 3)sql문 작성하기: [M..

JSP&Servlet 2023.06.29

[JSP]6. Maven&Mybatis

[Maven] 1. Maven: 빌드 절차를 간소화하는 빌드도구(외부라이브러리 설치) -build: 소스코드를 컴퓨터에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정 및 결과물 -다수의 인원이 협력해서 개발하기 편리함(실제 파일이 없어도 사용가능) -라이브러리 파일을 직접 추가하지 않아도 코드 사용으로 라이브러리 사용이 가능함 -하위라이브러리까지 자동으로 설치됨 2. maven project 만들기: new-other-maven 검색 filter: maven-archetype-webapp 검색 Group id(그룹 식별, 도메인 역순으로 작성): com_smhrd Artfact id(프로젝트 식별):maven 3. superclass 상속: build path-other and export-체..

JSP&Servlet 2023.06.28

[JSP]6. Maven&Mybatis

1. Maven: 빌드 절차를 간소화하는 빌드도구 -build: 소스코드를 컴퓨터에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정 및 결과물 -다수의 인원이 협력해서 개발하기 편리함(실제 파일이 없어도 사용가능) -라이브러리 파일을 직접 추가하지 않아도 코드 사용으로 라이브러리 사용이 가능함 -하위라이브러리까지 자동으로 설치됨 2. maven project 만들기: new-other-maven 검색 filter: maven-archetype-webapp 검색 Group id(그룹 식별, 도메인 역순으로 작성): com_smhrd Artfact id(프로젝트 식별):maven 3. superclass 상속: build path-other and export-체크 후 apply 4. pom.xml..

JSP&Servlet 2023.06.27

[JSP]5. Scope

1. Scope: 웹 어플리케이션의 영역(내장 객체 영역, 객체의 유효기간) →데이터 전송범위 , 데이터 저장 유효기간과 관련 2. 내장객체 객체 생성: .setAttribute(name, value), 이름에 값 설정 객체 조회: .getAttribute(name), 설정한 값 조회 객체 삭제: .removeAttribute(name), 설정한 값 제거 1)Page: 한 페이지에서 객체 생성, 조회, 다른 페이지에서는 객체 조회 안 됨 -1번 페이지에서 객체를 생성하고 2번에서 1번 객체를 조회하면 null값 2)Request: 하나의 요청에 대해 데이터 유지 -1번 페이지의 request와 2번 페이지의 request는 서로 다른 request객체 -2번 페이지 실행 시 1번 페이지의 데이터 유지x ..

JSP&Servlet 2023.06.26

[JSP]4. cookie&session

1. HTTP의 한계: 비연결형 프로토콜→페이지 연결한 후 연결종료하므로 정보유지 안 됨 2. cookie&session: client의 정보를 지속적으로 유지하기 위한 방법 3. cookie: 정보 저장위치→client PC -전달할 데이터를 웹 브라우저(client)에 보냈다가 web server로 돌려받는 방법 -자원: Client의 자원을 사용하므로 서버에 영향을 주지 않음→유지비용↓ -저장형식: web 페이지 방문 시 브라우저에서의 정보들이 텍스트 파일에서만 저장가능 -보안에 취약하므로 중요하지 않은 정보만 저장해야 함 -용량: 쿠키 하나 당 4KBX300개=1.2MB cookie 생성 및 동작 과정 client request(id,pw) 1 server response(+cookie) 1 co..

JSP&Servlet 2023.06.23

[JSP]3. MVC 패턴으로 JDBC 만들기

[MVC 패턴] ● Model: 데이터를 담거나 전송하거나 수정, 삭제 ● Controller: logic 결과에 따라 적절한 view를 선택하여 응답 ● View: Model데이터를 기반으로 실제 사용자에게 보여지는 페이지 1. Model1: JSP만 사용, Controller, View 구분 x 2. Model2: View와 비즈니스 로직 부분을 분리 [회원가입/로그인 실습] 1. main.jsp: 태그, 태그 -회원가입 버튼 클릭 시 [join.jsp]로 이동 -로그인 버튼 클릭 시 [login.jsp]로 이동 2. join.jsp: 태그, 태그, 태그, 태그 -id, pw, name 입력하는 폼 만들기 -회원가입 버튼 클릭 시 [JoinProgram.java]로 이동 3. JoinProgram: ..

JSP&Servlet 2023.06.22