컴파일 된 JSP 파일은 기본적으로 Tomcat 환경의 / work 폴더에서 사용할 수 있습니다.

Catalina 하위 폴더에 localhost로 기본 설정된 도메인 이름을 나타내는 하위 폴더가 있어야합니다.

차례로 프로젝트 폴더에는 org.apache.jsp라는 패키지 계층 구조가 있고 컴파일 된 JSP 파일이 있어야합니다.


Tomcat

 |-- backup

 |-- bin

 |-- conf

 |-- lib

 |-- logs

 |-- temp

 |-- webapps

 `-- work

      `-- Catalina

           `-- localhost

                `-- projectname

                     `-- org

                          `-- apache

                               `-- jsp

                                    |-- survey_jsp.class

                                    `-- survey_jsp.java    <--- here



구체적인 문제와는 무관하게 JspException의 스택 추적에 근본 원인 부분이 있어야합니다. JspException에는 일반적으로 문제의 근본 원인에 대한 자세한 정보가 들어 있습니다.

스택 트레이스에서 조금 더 읽으십시오. JSP 파일에 원시 Java 코드를 넣는 것은 나쁜 습관으로 간주된다는 것을 알고 계십니까? 문제가 발생하면 디버깅하기가 더 어렵습니다.

[자동완성기능]

명령어를 앞에 몇글자만 작성한 상태에서 TAB을 누르면

자동으로 완성시켜주는 기능이 있어 알아두면 편리합니다.

 

[대소문자 구분]

명령어를 입력할 때 대소문자를 구분하기 때문에

전혀 다른 명령이 입력될 수 있으므로 주의해야합니다.

 

[명령어+옵션]

리눅스 명령어에 옵션을 추가하면 새로운 기능을 사용할 수 있습니다.

예를 들면 ls만 입력하는 것과 -l이라는 옵션을 추가하면 다른 결과값이 출력됩니다.

명령어 마다 옵션이 다르기 때문에 man + 명령어를 입력하시면 옵션을 확인하실 수 있습니다.

[출처] [리눅스] 기초 명령어|작성자 kber0407

cd 이동 할 디렉토리 경로 : 디렉토리 이동을 한다.

 

cd : 자신의 홈 디렉토리로 이동

 

cd~ : 유저의 홈 디렉토리를 의미

 

cd. : 현재 디렉토리

 

cd.. : 한단계 상위 디렉토리로

 

pwd : 현재 위치를 알려준다.

 

ls : 해당 디렉토리 목록 보기

옵션 ( -a : 모든 파일 출력, -l : 자세히 출력, -h : 용량으로 출력, -d : 디렉토리 출력, -F : 파일 끝에 파일 형식 표시)

 

useradd" " 사용자 추가

 

passwd" " : 비밀번호 변경

 

clear : 터미널 초기화

 

history : 현재까지 입력된 명령어 보기

 

mkdir : 디렉토리 만들기

 

touch : 파일 만들기

 

cat/head/tail : 파일 보기

 

vi : 파일 내용 수정

 

cp : 파일/디렉토리 복사

 

mv : 파일/디렉토리 이동

 

su : 사용자 변경

 

rm : 파일이나 디렉토리 삭제

옵션 ( -r : 묻지 않고 삭제, -f : 하위폴더까지 적용  <주의> rm -rf를 잘못 하면 절대 안됨)

 

exit : 리눅스 사용 종료

 

 

grep 찾을문구 파일명

 

Pipe
ps -ef | grep ftp : ftp가 실행중인가?
rpm -qa | grep ftp : ftp가 설치되었나?

 

ps -ef | grep tomcat 으로 실행 여부 확인

 

열린 포트 확인netstat -anp | grep "LISTEN"

 

 

파일 위치 확인
 

whereis ls
whereis cal : 해당 명령어 ls, cat 파일 위치 확인

which ls
which cal

 

파일 검색

 find / -name *.c    / : 찾을 위치     확장자가 .c인 파일을 찾아라
 -name : 파일 이름으로 검색
 -user : 파일 사용자의 id에 따라서 검색
 -empty : 비어있는 파일 찾기
 -size <+100M> : 100MB 이상의 파일을 찾기

 

 

파일 분류하기
 

file /etc/bashrc : 파일의 종류를 확인하는 명령어
 ELF 파일 : 2진수로 구성되 볼수 없는 파일
 ASCII 파일 : 볼수 있는 파일

 파일의 종류
 d : directory
 - : file
 l : soft link file
 c : character device
 b : block device
 s : socket
 p : named pipe

 

 

디렉토리 용량 


du -sh /etc
du -sh ~
df -h     파티션 용량
ll -h /

 

 

시스템 정보 확인

 

리눅스 배포판 확인 : cat /etc/*release
kernel 버전 : uname -r 
                 cat /proc/version 

CPU 정보 : cat /proc/cpuinfo

메모리 정보 : cat /proc/meminfo
arch : cpu 버전

mount -l : 현재 마운트 정보 확인
fdisk -l : 현재 디스크 정보 확인
df -h : 파티션 정보(swap은 제외)

 

 

패키지관리

 rpm -qf /sbin/fdisk : 포함하고 있는 rpm 이름
 rpm -ql sendmail : sendmail 관련된 파일 모두 보기
 rpm -qc sendmail : 설정파일만 보기

 http://ftp.kaist.ac.kr : 패키지 다운로드 사이트
 http://rpmfind.net
 http://rpmseek.com

 rpm -e vsftpd --nodeps : 의존성 검사하지 않고 강제 삭제
 rpm -ivh ~/다운로드/package명 : 다운 받은 package 설치
 yum install <package명> : package 자동으로 설치

 

 

프로세스
 pstree : 프로세스를 Tree 형태로 출력
 pstree -pn : 프로세스 Number와 함께 출력
 init : 1번 프로세스
 ps -ef : 실행 중인 전체 프로세스 출력
 UID : User ID
 PID : 프로세스 ID
 PPID : 부모 프로세스 ID

 kill -l : kill signal number
 kill -9 PID : PID의 프로세스를 죽임

 foreground : xeyes
 background : xeyes &

 demon : background로 실행중인 서비스 프로그램

 

실시간 로그 기록 확인

tail -f 파일명

// test.log 파일 실시간으로 보기
tail -f test.log

옵션 (옵션은 생략 가능)
 -f : 마지막 10라인 실시간으로 계속 출력
 -F : 파일 변동시 실시간 출력 & 특정시간 지난 후 파일 변동시 새로운 파일 오픈해서 출력
 -n n : 파일의 마지막부터 n만큼의 라인을 출력

-n +n : 파일의 첫번째부터 n번째 이후 라인을 출력

 

로그 종료하기

Ctrl + C

 

 

Tar 묶기 & 해제, Gzip 압축 & 풀기


 tar xf 파일명 : Tar 해제
 tar cf t.tar 디렉터리명 : Tar 묶기
 tar cfz 3.tar.gz httpd-2.2.0 : Tar 묶기 + 압축

 tar xvfz 3.tar.gz : verbose 상태 출력

 gzip t.tar : 압축하기
 gunzip t.tar.gz : 압축풀기

 

설정 관련

 

모든 사용자 공통 적용
/etc/profile
/etc/bashrc

 

개인설정
~/.bash_profile
~/.bashrc   // alias -> 설정

 

cp ~/.exrc /etc/skel/   여기에 파일을 복사해 놓으면 사용자 생성시 Root 설정 내용이 동일하게 적용됨

 

 

리눅스 설치 후 초기작업
 

vi /etc/bashrc 36번 라인의 W를 w로 바꾼다
 vi ~/.exrc //vi default 설정 파일
 se nu
 se cindent
 se ai
 se ts=4
 cp ~/.exrc /etc/skel Root 설정 파일을 다른 사용자 모두에게 적용
 vi ~/.bashrc
 alias vi='vim'
 alias p='ps -ef | grep'
 alias r='rpm -qa | grep'
 alias h='histroy'
 alias ping='ping -c3'

 

권한회수
 chmod 700 /sbin/poweroff
 chmod 700 /sbin/shutdown
 chmod 700 /sbin/reboot
 chmod 700 /sbin/halt

 

 

시스템 종료와 재시작



 



시스템 종료







시스템 재시작







1







shutdown –h now







shutdown –r now







 



now뒤에 +숫자 또는 시:분을 입력하면 몇분 후 또는 예약한 시간에 종료가 이루어 진다.







 



2







init 0







init 6







3







halt







reboot







4







poweroff







 

 

리눅스 명령어 1. 경로 이동

 

cd [경로]

- 해당 경로로 이동한다.

- "."은 현재 경로를, ".."은 상위 경로를 의미한다.

- 상대경로 혹은 절대경로를 이용해 이동 가능하다.

- ex) cd /          : 루트 경로로 이동.

        cd conf      : 현 위치의 conf 폴더로 이동

        cd ..          : 상위 경로로 이동.

        cd ../conf  : 상위 경로의 conf 폴더로 이동

        cd /apache/conf : 루트 경로의 apache폴더 내의 conf 폴더로 이동

 

pwd

- 현 위치를 나타낸다.

 

mkdir [폴더명]

** 이건 경로 이동은 아니지만 어디에 넣어야 할지 애매해서 여기다 그냥 씁니다 ㅎㅎ

- 현 경로에 폴더를 생성한다.

- ex) mkdir example : 현재 경로에 example이라는 이름의 폴더를 생성

        mkdir /apache/conf/example : /apache/conf/ 경로에 example이라는 이름의 폴더를 생성

 

 

리눅스 명령어 2. 파일 및 폴더 목록보기

 

ls

- 현재 경로의 파일 및 하위폴더 목록을 보여준다.

 

 

옵션 내용 
 -a  숨김 파일을 포함한 목록을 보여준다.
 -l  리스트 형식으로 권한, 파일명, 수정시간 정보도 함께 보여준다.
 -c  파일 상태 정보가 변경된 순으로 보여준다.
 -t  파일이 변경된 순으로 보여준다.
 -i  파일 왼쪽에 색인 번호를 보여준다.
 -m  파일을 쉼표로 구분하여 가로로 보여준다.
 -r  정렬 순서를 역순으로 보여준다.
 -u  최근 사용 파일 순으로 보여준다.

 

 

- ex) ls        : 그냥 현재 경로의 파일 및 하위폴더 목록을 보여줌

        ls -l     : 현재 경로의 파일 및 하위폴더 목록을 자세히 보여줌

        ls -al   : 현재 경로의 파일 및 하위폴더 목록(숨김 파일 포함)을 자세히 보여줌

        ls -altr : 현재 경로의 파일 및 하위폴더 목록(숨김 파일 포함)을 파일 변경 시간 내림차순으로 보여줌(오래된 순으로)

 

** 개인적으론 보통 ls나 ls -altr을 많이 사용합니다.

 

 

리눅스 명령어 3. 파일/폴더 복사

 

cp [소스] [목적지]

- 소스에 있는 파일을 목적지로 복사한다.

 

 

옵션 내용 
 -a  원본 파일의 속성, 링크 정보를 유지하면서 복사한다.
 -b  복사할 대상을 덮어쓰거나 지울 때를 대비하여, 백업 파일을 만들며 복사한다.
 -d  심볼릭 파일 자체를 심볼릭 정보와 함께 복사한다.
 -f  복사할 파일이 존재할 때 삭제하고 복사한다.
 -i  복사할 파일이 존재하는 경우 복사할 것인지 물어보고 복사한다.
 -l  디렉토리가 아닌 경우 복사 대신 하드 링크로 만든다.
 -p  원본 파일의 소유, 그룹, 권한, 허용 시간을 보존한 채로 복사한다.
 -r  서브 디렉토리 내에 있는 모든 파일까지 통째로 복사한다.
 -s  디렉토리가 아닌 경우 복사 대신 심볼릭 링크로 만든다.
 -u  대상 파일보다 원본 파일이 새로운 것일 때 복사한다.

 

 

** 심볼릭 링크 : 윈도우의 바로가기와 같은 역할을 한다. 심볼릭 링크가 걸어진 파일을 수정시, 원본 파일은 수정되지 않는다.

    하드 링크    : 심볼릭 링크과 형태는 같은데, 하드링크에서 파일을 수정하면 원본파일도 함께 수정된다.

 

- ex) cp test1 test2                      : 현 위치의 test1이라는 파일을 현위치에 test2라는 이름으로 복사한다.

        cp test1 /apache/conf/test2 : 현 위치의 test1이라는 파일을 /apache/conf/에 test2라는 이름으로 복사한다.

        cp -rp test1 /apache/conf/ : 현 위치의 test1이라는 폴더와 폴더 내의 모든 파일을 /apache/conf/에

                                                 test2라는 이름으로 복사한다(소유, 그룹, 권한, 허용 시간 등을 보존한 채로)

 

** 실제 서비스에 사용되는 폴더, 파일의 경우 소유권이나 권한이 바뀌게 되면 정상적으로 작동하지 않을 수 있으므로, 중요한 설정 파일 등을 복사할 때는 -p 옵션을 사용하는 것이 좋다.

 

 

리눅스 명령어 4. 파일/폴더 이동

 

mv [소스] [목적지]

- 소스에 있는 파일을 목적지로 이동한다.

 

 

옵션 내용
 -b  파일이 지워지기 전에 백업 파일을 만들고 이동한다.
 -f  대상 파일이 있더라도 그 파일을 삭제하고 이동한다.
 -i  대상 파일이 있는 경우 덮어쓸 것인지 물어보고 이동한다.
 -u  대상 파일보다 원본 파일이 최신 것일 때 이동한다.
 -v  파일 이동의 과정을 보여준다.

 

 

- ex) mv test1 ../                                : 현 위치의 test1이라는 파일을 상위 경로로 이동한다.

        mv test1 /apache/conf/              : 현 위치의 test1이라는 파일을 /apache/conf/로 이동한다.

        mv /apache/test1 /apache/conf/ : /apache/의 test1이라는 파일을 /apache/conf/로 이동한다.

** 경로는 적어주지 않고 파일명만을 입력하여(mv test1 test2 와 같은 식으로), 파일명 수정처럼 사용할 수도 있다.

 

 

리눅스 명령어 5. 파일 삭제

 

rm [파일명]

- 파일을 삭제한다.

 

 

옵션  내용 
 -d  디렉토리를 삭제한다.
 -f  삭제하냐고 다시 물어보지 않고 바로 삭제한다.
 -i  일일이 삭제할 것인지 다시 물어본다.
 -r  하위 디렉토리 포함한 파일들을 모두 삭제한다.
 -v  삭제 되기 전의 파일을 보여준다.

 

 

- ex) rm test1     : 현 위치의 test1이라는 파일을 삭제한다.

        rm -rf test1 : 현 위치의 test1이라는 폴더와 하위 디렉토리를 포함한 파일들을 모두 바로 삭제한다.

** 명령어를 치기 전에 충분한 검토 후에 rm -f 혹은 rm -rf로 손쉽게 삭제할 수 있다.

 

 

ALT + 방향키

현재 커서가 있는 줄의 소스를 아래나 위로 이동을 시킵니다.


CTRL + D

커서가 위치한 한 줄 모두를 지우는 명령어인데, 특히 쓸데 없는 주석처리 하는데 요긴하게 쓰임.


CTRL + SHIFT + F

필요한 문단을 선택 후 단축키를 실행하면 문단이 이클립스에 설정된 상태로 자동으로 정렬이 됩니다.


CTRL + 클래스나 메소드를 선택

연결된 클래스나 메소드로 바로 이동합니다.


CTRL + M

전체창 효과 창이 전체창으로 변경 됩니다.


CTRL + SHIFT + C

커서가 선택 된 라인 혹은 지정된 영역을 주석 처리 합니다.


CTRL + SHIFT + X

대문자로 변경 처리 합니다.


CTRL + SHIFT + Y

소문자로 변경 처리 합니다.


syso + CTRL + SPACE BAR

System.out.println(); 를 자동으로 생성합니다.


CTRL + SHIFT + W

열려있는 모든 창 닫기.


CTRL + W

열려있는 창 하나 닫기


CTRL + F11

바로 실행 (RUN 명령어)


ALT + SHIFT + A

에디터 모드 입니다. 다량의 데이터를 복사, 붙여넣기 할 때 유용합니다.

다중 편집이 가능.

편집모드에서는 다중 커서 이용이 가능합니다. 영역 지정도 가능하구요. 그래서 대량의 값을 입력할 때 편리합니다.









OS 상에 이미 다른 버전의 Tomcat 이 설치되어 있는 경우 구동되고 있는 Tomcat 을 중지 후 제거를 해준다.


명령프롬프트에서 service.msc 를 통해 서비스 창에서 구동되고 있는 Tomcat 서비스를 중지 후 삭제 처리 해 주어도 되고,


명령프롬프트에서 sc query state=all 을 하여 모든 서비스 및 드라이버 열거 후 SERVICE_NAME 을 확인하여


예시) sc stop "tomcat7"  처럼 서비스 중지를 한 후 톰캣디렉토리/bin 하위에 있는 service.bat uninstall 명령어로 설치된

톰캣을 삭제처리 한 후 새로운 버전의 톰캣을 설치 해 준다.


톰캣 설치는 톰캣설치디렉토리/bin 하위에 있는 service.bat install 명령으로 설치 한다.


설치가 정상적으로 되었다면 sc start "tomcat8" 명령어로 서비스를 시작해 주고, 자동시작 설정을 한다면

sc config tomcat8 start=auto 명령어를 실행한다.


start 옵션 <boot | system | auto | demand | disabled>

메뉴바에서 도구 > 기본설정




ERROR


java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener


Ecelipse / Maven 환경에서 Dependency가 정상적인 상황에서 위와 같이 ClassNotFoundException 발생할 경우.


Deployment Assembly 환경 설정에서 Maven Dependencies를 추가해준다.


프로젝트 우클릭 > properties >Deployment Assembly 에서 추가





[출처] http://wesoulmate.tistory.com/entry/MavenEclipse-javalangClassNotFoundException-orgspringframeworkwebcontextContextLoaderListener



Solution for Eclipse Luna


1. Right Click on maven web project


2. Click 'Properties'menu


3. Select 'Deployment Assembly' in left side of the popped window


4. Click 'Add...' Button in right side of the popped up window


5. Now appear one more popup window(New Assembly Directivies)


6. Click 'Java Build path entries'


7. Click 'Next' Button


8. Click 'Finish' Button, now atomatically close New Assemby Directivies popup window


9. Now click 'Apply' Button and Ok Button


10. Run your webapplication


[출처] http://stackoverflow.com/questions/6210757/java-lang-classnotfoundexception-org-springframework-web-context-contextloaderl




위에 작업 후 Servers 탭의 프로젝트 해당 서버에 오른쪽 클릭하여 'Clean' 메뉴 선택 처리 후 'Clean Tomcat Work Directory...' 메뉴 선택 한 후

서버 스타트 한다.


+ Recent posts