JAVA를 만들어보자. 이제부터 화면 전환 및 jsp와 오라클의 연결을 도울 수 있는 java를 만들어 줍니다. 위치는 설치된 톰켓 위치\Apache Software Foundation\Tomcat 9.0\lib 위의 servlet-api.jar를 WebContent안의 lib안에 넣습니다. project에서 sevlet을 사용하기 위해 필요한 요소입니다. 사진의 위치처럼 WEB-INF 안의 lib 폴더안에 servlet-api를 넣습니다. 이렇게 2개의 jar파일이 들어 있다면, web.xml을 설정을 해줍니다. web.xml JSP의 가장 기본이며, java의 시작지점이기도 합니다.web.xml에서 아래처럼 간단하게 설정을 해둡니다. (복사 하셔도 됩니다.) WEB.xml은 저장시 은근히 시간을 잡아..
JSP 화면 만들기 DB 만드는 것을 마쳤다면, 이클립스를 통해 JSP를 만들기 시작합니다. 제가 생각하는 기본틀은 JSP의 INCLUDE를 활용하는 방법으로. 이를 통해 작업시간을 좀 더 줄이는 것에 목표를 가졌습니다. 처음보는 사람은 손이 더 가는데? 라는 의견을 제시할 수 있지만. 시험 도중 갑자기 바꿔야하는 문제에 대해서 유지보수가 쉽다는 점에서. 또는 시험이라는 환경 속에 실수를 최소화 하기 위해 이 방법을 채택하게 되었습니다. JSP의 include를 활용하기 위해 총 5개의 jsp를 생성하게 되었습니다. 가장 기본틀인 template.jsp html의 Top 부분인 top.jsp html의 nav 부분인 nav.jsp html의 footer 부분인 footer.jsp 입니다. 그리고 각 메뉴..
1. DB 만들기 기본적인 설정을 하셨다면, 제일 먼저 마쳐야 할 구간 입니다. 문제에서 주어진 DB를 보고 TABLE 생성과 INSERT를 거쳐야 합니다. CREATE TABLE MEMBER_TBL_02( CUSTNO NUMBER(6) NOT NULL, CUSTNAME VARCHAR2(20), PHONE VARCHAR2(13), ADDRESS VARCHAR2(60), JOINDATE DATE, GRADE CHAR(1), CITY CHAR(2), PRIMARY KEY(CUSTNO) ); CREATE TABLE MONEY_TBL_02 ( CUSTNO NUMBER(6) NOT NULL, SALENOL NUMBER(8) NOT NULL, PCOST NUMBER(8), AMOUNT NUMBER(4), PRICE..
JSP 빈즈 JSP와 연동을 위해 만들어진 자바 컴포넌트 Bean 액션을 통해 JSP에서 손쉽게 연동 데이터베이스 연동이나 뷰 데이터 교환에 사용된다. 빈즈 개요 자바 클래스 멤버 변수와 getter, setter 메서드로 구성됨 특정 기능을 수행하는 별도의 메서드를 가질 수 있음. JSP 모델2에서는 뷰 컴포넌트로만 활용이 권장된다. 빈즈 클래스 구성 빈즈 클래스도 자바클래스이므로 기본적으로는 자바 클래스 규격을 따른다. getter 메서드 package Test; public class BeanTest { private String name = "Mollang"; public String getName() { return name; } public void setName(String name) { t..
사은품 교환하기. 의외로 애먹은 문제이다. 사람의 수를 입력 받고, 쿠폰 A와 B의 갯수를 받고 교환 할 수 있는 커피의 개수를 구하는 문제였다. 이 문제의 포인트는 A의 갯수는 최소 5개 이상이여야 하며. A+B의 갯수는 12개 이상이여야 한다는 것이다. 두개의 조건은 항상 TRUE이여야 한다. 그래서 아래와 같이 짤막한 코딩이 만들어졌다. public class Pro02_02 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); // 배열 크기 int size =..
간단한 알고리즘 모의테스트를 진행하였다. 문제를 읽었을 때의 핵심을 요구한다면. 1. 이 수열은 몇을 입력을 하든, 최소값이 1이 나온다. 2. 최소값 1이 수열의 순서와 상관없이 결과값은 항상 동일하다. 그렇다면 이제 위의 예제를 살펴보자. 2 3 1 4 입력했을 경우, 2개의 동그라미가 순서가 생긴다. 7 3 1 8 4 6 2 5 입력했을 경우 4개의 순서가 샌긴다. 여기서, 7 3 1 8 4 6 2 5와 7 3 1 8 4 6 2 5 는 반드시 있다. 그러면 7 3 1 8 4 6 2 5 는 어떤 구조이길래 결과가 3개가 아니라 4개 일까? 여러 Test 결과 이와 같았다. 7 3 1 8 4 6 2 5 7 3 1 8 4 6 2 5 7 3 1 8 4 6 2 5 7 3 1 8 4 6 2 5Α ㅣ마지막 지정..
Bean id : 빈즈 클래스의 인스턴스명으로 사용하는 변수(래퍼런스) class : 빈즈 클래스의 클래스명으로 패키지 경로를 포함한다. setProperty name : 빈즈 클래스의 인스턴스명으로 id값에 설정했던 변수명(setter) property : 속성값으로 빈즈클래스의 setXxx(Xxx는 속성이름) 메서드와 매칭 될 속성값. "*"를 지정하면 모든 setXxx에 자동으로 매칭. getProperty name : 빈즈클래스의 인스턴스명으로 id값에 설정했던 변수명
현재 jsp 페이지를 컨테이너에서 처리하기 위한 각종 속성 지정 PAGE 지시어
HTML 주석 JSP는 HTML과 함께 구성되므로 HTML 형식의 주석 사용 가능 단, JSP 문법이 사용된 부분에는 사용 불가 예) JSP주석 HTML과 JSP 문법 모든 부분에 사용 가능 소스보기를 하면 보이지 않음 예) 자바 주석 JSP 스크립트릿 영역 내에서 사용됨. 예) /* */, //
C언어의 배열 만들기 배열 배열을 만드는 법은 매우 간단합니다. 타입명 변수이름[크기]; 배열의 크기와 타입을 지정하면서 생성합니다.초기값 지정시에는 아래와 같습니다. int numArr[5] = {1,2,3,4,5}; numArr이라는 이름의 배열이 생성이 되면서 1,2,3,4,5 순서로 값이 저장 되었습니다. 배열의 크기 알아보기 배열의 크기를 알기 위해서는 sizeof 라는 함수를 알아봐야합니다.sizeof함수는 메모리 크기를 의미하며.int numArr[5] = {1,2,3,4,5};sizeof(numArr) 입력시 20의 크기를 표현합니다.20 = (int 메모리수) * 배열의 크기 5;그러므로 크기를 알아봐야 할 때에는 아래와 같이 사용하셔야합니다. sizeof(numArr) / sizeof(..
[C언어] 키보드 입력받기 #include 선언 키보드값을 입력 받기 위해서는 반드시 필요한 선언입니다.kbhit(), getch(), GetKeyDown()를 선언하기 위해 필요합니다. _kbhit()kbhit()는 키보드를 누른 여부를 판독합니다.만약 키보드를 눌렀다면 true, 안누르면 false가 발생합니다. hetch()getch()는 키 입력 했을 때의 값을 입력 받습니다. #include #include #define LEFT 75#define RIGHT 77#define UP 72#define DOWN 80// 1. 매크로로 좌우상하를 설정한다. int main(void) { char c; while (1) { if (_kbhit()) { // 2. while문안에서 키보드 눌렸을 시 if..
배열 배열을 이용하여 간단하게 피보라치 수열을 만들자. #include #define N 10 int main(void){int fib[N] = { 0, 1 };int i; // 피보나치 수열 생서아for (i = 2; i < N; i++){fib[i] = fib[i - 1] + fib[i - 2];}// 피보나치 출력printf("피보나치 수 : ");for (i = 0; i < N; i++){printf("%d", fib[i]);printf("\t");}return 0;} 결과값0 1 1 2 3 5 8 13 21 34 10개의 공간을 가진 배열로 피보라치 수열을 만들어보았다. 반복문을 활용해 배열의 공간에 값을 넣은 후, 다시 반복문을 통해 출력을 도왔다.
THIS 항상 instance method의 첫 번째 매개변수로 존재하고 있다. 명시적으로 만들 수 없다. 오직 사용만 가능하다. 자기자신의 객체를 접근하는 객체 래퍼런스 변수이다. 객체를 구별해주는 역할을 한다. 지역변수와 필드 이름이 같을 경우, 명시적으로 구별하기 위해서 반드시 사용을 해야 한다. 자기자신을 참조 할 때 사용한다. public class This{int num; public void disp(int x){System.out.println(x);System.out.println(this.x);} public This getObject(){return this;} public static void main(String [] args){This th = new This();th.disp(..
이번 시간은 클래스 구성요소에 대해 알아보도록 하겠습니다. 클래스 구성요소 Field 객체를 사용할 동안 지속적으로 사용되는 데이터이다. 주로 private 사용을 한다. (외부 접근 불가) 클래스 내부에 있는 메소드를 통해 사용을 하게 하는 방법이다. Constructor (생성자) 항상 명시적으로 만들지 않을 경우 디폴트 생성자 한 개를 자동으로 제공한다. 객체 생성시 자동 호출되어야 한다. 디폴트 기능 : 객체 등록 사용자 기능 : 필드 초기화 목적 생성자 함수는 오버로딩이 가능하다. 리턴 타입이 존재하지 않는다. 함수명은 클래스명과 동일하다. 생성자 함수는 주로 public으로 지정한다. method 외부와 내부를 연결시켜주는 기능이다. instance method, static method를 제..
이번 시간에는 오버로딩에 대해 배우겠습니다. 오버로딩 동일한 함수명으로 여러개의 함수를 제공한다. 매개변수의 타입이 달라야 한다. 매개변수의 갯수가 달라야 한다. 하나의 이름으로 여러개의 함수를 사용 할 수 있다. 같은 기능을 가지고 있는 것들끼리만 같은 이름으로 사용한다. public Class Overloding{public void disp(char ch) // 오버로딩{System.out.println(ch);}public void disp(int i) // 오버로딩{System.out.println(i);} public void disp(char ch, int i) // 오버로딩{System.out.println(ch);System.out.println(i);} public static void..