1) Tomcat ๋ค์ด๋ฐ๊ธฐ ๋ฐ ์ค์นํ๊ธฐ
Apache Tomcat์ด๋?
์ํ์น ํฐ์บฃ(Apache Tomcat)์ ์ํ์น ์ํํธ์จ์ด ์ฌ๋จ(Apache Software Foundation, ASF)์์ ๊ฐ๋ฐํ ์ธ๊ณ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ WAS(Web Application Server)์ ๋๋ค.
์ปดํจํฐ์ ์ด์์ฒด์ ๋ฅผ ์ค์นํด์ผ๋ง ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ฒ๋ผ, ์๋ฐ๋ฅผ ์ด์ฉํ์ฌ ์์ฑ๋ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ WAS๊ฐ ์์ด์ผ๋ง ์คํํ ์ ์์ต๋๋ค.
์ด๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ WAS๊ฐ ์ํ์น ํฐ์บฃ์ด๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค.
์ํ์น ํฐ์บฃ์ ์คํ์์ค ์ํํธ ์จ์ด๋ก์จ ๋๊ตฌ๋ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฐธ๊ณ ๋ก Tomcat์ '์๊ณ ์์ด'๋ฅผ ๋ปํฉ๋๋ค. ํฐ๊ณผ ์ ๋ฆฌ์ ํฐ์ด ์๊ฐ๋๊ธฐ๋ ํฉ๋๋ค.
Tomcat 8๋ฒ์ ์ JDK 7์ด์์์ ๋์ํ๋ฉฐ Servlet Spec 3.1์ ์ง์ํฉ๋๋ค.
Tomcat 9๋ฒ์ ์ JDK 8์ด์์์ ๋์ํ๋ฉฐ Servlet Spec 4.0์ ์ง์ํฉ๋๋ค.
๋๋ 64-bit Windows zip ์ ์ค์น.
Apach Tomcat ์คํ
์ํ์น ํฐ์บฃ ์ค์น ํด๋ ์๋์ ์๋ binํด๋๋ฅผ ๋ณด๋ฉด ํ์ฅ์๊ฐ bat์ธ ์๋์ฐ์ฉ ๋ฐฐ์นํ์ผ๊ณผ ํ์ฅ์๊ฐ sh์ธ ์์คํฌ๋ฆฝํธ(shell script)ํ์ผ์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์์คํฌ๋ฆฝํธ ํ์ผ์ linux๋ ๋งฅ ์ด์์ฒด์ ์์ ์คํ ๊ฐ๋ฅํ ํ์ผ์ ๋๋ค.
์๋์ฐ ์ฌ์ฉ์๋ผ๋ฉด startup.batํ์ผ์ ๋๋ธ ํด๋ฆญํ์ฌ ์คํํฉ๋๋ค.
์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์คํํ ํ ์ฃผ์์ฐฝ์ http://localhost:8080 ๋ http://127.0.0.1:8080 ์ผ๋ก ์ ๋ ฅํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
localhost๋ ํ์ฌ ์ฌ์ฉ์ค์ธ ์ปดํจํฐ๋ฅผ ๋ํ๋ด๋ ๋๋ฉ์ธ(domain)์ฃผ์์ด๊ณ 127.0.0.1์ ํ์ฌ ์ฌ์ฉ ์ค์ธ ์ปดํจํฐ๋ฅผ ๋ํ๋ด๋ ip์ฃผ์์ ๋๋ค.
์น ๋ธ๋ผ์ฐ์ ๋ก ํ์ฌ ์ปดํจํฐ์์ 8080ํฌํธ๋ก ๋์ํ๋ ์๋ฒ์ ์ ์ํ๋ผ๋ ์๋ฏธ์ ๋๋ค.
Tomcat์ด ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋ ์น ์ฌ์ดํธ๊ฐ ๋ณด์ฌ์ง๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ํ์น ํฐ์ผ ์ค์น ํด๋ ์๋์ binํด๋์ ์๋ shutdown.batํ์ผ์ด๋ shutdown.shํ์ผ์ ๋๋ธํด๋ฆญํ์ฌ ์คํํ๋ฉด ์ํ์น ํฐ์บฃ์ด ์ข ๋ฃ๋ฉ๋๋ค.
ํน์, ์คํ ์ค์ธ ์ฐฝ์ ๋ซ์๋ ์ํ์น ํฐ์บฃ์ ์ข ๋ฃ๋ฉ๋๋ค.
์ํ์น ํฐ์ผ์ด ์ข ๋ฃ ๋ ํ http://localhost:8080์ผ๋ก ๋ค์ ์ ์ํด๋ณด๋ฉด, ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ค๋ฅ ํ๋ฉด์ด ๋ณด์ฌ์ง๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
2) HelloWorld ์๋ธ๋ฆฟ ์ปดํ์ผ ๋ฐ ์คํํ๊ธฐ
์๋ธ๋ฆฟ์ URL ์์ฒญ์ ์ฒ๋ฆฌํ๋ ํ๋ก๊ทธ๋จ
dynamic web project ์์ฑ (Target runtime _ ํฐ์บฃ8.5 ์ง์ )
ํ๋ก์ ํธ ์ฐํด๋ฆญ, src ํด๋ ๋ฐ์ ํจํค์ง๋ช , ํด๋์ค๋ช ์ ๋ ฅ. url mapping ๊ฐ๋ฅ, doGet ๋ฑ ์ ํ ๊ฐ๋ฅ
URL ์ฃผ์
http://localhost:8080/{ํ๋ก์ ํธ์ด๋ฆ}/{URL Mapping๊ฐ}
http://localhost:8080/firstweb/HelloServlet
package examples;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public HelloServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<h1>Hello World</h1>");
}
}
(ํด๋ผ์ด์ธํธ์์ GET Method๋ก ์๋ธ๋ฆฟ์ ๊ฐ๋ฆฌํค๋ URL ์ด์ฉํด ์์ฒญ -> WAS๊ฐ ์๋ธ๋ฆฟ ํ์ผ ๋ด doGet() ์คํ -> response ๊ฐ์ฒด์ Hello World ํ ์คํธ๋ฅผ ๋ฃ์ -> ํด๋ผ์ด์ธํธ๋ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ์ถ๋ ฅ)
'Spring > Boost Course Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2.5 Scope (0) | 2020.11.19 |
---|---|
2.4 JSP (0) | 2020.11.19 |
2.3 Servlet (0) | 2020.11.19 |
2.1 Web๊ฐ๋ฐ์ ์ดํด (0) | 2020.11.19 |
1.5 JDBC (0) | 2020.11.19 |
1.4 Maven (0) | 2020.11.19 |