Programming/JAVA 썸네일형 리스트형 <jsp:include> 와 <%@ include %> 의 차이점 yayongi.jsp에서 다음을 작성한다. // 1번 // 2번 위의 차이점을 간단히 설명하면 컨테이너 ( 톰캣) 가 yayongi.jsp를 호출하게 되면 1번의 지시자는 변수까 지 그대로 가져와서 yayongi.jsp에서 사용할 수 있게끔 소스 자체를 합치는 것이고, 2번의 표준액션태그와 같은 경우는 yayongi가 먼저 컴파일이 되서 .class파일로 변환된 상태에서 컨테이 너의 요청을 받게 되었을 때 2번 소스에 이르게 되면 그 순간에 컴파일을 해서 합치게 된다. 위의 문장에서 결정적 차이점은 1번은 변수를 yayongi.jsp에서 그대로 사용할 수 있는 반면에 2번은 컴파일이 된 다음 합치므로 변수가 있더라도 가져올 수 없고 그냥 결과값만을 사용할 수 있게 되는 것이다. 더보기 톰캣의 클래스 로딩 순서 Bootstrap classes of your JVM System class loader classses (described above) /WEB-INF/classes of your web application /WEB-INF/lib/*.jar of your web application $CATALINA_HOME/common/classes $CATALINA_HOME/common/endorsed/*.jar $CATALINA_HOME/common/i18n/*.jar $CATALINA_HOME/common/lib/*.jar $CATALINA_BASE/shared/classes $CATALINA_BASE/shared/lib/*.jar 더보기 Apache Commons DBCP(DataBase Connection Pool) - DownLoad: http://commons.apache.org/ . Collections: http://archive.apache.org/dist/commons/collections/binaries/ > 자바의 Vector, ArrayList등의 Collection Framework과 비슷한 역할을하는 콤포넌트 입니다. . DBCP : http://archive.apache.org/dist/commons/dbcp/binaries/ > Connection Pool Core Logic . Pool : http://commons.apache.org/downloads/download_pool.cgi > 객체를 생성하여 메모리에 계속적으로 유지되도록 하는 콤포넌트입니다. 다음의 파일을 직접 받아서 tomca.. 더보기 [jsp] 절대경로를 구하는 메소드 더보기 자바 관련 사이트 ▩ JDK Documentation 설치하기 위한 주소 http://java.sun.com/j2se/1.5.0/download.jsp 실제 개발시에 각종 api에 관련된 문서를 웹상에서만 확인하기에는 불안정하다. ( 인터넷을 못할 수도 있고...) 그래서 그러한 때를 대비해 설치를 할 필요가 있다. ▩ JAVA Source - 자바 소스: C:/jdk1.5.0_06/src.zip 자바 클래스, 메소드, 멤버 변수등의 소스들을 모아놓은 파일 더보기 자바 관련 사이트 ▩ JDK Documentation 설치하기 위한 주소 http://java.sun.com/j2se/1.5.0/download.jsp 실제 개발시에 각종 api에 관련된 문서를 웹상에서만 확인하기에는 불안정하다. ( 인터넷을 못할 수도 있고...) 그래서 그러한 때를 대비해 설치를 할 필요가 있다. ▩ JAVA Source - 자바 소스: C:/jdk1.5.0_06/src.zip 자바 클래스, 메소드, 멤버 변수등의 소스들을 모아놓은 파일 더보기 This의 주의할 점 this는 static으로 선언된 메소드 안에서는 사용할 수 없다. 이유: this는 멤버변수를 호출한 객체의 주소를 가지고 있기 때문에 heap 메모리를 참조하고 있게 된다. 하지만 static은 Data Segment 영역에 올라가는데 이 말은 객체의 생성이 이루어지기도 전에 이미 메모리 에 올라가 있다는 것을 의미한다. 그러므로 static으로 선언된 메소드안에서 this를 쓴다는 것은 생성되지 도 않은 객체의 주소를 가지고 있다는 말이 되므로 문법상 오류를 발생시키게 된다. 다른 의미로는 this는 클래스 내부의 멤버변수나 멤버 메소드를 호출하는 객체의 주소를 참조하고 있는데, 이 주소는 heap 메모리를 가리키고 있는다. 하지만 static은 메모리의 Data Segment 영역 즉, 데이터영역.. 더보기 overloading & overriding 에서 조심해야 할 것 * 오버로딩 * 같은 클래스 내에서 메소드 명이 같고 다음이 적용될 때 1. 리턴타입이 달라도 되나 다음의 2~3번 사항 중 한가지가 같이 적용이 되어야 한다. 2. 매개변수의 데이터 타입이 다를 수 있다. 3. 매개변수의 갯수가 다를 수 있다. * 오버라이딩 * 다른 클래스에게서 상속 받았을 때 메소드명이 같을때 1. 리턴타입이 다르면 안된다. 2. 매개변수의 수가 다르면 안된다. 3. 매개변수의 데이터 타입이 다르면 안된다. 4. 접근제한자는 다를 수 있다.(public, private 등) class OverA { void show(String str) { System.out.println("상위클래스의 메소드 show(String str) 수행 " + str); } void show(String .. 더보기 String 객체 대한 이해 1. new를 이용한 객체의 생성없이도 지정한 변수에 값을 직접 지정해 줄 수가 있다. ex) String aaa = new String("야용이"); -> String은 클래스이기 때문에 객체를 생성해야 한다. String aaa = "야용이"; -> 하지만 이렇게 객체의 생성없이 바로 지정하는 것이 가능하다. 2. 하지만 변수에 저장되어 있는 값은 실제 데이터 내용이 아니라 그것을 참조하고 있는 hashcode이다. 3. 데이터 값이 같을 경우 변수명이 달라도 같은 해시코드를 가지게 된다. 즉, 같은 힙 메모리를 참조하고 있다는 말이 된다. 더보기 [scwcd] 덤프 틀린 문제도 상당 수 되는 듯 합니다... 하지만 드래그 앤 드랍 문제를 파악하는데 도움이 될 듯 합니다. 더보기 이전 1 2 3 4 5 6 다음