일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- Java
- 컬렉션프레임워크
- 대덕인재개발원
- 자바
- 예외미루기
- NestedFor
- 컬렉션 타입
- 오라클
- GRANT VIEW
- 인터페이스
- 정수형타입
- 한국건설관리시스템
- 추상메서드
- 어윈 사용법
- 환경설정
- 메소드오버로딩
- cursor문
- EnhancedFor
- abstract
- exception
- 생성자오버로드
- 사용자예외클래스생성
- 제네릭
- 집합_SET
- 객체 비교
- 자동차수리시스템
- 다형성
- 예외처리
- 참조형변수
- oracle
- Today
- Total
목록전체 글 (597)
거니의 velog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dF7yaC/btsshwMouzp/IkX0hyg1Gwdd3GJkdiy7rk/img.png)
[MyHotel.java] package kr.or.ddit.basic; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Scanner; import java.util.Set; /*문제) 호텔 객실을 관리하는 프로그램을 작성하시오. 조건1) 호텔 객식을 나타내는 Room클래스는 방번호(int), 방종류, 투숙객이름 필드로 구성되어 있고 방번호와 방종류는 다음과 같다. - 201~209 : 싱글룸 - 301~309 : 더블룸 - 401~409 : 스위트룸 조건2) 전체 객실 관리는 Map을 이용한다. (Map의 key값은 방번호로 하고 value값은 Room의 인스턴스로 한다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dDesUQ/btssgEJ2FXF/P3X0hVfFsDPR3tmjnlt0g0/img.png)
[selectOption.html] 아이디 : 비밀번호 : 생일 : 좋아하는 음식 : 하나만 선택 떡볶이 불고기 삼겹살 치킨 짜장면 피자 좋아하는 음식 : 여러개 선택 떡볶이 불고기 삼겹살 치킨 짜장면 피자 제출 취소 [style4.css] @charset "utf-8"; @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;500;700&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: "Noto Sans KR", sans-serif; color: #333; word-break: keep-all; } pre..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/T4vg3/btssgDK48Vf/HCEjp0WQ9M6DkPSIDQo2hK/img.png)
1. 웹 페이지 연결 기능 * 보통 웹 프로그램에서 사용되는 정보는 서블릿의 비즈니스 로직 처리 기능을 이용해 데이터베이스에서 가져온다. 그러나 동시 사용자 수가 많아지면 데이터베이스 연동 속도도 영향을 받게 되므로 정보의 종류에 따라 어떤 정보들은 클라이언트 PC나 서버의 메모리에 저장해두고 사용하면 좀 더 프로그램을 빠르게 실행시킬 수 있다. 이번에는 그 방법과 함께 서블릿이 로그인 시 사용자의 로그인 상태를 일정하게 유지시키는 기능에 대해 살펴보자. (1) 세션 트래킹 * 온라인 쇼핑몰을 이용하다 보면 메인 페이지에서 미리 로그인한 후 다른 웹 페이지에서 상품에 관한 댓글을 달거나 게시판에 상품평을 달곤 한다. 글쓰기창에서는 따로 로그인하지 않아도 된다. 그러나 메인 페이지에서 미리 로그인하지 않고..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bXVn29/btssuwjClD7/qqvQvBp2f9qXKuK3Lpq1mk/img.png)
(5) ServletConfig * 이번에는 다른 서블릿 확장 API인 ServletConfig에 대해 알아보자. * ServletConfig는 각 Servlet 객체에 대해 생성된다. 그리고 서블릿 API 계층 구조를 보면 ServletConfig 인터페이스를 GenericServlet 클래스가 실제로 구현하고 있다. * ServletConfig에서 제공하는 여러 가지 메서드를 이용해 서블릿에 관련된 기능을 사용할 수 있다. 대표적인 기능이 앞에서 실습한 ServletContext 객체를 가져오는 기능이다. * ServletConfig는 javax.servlet 패키지에 인터페이스로 선언되어 있으며, 서블릿에 대한 여러 가지 기능을 제공한다. 각 서블릿에서만 접근할 수 있으며 공유는 불가능하다. Ser..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/PPxRt/btssqmBi9pw/6oQefxTkKICU98dbPdcKkK/img.png)
[PhoneBookTest2.java] package kr.or.ddit.basic; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Scanner; import java.util.Set; /* * 문제) 이름, 주소, 전화번호를 멤버로 갖는 Phone 클래스를 만들고, * Map을 이용하여 전화번호 정보를 관리하는 프로그램을 작성하시오. * * (Map의 구조는 Key값으로 입력한 '이름'을 사용하고, value값으로는 'Phone클래스의 인스턴스'로 한다.) * 변수 선언 예시) HashMap 변수명; * * 이 프로그램에는 다음과 같은 메뉴가 있는데 각 메뉴의 기능을 구현한다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kEzwT/btssfFvvZwS/rtHhNY9fP4AYtXtmHmnCqk/img.png)
[input3.html] 아이디 이름 성별 남자 여자 과일 선택 사과 바나나 복숭아 수박 참외 포도 자두 첨부파일 전송 취소 [style3.css]@charset "utf-8"; @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;500;700&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; /* 크기 산정시 내용과 border, padding을 포함한다. */ } body { font-family: "Noto Sans KR", sans-serif; color: #333; word-break: keep-all; } pre { font-famil..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bLgMa9/btssaRC8ZJh/rlnc8kuwD0kPsGfamQdoR0/img.png)
3. dispatch를 이용한 포워드 방법 * 이번에는 dispatch를 이용해 포워드하는 방법을 알아보자. (1) dispatch를 이용한 포워딩 과정 * dispatch를 이용한 포워딩 과정이 redirect 방법과 다른 점은 클라이언트의 웹 브라우저를 거치지 않고 바로 서버에서 포워딩이 진행된다는 것이다. 따라서 웹 브라우저 주소창의 URL이 변경되지 않는다. 즉, 클라이언트 측에서는 포워드가 진행되었는지 알 수 없다. 1. 클라이언트의 웹 브라우저에서 첫 번째 서블릿에 요청한다. 2. 첫 번째 서블릿은 RequestDispatcher를 이용해 두 번째 서블릿으로 포워드한다. (2) 서블릿을 이용한 dispatch 포워딩 실습 * 이번에는 dispatch 방법으로 포워딩 기능을 구현해 보자. 1. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bi9Brw/btssgmBRBz2/LMmceWQNsM2bNLKbjeAJM0/img.png)
1. 서블릿 포워드 기능 사용하기 * 웹 프로그래밍 개발 초기에는 지금까지 배운 기본적인 서블릿 기능을 이용해 실제 웹 사이트의 기능을 구현했다. 즉, 서블릿 요청과 비즈니스 로직 처리 작업, 웹 브라우저의 화면 표시 응답 기능 등을 모두 사용했다. * 이번에는 이 외에 서블릿 프로그래밍을 개발할 때 사용하는 기능인 포워드, 바인딩, 에너테이션 등 다양한 기능에 대해 알아보자. (1) 포워드 기능 * 실제 온라인 쇼핑몰 같은 웹 애플리케이션은 여러 기능을 합쳐 하나의 프로그램을 실행한다. 회원 관리 기능, 게시판 관리 기능, 주문 관리 기능 등에 대해 각각의 서블릿이 기능을 수행하는 것이다. * 그런데 프로그램을 실행하다 보면 서블릿끼리 또는 서블릿과 JSP를 연동해서 작업해야 하는 경우가 있다. 예를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CaJSy/btsshmHUB17/WJDUl0dMyFahKkwHi2RO8k/img.png)
1. 서블릿의 비즈니스 로직 처리 방법 * 웹 프로그램은 클라이언트의 요청에 대해서 비즈니스 처리 기능을 이용해 데이터 저장소에서 데이터를 조회한 후 서블릿의 응답 기능을 이용해 클라이언트에게 결과를 전송한다. * 예를 들어 인터넷 교보문고나 예스24 같은 도서 쇼핑몰(온라인 서점)에서 책 제목을 검색창에 입력하고 검색 버튼을 누르면 책 제목이 서블릿으로 전송된다. 그럼 서블릿은 책 제목을 전송 받아 책 제목에 대한 정보를 데이터베이스 연동 기능을 이용해 조회한다. 그리고 조회한 결과를 서블릿 응답 기능을 이용해 클라이언트 브라우저에 전송하여 결과를 보여준다. * 서블릿 비즈니스 처리 작업이란 서블릿이 클라이언트로부터 요청을 받으면 그 요청에 대해 작업을 수행하는 것을 의미한다. 웹 프로그램에서 대부분의..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/myuHi/btssfxwgCNC/bQmDeNVb5uQGKdtxThedb0/img.png)
[BaseBallTest2.java] package kr.or.ddit.basic; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.Scanner; import java.util.Set; /* * 문제 ) Set을 이용하여 숫자 야구 게임 프로그램을 작성하시오. * ==> 컴퓨터의 숫자는 난수를 이용하여 구한다. (1 ~ 9 사이의 난수 3개) * (스트라이크는 S, 볼은 B로 나타낸다.) * * 예시 ) * 컴퓨터의 난수 ==> 9 5 7 * * 실행예시 ) * 숫자입력 >> 3 5 6 * 3 5 6 ==> 1S 0B * 숫자입력 >> 7 8 9 * 7 8 9 ==> 0S..