sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | |
sitelink5 | |
sitelink6 |
I. 이름 짓기 관례
1) 패키지 이름
- 도메인 이름의 역순
- 지역적으로 사용된 이름은 소문자로
2) 클래스, 인터페이스 이름
- 대문자로 시작
- 새로운 단어는 대문자로
3) 메소드, 변수 이름
- 소문자로 시작
- 새로운 단어는 대문자로
4) 상수 이름
- 모두 대문자로
- 새로운 단어는 _로 분리
II. 패키지 연습 (패키지만들기)
다음의 소스를 c:sourcepack경로에 저장한다.
/**********************************************/
//Shape.java
package shape; //클래스 앞에 패키지할 위치정보를 적는다.
public abstract class Shape
{
protected int posX, posY;
public abstract void draw();
}
/**********************************************/
/**********************************************/
//Rectangle2.java
package shape;
public class Rectangle2 extends Shape
{
public void draw()
{
System.out.println("Drawing Rectangle...");
}
}
/**********************************************/
/**********************************************/
//Circle2.java
package shape;
public class Circle2 extends Shape
{
public void draw()
{
System.out.println("Drawing Circle...");
}
}
/**********************************************/
1) 각 클래스마다 각각의 화일로 저장한다.
2) 저장후 도스콘솔모드에서 pack폴더가 보이는 경로까지 이동한다. (가령 c:sourcepack이라면 c:source까지)
3) Javac -d c:classes pack/*.java 명령으로 패키징한다.
- c:classes는 환경변수 class path에 등록된 경로이다. 그리고 우리는 이미 classes라는 폴더를 만들어 두었었다.
- pack/*.java는 우리가 생성한 소스파일이 있는 경로이다.
4) 컴파일하면 classes폴더에 shape라는 패키지가 생성된다. (우리에게는 shape폴더가 생겨난 것처럼 보인다)
5) 다음의 소스를 c:source에 저장하여 실행해보자.
/**********************************************/
//MyApplication.java
import shape.*;
class MyApplication
{
public static void main(String[] args)
{
new Rectangle2().draw();
new Circle2().draw();
}
}
/**********************************************/
6) 이상없이 컴파일후 실행하여 메세지까지 확인하였다면 이제 도스콘솔모드에서 c:classes까지 이동한다.
7) Jar cvf shape.jar shape/*.class (shpae밑의 모든 class를 shape.jar로 압축한다)
- cvf에서 c는 필수옵션으로 create의 약자이다.
8) Jar xvf shape.jar shape/*.class (shape.jar화일을 압축해제한다.)
- x는 extract의 약자.
9) Jar tvf shape.jar shape/*.class (압축을 풀지 않고 화일내용만 보기)
- t는 table의 약자
10)jar화일을 생성하였다면 생성된 jar화일을 j2sdkjrelibext에 카피한후 c:classes폴더는 삭제한 후 MyApplication.java화일을 실행해본다.
11)이상없이 컴파일된다면 성공
III. 자신의 웹서버 패키지하기
1단계
1) ROOT에서 jar cvf myServer.war * 를 입력
2) 생성된 war파일을/webapps/폴더에 카피
3) http://localhost:8080/myServer/index.html 을 실행하여 원하는 화면이 나오면 성공
2단계
1) war파일을 통해서 웹서버를 패키지하여 서비스 하려면 JSP나 SERVLET파일을 작성시 문서내의 경로설정에 주의하여야 한다.
2) action부분의 서블릿 프로그램 패스(ex> /servlet/GetData)는 별칭(ex> GetData)을 사용하여야 한다. 또한 서블릿의 별칭은 web.xml파일에 기술되어야 한다.
3) 서블릿 프로그램에서는 HTML페이지에 대한 링크를 절대 패스를 사용하지 않고, 상대 패스 혹은 컨텍스트 패스를 이용해서 기술하여야 한다.
ex) String path = req.getContextPath(); ......... out.println("<a href="+path+"/GetData.html>뒤로</a>");
1) 패키지 이름
- 도메인 이름의 역순
- 지역적으로 사용된 이름은 소문자로
2) 클래스, 인터페이스 이름
- 대문자로 시작
- 새로운 단어는 대문자로
3) 메소드, 변수 이름
- 소문자로 시작
- 새로운 단어는 대문자로
4) 상수 이름
- 모두 대문자로
- 새로운 단어는 _로 분리
II. 패키지 연습 (패키지만들기)
다음의 소스를 c:sourcepack경로에 저장한다.
/**********************************************/
//Shape.java
package shape; //클래스 앞에 패키지할 위치정보를 적는다.
public abstract class Shape
{
protected int posX, posY;
public abstract void draw();
}
/**********************************************/
/**********************************************/
//Rectangle2.java
package shape;
public class Rectangle2 extends Shape
{
public void draw()
{
System.out.println("Drawing Rectangle...");
}
}
/**********************************************/
/**********************************************/
//Circle2.java
package shape;
public class Circle2 extends Shape
{
public void draw()
{
System.out.println("Drawing Circle...");
}
}
/**********************************************/
1) 각 클래스마다 각각의 화일로 저장한다.
2) 저장후 도스콘솔모드에서 pack폴더가 보이는 경로까지 이동한다. (가령 c:sourcepack이라면 c:source까지)
3) Javac -d c:classes pack/*.java 명령으로 패키징한다.
- c:classes는 환경변수 class path에 등록된 경로이다. 그리고 우리는 이미 classes라는 폴더를 만들어 두었었다.
- pack/*.java는 우리가 생성한 소스파일이 있는 경로이다.
4) 컴파일하면 classes폴더에 shape라는 패키지가 생성된다. (우리에게는 shape폴더가 생겨난 것처럼 보인다)
5) 다음의 소스를 c:source에 저장하여 실행해보자.
/**********************************************/
//MyApplication.java
import shape.*;
class MyApplication
{
public static void main(String[] args)
{
new Rectangle2().draw();
new Circle2().draw();
}
}
/**********************************************/
6) 이상없이 컴파일후 실행하여 메세지까지 확인하였다면 이제 도스콘솔모드에서 c:classes까지 이동한다.
7) Jar cvf shape.jar shape/*.class (shpae밑의 모든 class를 shape.jar로 압축한다)
- cvf에서 c는 필수옵션으로 create의 약자이다.
8) Jar xvf shape.jar shape/*.class (shape.jar화일을 압축해제한다.)
- x는 extract의 약자.
9) Jar tvf shape.jar shape/*.class (압축을 풀지 않고 화일내용만 보기)
- t는 table의 약자
10)jar화일을 생성하였다면 생성된 jar화일을 j2sdkjrelibext에 카피한후 c:classes폴더는 삭제한 후 MyApplication.java화일을 실행해본다.
11)이상없이 컴파일된다면 성공
III. 자신의 웹서버 패키지하기
1단계
1) ROOT에서 jar cvf myServer.war * 를 입력
2) 생성된 war파일을
3) http://localhost:8080/myServer/index.html 을 실행하여 원하는 화면이 나오면 성공
2단계
1) war파일을 통해서 웹서버를 패키지하여 서비스 하려면 JSP나 SERVLET파일을 작성시 문서내의 경로설정에 주의하여야 한다.
2) action부분의 서블릿 프로그램 패스(ex> /servlet/GetData)는 별칭(ex> GetData)을 사용하여야 한다. 또한 서블릿의 별칭은 web.xml파일에 기술되어야 한다.
3) 서블릿 프로그램에서는 HTML페이지에 대한 링크를 절대 패스를 사용하지 않고, 상대 패스 혹은 컨텍스트 패스를 이용해서 기술하여야 한다.
ex) String path = req.getContextPath(); ......... out.println("<a href="+path+"/GetData.html>뒤로</a>");
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
43 | JDF(Java Development Framework) 관련 | 황제낙엽 | 2004.02.11 | 505 |
42 | JDBC Date 포맷 변환 | 황제낙엽 | 2003.11.08 | 938 |
41 | Connection 리소스 관리시 주의해야 할 점 | 황제낙엽 | 2003.09.06 | 429 |
40 | XSLTFilter ... (퍼옴) | 황제낙엽 | 2003.07.21 | 634 |
39 | (초보탈출 II) 내부클래스 | 황제낙엽 | 2003.05.20 | 505 |
» | (초보탈출 I) 패키지 | 황제낙엽 | 2003.05.20 | 544 |
37 | 열네번째날 (화상 채팅 프로그램 프로젝트) | 황제낙엽 | 2003.04.21 | 945 |
36 | 열세번째날 - WEB APPLICATION | 황제낙엽 | 2003.04.15 | 824 |
35 | 열두번째날 - I/O | 황제낙엽 | 2003.04.15 | 285 |
34 | 열하나째날 - 스레드 | 황제낙엽 | 2003.04.15 | 330 |
33 | 열번째날 - 애플릿과 그래픽 | 황제낙엽 | 2003.04.15 | 617 |
32 | 아홉째날 - SWING | 황제낙엽 | 2003.04.15 | 544 |
31 | 여덟째날 - 예외처리 | 황제낙엽 | 2003.04.14 | 527 |
30 | 일곱째날 - EVENT | 황제낙엽 | 2003.04.14 | 245 |
29 | 여섯째날 - AWT | 황제낙엽 | 2003.04.14 | 628 |
28 | 다섯째날 - Collection, String, StringBuffer | 황제낙엽 | 2003.04.14 | 562 |
27 | 넷째날 - 추상클래스, 내부클래스, Interface, Static영역 | 황제낙엽 | 2003.04.14 | 566 |
26 | 셋째날 - 패키지, 상속, 접근제어 | 황제낙엽 | 2003.04.14 | 509 |
25 | 둘째날 - 클래스, 메서드, 연산자 | 황제낙엽 | 2003.04.14 | 482 |
24 | 첫째날 - 자바의 특징과 DATA TYPE | 황제낙엽 | 2003.04.14 | 457 |