우리가 만든 파일을 배포할 때 다양한 형태로 할 수 있다.
jar, war, rar, ear, apk 등이 있는데 우리는 war로 배포할 것이다.
※ 참고
1. JAR (파일 포맷)
JAR(Java Archive, 자바 아카이브)는 여러 개의 자바 클래스 파일과, 클래스들이 이용하는 관련 리소스(텍스트, 그림 등) 및 메타데이터를 하나의 파일로 모아서 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷이다.
JAR 파일은 실제로 ZIP 파일 포맷으로 이루어진 압축 파일로서, 파일 확장자는.jar이다. 컴퓨터 사용자들은 JDK에 포함된 jar 명령어를 이용하여 JAR 파일을 만들거나 압축을 풀 수 있다.
JAR 파일은 META-INF/MANIFEST.MF경로에 위치한 매니페스트 파일을 선택적으로 포함할 수 있다. 매니페스트 파일 안에는, 어떻게 JAR 파일을 이용할지를 기술한 엔트리 정보가 적혀있다.
2. WAR (파일 포맷) 웹 애플리케이션을 구성하는 자바 클래스와, 자바 서버 페이지, 관련 XML 파일 등을 묶은 압축 파일 포맷
3. RAR (resource adapter archive) J2EE 커넥터 아키텍처(JCA) 애플리케이션을 묶는 데 사용되는 압축 포맷이다.
4. EAR (enterprise archive) 자바 엔터프라이스 애플리케이션에서 이용되는 압축 포맷으로, 애플리케이션 클래스 및 관련 JAR, WAR, RAR 압축 파일들을 묶는 용도로 사용된다.
5. APK (Android Application Package) 안드로이드 애플리케이션에서 사용되는 자바 압축 포맷의 일종이다.
체크할 시 .java도 같이 포함시킨다.
배포 시 클래스 파일은 WEB-INF에 classes 폴더 안에 들어가 있다.
호스팅 준비
원격 접속이 필요한 이유는 톰캣 서버를 시작/중지하기 위해서이다. 지금은 나의 pc에 서버가 있지만 호스팅을 하면 서버가 나의 pc에 없다. .class, .jar, web.xml 등의 파일을 업로드한 경우에는 반드시 톰캣 서버 재시작해야 하기 때문에 원격 접속이 필요하다.
Filezilla, Putty설치
카페24 로그인 후 나의서비스관리로 이동 - 좌측 메뉴 서비스 접속 관리에서 FTP 클릭 - 해당 프로그램 다운로드
Filezilla 사용
빨간색 부분은 상태를 보여준다. 초록색 박스는 내 pc이고 파란색은 서버이다.
파일-> 사이트 관리자-> 새 사이트 -> 카페24
호스트 : 내아이디.cafe24.com
포트 : 22
프로토콜 : SFTP - SSH File Transfer Protocol
로그온 유형 : 비밀번호 묻기
사용자 : 내아이디
-> 연결
https://help.cafe24.com/cs/cs_faq_view.php?idx=467
고객센터 - 카페24 호스팅센터
대한민국 No.1 카페24 호스팅! 문의게시판, ARS안내, 자주묻는질문, 매뉴얼, 공지사항 등 제공
help.cafe24.com
Putty 사용
putty.exe 실행
Host Name(or IP address): 내아이디.cafe24.com
Port: 22
Connection type: SSH
Open
login as: 아이디
password: 비밀번호를 입력하면 연결된다. 비밀번호는 창에 나타나지 않는다.
톰캣 서버 중지
tomcat/bin/catalina.sh stop
톰캣 서버 시작
tomcat/bin/catalina.sh start
DB 연결하기
오른쪽 ROOT폴더에 있던 index.jsp파일을 지우고 왼쪽의 내가 작업한 index.jsp를 드래그해서 업로드하고 css와 images 폴더를 업로드하여 시작화면이 나오도록 테스트 해봤다.
cafe24는 JDK 8버전과 DB는 마리아DB를 지원한다. 하지만 우리는 JDK 17버전과 오라클 DB를 사용해서 작업을 해놨기 때문에 이를 수정해주는 작업을 추가로 해줘야 한다.
DBOpen.java
package net.utility;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBOpen {
public Connection getConnetion() {
/* 카페24 MySQL DB연결 정보 */
String url = "jdbc:mysql://localhost/내아이디";
String user = "내아이디";
String password = "비밀번호";
String driver = "org.gjt.mm.mysql.Driver";
Connection con = null;
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
}catch (Exception e) {
System.out.println("DB 연결 실패: "+e);
}
return con;
}//end
}//class end
BbsDAO.java
public int insert(BbsDTO dto) {
...
sql.append(" INSERT INTO tb_bbs(wname,subject,content,grpno,passwd,ip,regdt)");
sql.append(" VALUES(?, ?, ?, (SELECT ifnull(max(bbsno),0)+1 FROM tb_bbs as TB),?,?,now())");
...
}//insert() end
public int reply(BbsDTO dto) {
...
sql.append(" INSERT INTO tb_bbs(wname, subject, content, passwd, ip, grpno, indent, ansnum, regdt)");
sql.append(" VALUES(?,?,?,?,?,?,?,?,now())");
...
}//reply() end
Utility.java
public class Utility {
// 서비스시에는 도메인으로 변경됨으로 /myweb 삭제
// private static final String root = "/myweb";
private static final String root = "";
......
web.xml은 WEB-INF 폴더 안에, header, footer, bbs는 ROOT 폴더 안에 업로드 해준다.
에러 메시지 로그파일 분석
- 카페24 서버에서
/home/hosting_users/내아이디/tomcat/logs/catalina.out
※ 카페24 호스팅에서 테스트 하는 경우 위의 로그파일 다운 받은후 에러 메세지 확인하고 수정합니다.
'웹개발 교육 > jsp' 카테고리의 다른 글
[63일] jsp (42) - error (0) | 2022.10.26 |
---|---|
[63일] jsp (41) - MVC (0) | 2022.10.26 |
[61일] jsp (39) - myweb 프로젝트(회원 탈퇴 페이지) (0) | 2022.10.24 |
[61일] jsp (38) - myweb 프로젝트(과제) (0) | 2022.10.24 |
[61일] jsp (37) - myweb 프로젝트(첨부 게시판-삭제) (0) | 2022.10.24 |