: 저는 파워리눅스 R2를 사용하고 있습니다.커널 버전은 기본 그대로..2.2.12-20
: 자바 언어를 배워보려고 jdk를 깐 후에 /etc/profile에 패스를 설정해 주었습니다.
: 파워 리눅스에는 개인 디렉토리에 .파일들(.bash_profile, .bashrc등)이 없더군요..
:
: PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/local/jdk/bin" <--가장 마지막 부분이죠..
:
: 그리고 나서
:
: . /etc/profile로 갱신을 해주었습니다.
: 그러고 나서는 아무런 문제 없이 프롬프트상에서 절대경로를 써주지 않고도
: 잘 사용하고 있었죠..
:
: 그런데, 문제는 다른 곳에서 접속을 한다거나,
: 로그 아웃을 하고 다시 접속을 했을 경우에 뒤에 덧붙여준 패스는 인식하지 못한다는겁
: 니다 재접속 할 때마다 . /etc/profile을 갱신시켜줘야 하는데,
: 왜 덧붙여준 패스는 인식을 하지 못할까요??
: 덧붙여준 패스를 제일 앞에 써도 마찬가지 현상이 일어나구요..
:
: 참.. 글구, /etc/profile을 갱신시켜주면 프롬프트도 변한답니다.
:
: [hjin @start public_html] <--before
: [hjin @start ~/public_html] <--after 이때부터 전체 경로가 다 표시가 되요..
:
: 왜 덧붙인 패스는 인식을 못하고 일일이 갱신시켜줘야 하는지.. 정말 미련한 짓
: 같긴 하지만 제가 해결책을 몰라서 말이죠..
: 다른 방법이 있다면 갈켜주세요~ (-.-)(_ _)
:
: 그럼.. 총총..
질문에 대한정확한 답변은 아니고
제가 설정한 /etc/profile 과 ~/.profile <- root 디렉토리에 있는건 아시져?
입니다.. 참고하세요..
글구 profile고치시면 source profile하세요..
글구 env치시면 바뀌었을겁니다..
/etc/profile
RESIN_HOME="/usr/local/resin1.1.3"
export RESIN_HOME
JAVA_HOME="/usr/local/jdk1.2.2"
export JAVA_HOME
CLASSPATH=".:/usr/local/jdk1.2.2/lib/dt.jar:/usr/local/jdk1.2.2/lib/jpda.jar:/us
r/local/jdk1.2.2/lib/tools.jar:/usr/local/jdk1.2.2/lib/servlet.jar:/usr/local/JS
DK2.0/lib/jsdk.jar:/usr/local/resin1.1.3/lib/jsdk22.jar:/usr/local/resin1.1.3/li
b/resin.jar:/usr/local/resin1.1.3/lib/jdk12.jar:/usr/local/mm.mysql.jdbc-2.0pre5
/mysql_both_comp.jar"
export CLASSPATH
~/.profile
export JAVA_HOME=/usr/local/jdk1.2.2
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/JSDK2.0
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/jpda.jar:$JAVA_HOME/lib/to
ols.jar:$JAVA_HOME/lib/servlet.jar:/usr/local/resin1.1.3/lib/jsdk22.jar:/usr/loc
al/resin1.1.3/lib/resin.jar:/usr/local/resin1.1.3/lib/jdk12.jar:/usr/local/JSDK2
.0/lib/jsdk.jar:/usr/local/mm.mysql.jdbc-2.0pre5/mysql_both_comp.jar
입니다..
자바(서블릿?애플릿?jsp?)를 하시려면 서블릿은 jsdk를 까셔야하고(리눅스용은
없습니다 솔라리스용으로 사용하세요) 자바서버엔진을 까셔야하죠?
자바서버엔진은 resin을 추천합니다.. 가장 빠르죠..(www.caucho.com)에가시면
있습니다.. jdbc드라이버는 mm.mysql.jdbc-2.0pre5(mysql)를 사용하져..
그럼이만
간단한 서블릿 테스트용도 올립니다.. 테스트해보세요..
file name test.java
javac로 컴팔해서 test.class파일로해서...
import java.io.*;
import java.sql.*;
import java.net.*;
import java.util.*;
import java.lang.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class test extends HttpServlet {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
public void ConnectDb(PrintWriter out)
throws ClassNotFoundException , SQLException {
// 드라이버 로딩
try {
String drv_name = "org.gjt.mm.mysql.Driver";
Class.forName(drv_name);
} catch( ClassNotFoundException e ) {
out.println("<!- 드라이버 로딩실패! -->");
out.println("drv : "+ e.getMessage());
e.printStackTrace(System.err);
}
// DB 접속
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ebiz","mysql","mysql");
stmt = conn.createStatement();
} catch( SQLException e ) {
out.println("<!- 연결실패! -->");
out.println("dbcon : "+ e.getMessage());
e.printStackTrace(System.err);
}
}
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException , IOException {
doPost(req, res);
}
public void doPost (HttpServletRequest req, HttpServletResponse res)
throws ServletException , IOException {
res.setContentType("text/html; charset=euc-kr");
PrintWriter out = null;
try {
out = res.getWriter();
} catch(Throwable e) {
e.printStackTrace(System.err);
}
try {
ConnectDb(out);
printHtml(out);
if (rs != null) rs.close();
stmt.close();
conn.close();
} catch(Throwable e) {
if( out == null ) e.printStackTrace(System.err);
else e.printStackTrace(out);
} finally {
if( out != null) {
out.flush();
out.close();
}
out = null;
}
}
public void printHtml(PrintWriter out)
throws ClassNotFoundException , SQLException {
String seqn = "";
String name = "";
out.println("<HTML>");
out.println("<HEAD>");
out.println("<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=euc-kr'>");
out.println("</HEAD>");
out.println("<BODY>");
String query = "select seqn, name from test";
try {
rs = stmt.executeQuery(query);
while(rs.next()) {
seqn = rs.getString("seqn");
name = rs.getString("name");
out.println("seqn : "+ seqn);
out.println("name : "+ name);
}
} catch (SQLException e) {
e.printStackTrace(System.err);
out.println("select : "+ e.getMessage());
}
out.println("<TABLE border=0 cellpadding=0 cellspacing=0 width=640>");
out.println("<TR>");
out.println("<TD>성공!!!</TD>");
out.println("</TR>");
out.println("</TABLE>");
out.println("</BODY>");
out.println("</HTML>");
}
}
--> 오라클이라면 thin드라이버사용
// 드라이버 로딩
try {
String drv_name = "oracle.jdbc.driver.OracleDriver";
Class.forName(drv_name);
} catch( ClassNotFoundException e ) {
out.println("<!- 드라이버 로딩 실패! -->");
out.println("drv : "+ e.getMessage());
e.printStackTrace(System.err);
}
// DB 접속
try {
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:15
00:oracle","id","passwd"); stmt = conn.createStatement();
} catch( SQLException e ) {
out.println("<!- 접속실패! -->");
out.println("dbconn : "+ e.getMessage());
e.printStackTrace(System.err);
}
이이상 더 자세한것을 원하시나요?? 구럼 전 이만...
아차 그리구 jdk1.1.x버번이라면 classpath에 classes.zip(맞나?)를 추가!