-
리눅스 환경 기반 JSP 웹 서버 구축 2공부/리눅스 2024. 6. 13. 14:49
https://minuk2.tistory.com/184
리눅스 환경 기반 JSP 웹서버 구축
필요 테스트 파일1. 아파치 설치리눅스 운영체제에서는 패키지와 패키지 매니저를 지원합니다.리눅스 패키지 : 여러 파일을 모아 하나의 파일로 저장하고 있는 압축 파일입니다.sudo suapt update--
minuk2.tistory.com
지난 글에서 이어집니다.
교수님 과제 : 리눅스에 구축하여 오류를 수정하라.
모델 2 아키텍처 (MVC 패턴)
- Model(모델) : 비즈니스 로직 및 데이터 접근 담당
- View(뷰) : 사용자 인터페이스 담당, JSP로 구현
- Controller(컨트롤러) : 클라이언트 요청을 처리, 모델과 뷰 사이를 연결, 서블릿으로 구현
ubuntu.zip1.46MB
1. PC에서 우분투 서버로 zip 파일 이동
-- cmd -- scp ubuntu.zip ubuntu@192.168.178.133:/home/ubuntu -- ubuntu -- unzip model2_jsp.zip cd [옮길 파일 경로]
2. 파일 압축 풀기
unzip ubuntu.zip
3. 파일 복사하여 이동
- META-INF
- src
cp -r /home/ubuntu/META-INF/* /var/lib/tomcat9/webapps/ROOT cp -r /home/ubuntu/src/* /var/lib/tomcat9/webapps/ROOT
4. MySQL에서 테이블 생성
mysql -u root use micom; source /home/ubuntu/sql/board.sql;
5. ssh로 접속
ssh ubuntu@192.168.178.133 sudo chmod -R 777 /var/lib/tomcat9/webapps/ROOT/WEB-INF/classes -- classes 디렉토리에 전체 권한을 부여합니다. javac -encoding ISO-8859-1 -classpath /usr/share/tomcat9/lib/servlet-api.jar:/var/lib/tomcat9/webapps/ROOT/WEB-INF/classes -d /var/lib/tomcat9/webapps/ROOT/WEB-INF/classes /var/lib/tomcat9/webapps/ROOT/WEB-INF/src/*.java -- 소스 코드의 인코딩이 ISO-8859-1이기 때문에, 이를 명시하여 컴파일 -- 컴파일은 Java 소스 코드를 바이트코드로 변환하여 JVM에서 실행 가능하게 함
6. mysql 테이블 이름 변경
mysql -u root use micom; rename table BOARD to board; * 오류 : 리눅스 운영체제에서 MySQL은 테이블 이름을 대소문자를 구분하여 테이블명을 변경
7. 경로 변경
cd /var/lib/tomcat9/webapps/ROOT/WEB-INF/src/action vi BoardWriteProAction.java String saveFolder="var/lib/tomcat9/webapps/ROOT/boardUpload" * 오류 : 파일 업로드가 되지 않는 오류 -- 20줄에 코드 수정 -- 파일 업로드 디렉토리를 지정하는 코드 -- 경로가 "/boardUpload"로 절대 경로로 설정되어 있음 -- 절대 경로를 사용하면 애플리케이션이 다른 위치에서 실행될 때에도 파일 경로를 정확하게 참조할 수 있습니다. -- 파일 업로드와 관련된 보안 및 접근 권한을 일관되게 관리할 수 있음
8. 권한 부여
chmod -R 777 /var/lib/tomcat9/webapps/ROOT/boardUpload -- boardUpload 디렉토리와 그 안의 모든 파일 및 하위 디렉토리에 대해 읽기, 쓰기, 실행 권한을 부여
9. 파일 다운로드시 오류 해결
cd /var/lib/tomcat9/webapps/ROOT/board vi file_down.jsp String sFilePath = sDownloadPath + "\\" + fileName;를 String sFilePath = sDownloadPath + "/" + fileName;로 변경
- '\\'는 Windows에서 사용하는 경로 구분자
- '/' 유닉스 계열(Linux, macOS 등)에서 사용하는 경로 구분자
- 현재는 리눅스에서 사용하기 때문에 '/'를 쓰면 됨
'공부 > 리눅스' 카테고리의 다른 글
코드 분석과 웹 동작 과정 (0) 2024.06.17 리눅스 환경 기반 JSP 웹서버 구축 (0) 2024.06.12 [리눅스/Ubuntu] 셸 스크립트 프로그래밍 (0) 2023.12.14 [리눅스/Ubuntu] 리눅스 기본 사용법 (0) 2023.12.14 [리눅스] 실습 (0) 2023.09.13