오늘은 이클립스 같은 개발자도구의 도움없이 리눅스 터미널창을 통해 서버를 만드는 법을 알아보겠습니다.

  1. 자바설치
  2. 톰캣설치
  3. 여러 환경설정
  4. 코드 작성 및 수동으로 컴파일
  5. 서버 켜기 및 결과 확인

1.자바설치

아래 링크에서 원하는 자바파일을 다운받으세요

https://www.oracle.com/java/technologies/downloads/

제 경우에는 Arm 64 Compressed Archive를 받았습니다.

이것을 압축을 푼 후 원하는 위치에 가져다 놓으세요.

저는 그냥 홈(절대경로:/home/사용자계정)디렉토리에 두었습니다.

2. 톰캣설치

이번엔 https://tomcat.apache.org/ 이 링크에 들어가신 후 좌측 다운로드란의 원하는 톰캣버전을 선택해주세요.

제 경우 Tomcat9버전을 선택했습니다.

버전을 선택했으면 core의 tar.gz파일을 다운받으세요.

그리고 이 또한 압축을 풀어서 원하는 위치에 갖다 놓으세요.

저는 이번에도 홈 디렉터리에 두었습니다.

3. 여러 환경설정

먼저 apache-tomcat-9.0.65/lib 에 있는 servlet-api.jar파일을 복사해서

jdk-18.0.2.1/lib 에 붙여넣기 합시다.

그다음 경로설정을 위해서 /etc/profile에 다음과 같은 문구를 삽입해야 합니다.

JAVA_HOME=/home/사용자계정/jdk-18.0.2.1 CATALINA_HOME=/home/사용자계정/tomcat-apache-9.0.65 export JAVA_HOME export CLASSPATH=$JAVA_HOME/lib/servlet-api.jar export PATH=$JAVA_HOME/bin:$PATH export CATALINA=$CATALINA_HOME

콘솔창을 키신 다음 sudo open /etc/profile을 입력해줍니다.(보통은 vi 텍스트 편집기를 쓰겠지만 저는 우분투에서 자체 제공하는 텍스트편집기를 사용하겠습니다)

편집기가 켜지면 텍스트의 맨 아래에다 위 문구를 작성해주세요.

저장을 하신다음 콘솔창에

echo $JAVA_HOME

echo $CLASSPATH

echo $CATALINA

를 입력하시면 환경변수가 잘 변경되었는지 확인해보실 수 있습니다.

(만일 변경되지 않았다면 source /etc/profile 을 입력하고 다시 시도해보세요)

다음엔 apache-tomcat-9.0.65/webapps에다 Web Application Structure를 만들어 봅시다.

webapps아래에 HelloWorld라는 파일을 만들고

그아래 WEB-INF라는 폴더를 만듭니다.

그 아래에 다시 src, classes, lib 폴더를 만듭니다.

이후 apache-tomacat-9.0.65/webapps/ROOT 의 web.xml을 복사하여 아까 만든 HelloWorld/WEB-INF에 붙여넣습니다.

4. 코드작성 및 수동으로 컴파일

src 폴더 안에 다음과 같이 텍스트문서를 작성하고 파일이름을 HelloWorld.java 로 저장하세요

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class HelloWorld extends HttpServlet{
	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{
		response.setContentType("text/html");
		response.setCharacterEncoding("euc-kr");
		PrintWriter out = response.getWriter();
		out.write("<HTML><HEAD><TITLE>HelloWorld</TITLE></HEAD>");
		out.write("<BODY><H1>");
		out.write("Hello World");
		out.write("</H1></BODY></HTML>");
		out.close();
	}
}

그 다음은 web.xml파일에 매핑을 해줘야 합니다.

WEB-INF 폴더에 있는 web.xml 파일을 켜시고 다음과 같은 코드를 작성합니다.

<servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>HelloWorld</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>/sayhi</url-pattern>
  </servlet-mapping>

그 다음 터미널을 켜서 해당 파일이 저장되어 있는 위치로 이동합니다. 이후

javac HelloWorld.java

를 입력해줍니다. 에러문구가 없으면 컴파일이 잘 된 것입니다.

src폴더를 확인해 보시면 HelloWorld.class라는 파일이 생겼을 것입니다.

이것을 classes폴더로 옮겨줍니다.

5. 서버켜기 및 결과확인

다시 터미널 창으로 가서 apache-tomacat-9.0.65/bin 폴더로 이동합니다.

이어서 ./startup.sh를 입력하면 서버가 실행됩니다.

(나중에 잊지말고 ./shutdown.sh를 입력해서 서버를 꺼줍시다.)

웹브라우저에 가서 localhost:8080/HelloWorld/sayhi 주소를 입력하면 결과를 확인해 보실 수 있습니다.

'네트워크' 카테고리의 다른 글

HTTPS 특징  (0) 2022.09.28
web.xml ?  (0) 2022.09.28
HTTP 상태코드 표  (0) 2022.09.28
쿠키와 세션 +캐시  (0) 2022.09.28
OSI 7계층  (1) 2022.09.28