JSP 윈도우에서 개발하고 리눅스에 적용하기[버전 1]


처음 JSP를 접하는데 생소한 리눅스에서 JSP를 다루려고 하면 머리 아프고 진행이 잘 안될 수 도 있다.
나 또한 리눅스를 능통적으로 다루지 못하기 때문에 윈도우에서 JSP로 서버 페이지를 개발하고 리눅스로 옮기기 위해  검색을 좀 해 보았다.

여러 글 중에 괜찮은 글만 보아 보았다.

해당 포스트는 그 글중에 [첫번째] 펌 글이다. 





1. jdk설치
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter;pgid=yYdgaHqkkjVSR0EUPIQsoQ3D00003GSGJ--e;sid=bKw4adUyUHs4Y55HFt5wbDqbwsEsIBh3OU73qMgsoxZN4A==?DLWidget=true&AutoWidgetDL=
 Download --> jdk-6u18-linux-i586.bin
 chmod 555 jdk-6u18-linux-i586.bin 
 ./jdk-6u18-linux-i586.bin

 mv jdk1.6.0_18/ /usr/local/java <<-- 명령실행 폴더에 jdk1.6.0_18이 생기고 이 폴더를 옮긴다.
 vi /etc/profile
  export JAVA_HOME="/usr/local/java/"
  export PATH="PATH:$JAVA_HOME/bin/"
  export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib
 source /etc/profile



2. mysql 설치

Download --> mysql-5.1.41.tar 
 tar -zxvf mysql-5.1.41.tar
 cd mysql-5.1.41

 ./configure --prefix=/usr/local/mysql --with-unix-socket-path=/var/lib/mysql/mysql.sock --with-big-tables --with-plugins=innobase --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --without-debug --without-docs --enable-assembler --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=all
 ※./configure시 checking for termcap functions library... configure: error: No curses/termcap library found
   라는 에러가 나온다면  yum -y install libtermcap-devel 을 통해서 해결한다.

 make
 make install

계정만들기

1. sql을 실행하기 위해 다음의 명령어를 사용한다. 
   # mysql  -u    root  -p  mysql

2. 데이터베이스 종류 보기 
   mysql> show databases;

3. mysql 상의 테이블 정보 보기
   mysql> show tables from mysql;

4. DB테이블의 데이터 가져오기
   mysql> select * from db;

5. 데이터베이스 생성과 사용자 연결
  1) DB생성
   mysql> create database DB이름;
   Query OK, 1 row affected (0.00 sec)

  2) DB 계정과 DB연결
insert into user(host,user,password) values('localhost','board',password('dhaksdnjs'));
insert into user(host,user,password) values('%','board',password('dhaksdnjs'));

   mysql> insert into db
          -> (host,db,user,select_priv,insert_priv,update_priv,delete_priv,
          -> create_priv,drop_priv)
          -> values ('%','DB이름','계정이름','Y','Y','Y','Y','Y','Y');
    Query OK, 1 row affected (0.00 sec)
3) 유져 권한주기
mysql> grant all privileges on (DB명).* to (계정명)@localhost identified by '(비밀번호)';
 


flush privilege;


참고로 나는 mysql덤프시켰다!




3. tomcat설치
 Download --> 
http://tomcat.apache.org/download-60.cgi (tar.gz)
 #tar xvzf apache-tomcat-5.5.28.tar.gz
 #mv apache-tomcat-5.5.28.tar.gz /usr/local/tomcat
 
#vi /etc/profile
  export PATH="$PATH:%CATALINA_HOME/bin"
  export CATALINA_HOME="/usr/local/tomcat"

#source /etc/profile


#vi ~/.bashrc   
alias tomcatStart='/usr/local/tomcat/bin/startup.sh'
alias tomcatStop='/usr/local/tomcat/bin/shutdown.sh'




4. tomcat Root Directory 변경
 #vi /usr/local/server/tomcat/conf/server.xml
  216 <Host name="localhost" appBase="/board" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
   <Context path="" docBase="." reloadable="true"/>
  혹은
  216 <Host name="localhost"  appBase="/" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
   <Context path="" docBase="board" reloadable="true"/>
  ※Context 를 빼먹으면 ROOT를 자동으로 웹루트로 쓴다.
 #/usr/local/server/tomcat/bin/shutdown.sh
 #/usr/local/server/tomcat/bin/startup.sh



5. mysql Connector (JDBC) 설치
 ※보통 어플리케이션은 시스템에서 설정한 환경변수를 그대로 따르는 것이 일반적이지만 
   TOMCAT의 경우는 시스템에 설정된 CLASSPATH를 완전히 무시하는 것으로 되어 있다. 
   따라서 TOMCAT에서의 CLASSPATH 설정은 시스템에서의 환경변수 설정과 별개로 이루어져야 한다.
   TOMCAT에서의 CLASSPATH의 설정은 TOMCAT 설치 디렉토리 내 .../bin/catalina.sh 파일을 수정함으로써 할 수 있다.
 Download --> http://dev.mysql.com/downloads/connector/j/ (tar)
 #tar -xzvf mysql-connector-java-5.1.11.tar.gz
 #mv mysql-connector-java-5.1.11 /usr/local/mysql-jdbc
 #vi /etc/profile
  export CLASSPATH="$CLASSPATH:/usr/local/mysql-jdbc/mysql-connector-java-5.1.11-bin.jar"
 #source /etc/profile
 #cp /usr/local/mysql-jdbc/mysql-connector-java-5.1.11-bin.jar /usr/local/java/jre/lib/ext/
 #cp /usr/local/mysql-jdbc/mysql-connector-java-5.1.11-bin.jar /usr/local/tomcat/common/lib



6. 파일 업로드
 http://www.servlets.com/cos/cos-26Dec2008.zip
 윈도우에서 압축을 풀어 lib/cos.jar을 서버의 
 cp cos.jar /usr/local/tomcat/common/lib/
 cp servlet-api.jar /usr/java/jre/lib/ext/
 tomcatStop
 tomcatStart




server.xml설정
위치 : tomcat/conf/server.xml

이 server.xml은 커넥션풀을 같이 설정하도록 설정함
우선 커넥션풀을 설정하려면 commons-collections, commons-dbcp, commons-pool 라는  jar파일을 다운받아서 /usr/local/tomcat/common/lib폴더에 넣자!
 #cp commons-collections-3.2.1.jar /usr/local/tomcat/common/lib
 #cp commons-dbcp-1.3.jar /usr/local/tomcat/common/lib
 #cp commons-pool-1.5.4.jar /usr/local/tomcat/common/lib

커넥션풀을 사용하기 위해서는 파란글씨, 빨간글씨를 같이 넣으면 된다. (삘간줄은 모두 써넣어야 한다.)
커넥션풀을 사용하지 않으려면 파란글씨를 넣으면 된다. 
(파란줄은 있는것에 수정하면된다. Context는 써넣어야한다.)


사이에 다음과 같이 넣는다.

40번째 줄정도:

 <GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
       description="User database that can be updated and saved"
           factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
          pathname="conf/tomcat-users.xml" />
  <Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" loginTimeout="10" maxWait="5000" name="jdbc/linuxus" password="비밀번호" testOnBorrow="true" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/linuxus" username="DB아이디"/> 
</GlobalNamingResources>


216번째 줄정도:
 <Host name="localhost" appBase="/linuxus"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
      <Context path="" docBase="." reloadable="true"> 
     <Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" loginTimeout="10" maxWait="5000" name="jdbc/linuxus" password="비밀번호" testOnBorrow="true" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/linuxus" username="DB아이디"/> 
    </Context>


자바빈즈를 사용해서 자바파일을 사용하는경우.


예를 들자면 이클립스의 경우 A라는 프로젝트가 있으면 
A 폴더 안에는 

.settings
build
src
WebContent

폴더가 있을것이다.

src폴더에 자바의 파일들이 있을것이다.
그리고 build폴더에는 classes파일들이 있을것이다.

이 build의 classes 폴더를 /tomcat/common/에 옮겨서 
/tomcat/common/classes폴더로 오게끔 하자!
C:\workspace\Linuxus\build\classes\Linuxus
/usr/local/tomcat/common/classes/Linuxus


자바파일은 숨겨두는것이 좋다.^ㅛ^;



톰캣을 시작시키고 
#tomcatStop
#tomcatStart

인터넷 주소창에  http://IP주소:8080/페이지이름 을 치면 될것이다^^





리눅스에선 한글이 깨지게 된다.
그럴땐 jsp페이지 맨위에 
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
를 추가

그래도 깨진다면...
html의  <head></head>사이에 
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
를 추가


 


글이 마음에 드셨거나 도움이 되셨다면
댓 글을 남겨 주세요
저에게 큰 힘이 됩니다.

손가락 추천 부탁 드려요~!!!
(로그인이 필요 없습니다)