목록콤퓨타 왕기초 (187)
파게로그
입력할 값이 많은 경우에는 POST 요청을 이용한다. reg.html 공지사항 등록 제목 : 내용 : NoticeReg.java package com.ddoongi.web; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; @WebServlet("/notice-reg") public class NoticeRe..
GET 요청, 즉 무언가를 달라고 하는 요청에는 옵션이 있을 수 있다. 이는 요청 내 쿼리스트링을 통해 구현된다. http://localhost/hello (10번반복) http://localhost/hello?cnt=3 (3번반복) ?cnt=3 : 쿼리스트링 hello?cnt=3 : '요청' 이러한 요청은 아래 4가지가 모두 가능하며, 각각에 대해 request.getParameter("cnt")를 통해서는 다음과 같은 String이 반환된다. 요청 cnt_ 처리 http://.../hello?cnt=3 "3" http://.../hello?cnt= "" !cnt_.equals("") http://.../hello? null cnt_ != null http://.../hello null cnt_ != ..
초기 세팅 Eclipsed Java EE > New > Dynamic Web Project Project Name: 프로젝트명 Target Runtime: WAS 선택 기초적인 설명 홈 디렉터리 WebContent/ Eclipse IDE에서 웹 페이지를 볼 때 브라우저 설정하기 Window > Web Browser 파일을 직접 여는 것과 Run의 차이 문서 작성 후 Run을 하면, 문서가 Tomcat의 디렉터리로 옮겨진 후, Tomcat이 실행된 후, Eclipse로 돌아와서 내용이 표시된다. 즉, 파일 자체가 열리는 게 아니라 배포된 문서를 볼 수 있는 것이다. 프로젝트명을 context name으로 쓰지 않기 기본 프로젝트를 root project가 되어야 한다. 프로젝트 우클릭 > Web Proje..
Representational State Transfer(REST) Fielding, Roy Thomas(2000) 전문_ 논문요약 Fielding, Roy Thomas.; Taylor, Richard N. (2002) [블로그] REST의 특징과 디자인 가이드 [블로그] RESTFUL API Microsoft REST API Guidelines [블로그] 예시 [Stackoverflow] HTTP GET with request body
코드 재사용은, 소스 코드가 아니라 배포 코드(binary code)를 재사용하는 것을 말한다. 배포(수작업) 1. 컴파일: Exam.class 2. 압축: Exam.zip 3. jar(자바를 위한 압축파일이라는 의미로, 확장자를 바꾸면 된다): Exam.jar 배포(IDE) 프로젝트 오른쪽 클릭 -> Export -> General > Archive File (소스코드 배포할 때) (선택) Java > JAR file(압축할 때 컴파일 후 jar로 압축) -> 원하는 파일 선택 -> 디렉터리와 파일 이름(예: examlib.jar) -> Finish 갖다쓰기 (수동) javac -cp "D:\java\examlib.jar" Program.java 새 프로젝트 오른쪽 클릭 > Build Path > Co..
Has A 관계 Has A 관계은, Has A 상속이라고도 하지만 사실상 상속도 아닌 것과 같아서 Has A 관계라고도 곧잘 불린다. 상속에 대해서는 잘 언급되지 않는 개념이지만, 이렇다고 알고 있으면 된다. Python에서는 compositoin으로 def foo(bar):과 같이 사용되고, Java에서는 특별한 문법 없이 포함 관계로서 설명할 수 있다. 캡슐들은 다른 캡슐을 사용하거나, 다른 캡슐에 의해 사용되는 관계를 가지고 있는데, 어떤 캡슐에 다른 캡슐을 포함하는 것을 Has A 관계라고 할 수 있다. Car 클래스와 Engine 클래스가 있을 때, Car 클래스 내에서 Engine 클래스의 인스턴스를 생성한다면 Car Has A Engine이 된다. 이 때 Car 클래스 내에서 Engine 클..
초기화를 위한 특별한 무명의 함수로서, 다음의 조건을 만족한다. 1. 객체가 생성되자마자 무조건, 제일 먼저 실행된다. 2. 생성될 때, 단 한 번만 실행된다. 함수의 이름이 없으며, 정의할 때의 함수명은 초기화할 객체를 한정하기 위한 형식적인 명칭일 뿐이다. 리턴 타입이 정의되지 않는다. 생성자도 오버로딩이 가능하다. 기본 생성자는 컴파일러가 자동으로 만든다. 참조변수가 실체화될 때는 null이, 기본 자료형(값 변수)이 실체화될 때는 0으로 초기화된다. 단, 기본 생성자가 없는 상태로 오버로드만 했다면 기본 생성자를 사용할 수 없게 된다. 그러면 상속에서 여러가지 난제에 마주치게 된다. class Student { String name; int id; // 생성자 overloading public S..
같은 기능을 하는 메소드가 다른 인자를 받을 수 있도록 한다. 아래의 코드에서는, print(int n)만으로 print()를 커버할 수 있지만, 한 번만 구현해두면 메서드의 사용자는 불필요한 인자 전달을 하지 않아도 된다. 다만 실제로는, 기본 메서드는 print()이며 print(int n)이 '추가 기능이 구현되었다'고 할 수 있는, 오버로드된 메서드이다. 구현할 때에는, 인자가 많은 메서드를 구현한 후 나머지는 그 메서드를 호출하는 방식을 이용한다. package ex.method.overloading; import java.util.Scanner; class Student { String name; int age; double score; public Student(String name, int..