JAVA

jsp에서 자기가 만든 class import 하기

기하 2022. 6. 26. 22:25


jsp 페이지 최상단에
<%@ page import="java.sql.*" %>
위와 같이 입력함으로써 import 할 수 있다.

 

1. import 하고자 하는 class 파일은 반드시 package화 되어있어야 한다.
     package myPackage;
     compile 하여, class 파일 생성

2. import 하고자 하는 class 파일을 CLASSPATH에 위치시킨다.

    TOMCAT_HOME\WEB-INF\classes\myPackage\
    여기에  MyClass.class 파일을 복사

3. jsp 페이지에서 class 파일을 import 한다.
   jsp 페이지 최상단에 아래와 같은 내용을 추가한다.

  <%@ page import="myPackage.MyClass" %>

  import 한 class 내의 메소드를 사용하기 위해서는 java와 똑같다.
  static method를 사용하기 위해서는        MyClass.myStaticMethod();

  non-static method를 사용하기 위해서는 MyClass mc = new MyClass();
                                                                          mc.myNonStaticMethod();


조금 더 advantage하게..
본인이 직접 만든 class 내에서 어떤 파일을 읽는 작업을 한다고 해보자.

예를 들어, DB에서 무언가를 읽어오는 jsp 파일이라면,
최악의 경우는..

jsp 파일 내에 DB_IP, DB_NAME, USER_ID, USER_PASSWD 를 모두 지정하여 직접 connect 하는 경우이다.
이럴 경우, 서버를 옮길 때마다 존재하는 모든 jsp 파일의 DB 정보를 갱신해 주어야 하는 문제가 발생한다.

이보다 조금 나은 상황은 DBUtil.java 등의 파일을 만들어,
해당 java 파일 내에서, DB 정보를 입력해주어
jsp 파일 내에서는..
DBUtil.getConnection(); 을 하는 경우이다.


이 때에는.. 서버를 옮길 때마다 존재하는 모든 jsp 파일 내의 DB 정보를 갱신해야 하는 수고는 더는 대신,
이미 컴파일되어 버린 DBUtil.class 의 source 파일인 DBUtil.java 를 수정하여 다시 compile 해야 하는 수고를 거쳐야 한다.

그럼 가장 이상적인 방법은 무엇인가?
DBUtil.java 파일 내에는 어떤 DB 정보도 입력하지 말고,
DB_IP, USER_ID, USER_PASSWD 등의 정보를 담은 텍스트 파일을 DBUtil.java 에서 불러오는 것이다.

일반 java 프로그래밍을 할 때는.. 그냥 java(또는 class) 파일과 읽어서 사용하고자 하는 텍스트 파일을 같은 디렉토리에 넣고 사용하면 되지만, jsp 를 통한 웹프로그래밍을 할 때는 사정이 다르다.

tomcat은 class 파일은 CLASSPATH인... WEB-INF\classes 아래에서 읽어오지만, 해당 클래스 내에서 쓰거나 읽고자 하는 파일은 (상대 또는 절대 경로 없이 썼을 경우) TOMCAT_HOME에서 읽어오기 때문이다.
즉, 본인과 같은 경우에는.. 아래 주소가 되겠다.

C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0




본인의 경우를 정리해보면 다음과 같다.

1. jsp 파일은 tomcat의 webapps ROOT에.
ex) C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\ROOT

2. import하고자 하는 class 파일은 CLASSPATH에,
ex) C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\ROOT\WEB-INF\classes\myPackage

3. class 파일이 또 다른 파일을 읽을 때, 그 파일은 TOMCAT_HOME에,
C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0

'JAVA' 카테고리의 다른 글

JDBC MySQL연결 create table  (0) 2022.06.27
Tomcat에서 MSSQL JNDI 설정  (0) 2022.06.27
[Java] String, StringBuffer, StringBuilder 차이 및 장단점  (0) 2022.06.26