์ดํ์น ํฐ์บฃ ์ค์
static final : ์์
์ ํฐ์บฃ์ ์ฌ๋ผ๊ฐ?
url ๋งคํ
ํฐ์บฃ์์ ๋๋์๋ init๊ฐ ํธ์ถ์ด ๋จ.
์น๋ธ๋ผ์ฐ์ ์์ ์์ฒญํ๋ ๊ฒ์ ์ง๊ธ ํ์ฌ get๋ฐ์ ์์ --> get ์คํ
๊ณ์ ์๋ก๊ณ ์นจ์ ํ ๋๋ง๋ค,
์น๋ธ๋ผ์ฐ์ ์ doGet์ด ํธ์ถ๋์ด์ count๊ฐ ํ๋์ฉ ์ฆ๊ฐ.
์๋ฒ ์ข ๋ฃํ๋ฉด destory๊ฐ ํธ์ถ๋๋ฉด์
ํฐ์บฃ์์ ๋ด๋ ค๊ฐ๊ฒ ๋จ.
OS๊ฐ ์๋ค. (Java)
์ด๊ฑธ JVM์ ์ฌ๋ฆฐ๋ค. (class๋ก ์ฌ๋ผ๊ฐ๋ค, class๋ ์ค์ง์ ์ผ๋ก ํ ์คํ ๋ฑ์ผ๋ก ๊ตฌ์ฑ. ๋ผ์ดํ ์ฌ์ดํด์ด ํธ์ถ์ด ๋์ด ํ ๊ณต๊ฐ์ ๋ฌด์ง์ํ๊ฒ ๋ค์ด๊ฐ๋ ๊ฒ.)
LifeCycle.java
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class LifeCycle
*/
@WebServlet("/LifeCycle")
public class LifeCycle extends HttpServlet {
private static final long serialVersionUID = 1L;
int initCount = 1;
int doGetCount = 1;
int destroyCount = 1;
/**
* @see HttpServlet#HttpServlet()
*/
public LifeCycle() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see Servlet#init(ServletConfig)
*/
public void init(ServletConfig config) throws ServletException {
System.out.println("init ํธ์ถ: "+ initCount++);
}
/**
* @see Servlet#destroy()
*/
public void destroy() {
System.out.println("destroy ํธ์ถ: "+ destroyCount++); }
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("LifeCycle Servlet Test").append(request.getContextPath());
System.out.println("doGet ํธ์ถ: "+ doGetCount++); }
}
SumtestServlet.java
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;
/**
* Servlet implementation class SumTestServlet
*/
@WebServlet("/SumTestServlet")
public class SumTestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public SumTestServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
int n1 = Integer.parseInt(request.getParameter("a")); // ์น์์ ๋ค์ด์ค๋ ๊ฒ์ ๋๋ถ๋ถstring, ๊ทธ๋ฌ๋ฏ๋ก int๋ก ๋ฐ๊ฟ์ฃผ๋ integer.parseInt
int n2 = Integer.parseInt(request.getParameter("b"));
int nSum = n1 + n2;
response.setContentType("text/html; charset=UTF-8");
//web์๋ฒ์ ๋์ฐ๋ ๋ช
๋ น
PrintWriter out = response.getWriter();
out.println("<h1><font color=\"blue\"> get ๋ฐฉ์์ [๋ง์
๊ฒฐ๊ณผ] : " + nSum + "</font>");
out.close();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
int n3 = Integer.parseInt(request.getParameter("c")); // ์น์์ ๋ค์ด์ค๋ ๊ฒ์ ๋๋ถ๋ถstring, ๊ทธ๋ฌ๋ฏ๋ก int๋ก ๋ฐ๊ฟ์ฃผ๋ integer.parseInt
int n4 = Integer.parseInt(request.getParameter("d"));
int nSub = n3 - n4;
response.setContentType("text/html; charset=UTF-8");
//web์๋ฒ์ ๋์ฐ๋ ๋ช
๋ น
PrintWriter out = response.getWriter();
out.println("<h1><font color=\"red\"> post ๋ฐฉ์์ [๋บ์
๊ฒฐ๊ณผ] : " + nSub + "</font>");
out.close();
}
}
SumTest.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>
<form method="get" action="SumTestServlet">
<ul>
<li> <label> ์ฒซ๋ฒ์งธ ์ซ์ : </label> <input name ="a"/> </li>
<li> <label> ๋๋ฒ์งธ ์ซ์ : </label> <input name ="b"/> </li>
</ul>
<input type="submit" value = "๋ง ์
">
</form>
<form method="post" action="SumTestServlet">
<ul>
<li> <label> ์ฒซ๋ฒ์งธ ์ซ์ : </label> <input name ="c"/> </li>
<li> <label> ๋๋ฒ์งธ ์ซ์ : </label> <input name ="d"/> </li>
</ul>
<input type="submit" value = "๋บ ์
">
</center>
</form>
</body>
</html>
๋์์ ํ ์ค ํ ์ค ๊ตฌ๋ถํ ์ ์์ด์ผ ํ๋ฉฐ,
์ด๊ฑด ์ด๋ฏธ ์ ์ 3์ฃผ๋์์ ์์ ์์ ์ต์ํด์ก์ด์ผ ํ๋ค๊ณ ํ๋๋ฐ
์ด๊ฑฐ ์์ ํ์ ์ผ๋ง๊ฐ ์๋ ค์ฃผ๊ณ
3์ฃผ ๋ค์ ์ ํ์ ์๋ ค์คฌ๋๋ฐ ์ค๊ตญ์ด ์ฑ ์ ์ ๋ชป์ฝ๋๊ณ ํ๋ ๊ฒ๊ณผ ์ง๋ฐฐ์๋ ๊ฒ ๊ฐ์๋ฐ..^-ใ
์๊ฐ์ด ํ์ํด์...
๋๋ ์ค๋ ์ฌ๋๋ค์ด ํค๋งธ๋ ๋ถ๋ถ์ ์ค๋ฅ๋ค์
๋ชจ๋ ๊ฐ์ง๊ณ ์์๊ณ ,
์ง๋ฌธ์ ํด์ฃผ์ด์ ๊ณ ๋ง์ ๊ณ
ํผ์์ ์ฝ์ง๋ ๋ง์ด ํ๋ค
๊ณผ์ 1. :
- Servlet ๊ฐ์ฒด์ JSP ๋ด์ฅ๊ฐ์ฒด (๋จผ์ ์กฐ์ฌ)
๊ณผ์ 2 :
- Param.html
- ParamServlet.java
- Param.js
์ดํ ์ค์ ์์ ์๊พธ ์ค๋ฅ๊ฐ ๋ฌ์ ๋ ๋์์ค ๊ตฌ๊ธ็ฅ ์ฌ๋ํด์♥๏ธ:
์ดํด๋ฆฝ์ค์์ Dynamic Web Project ๊ฐ ์๋ณด์ผ ๋:
https://ssimplay.tistory.com/204
์ดํด๋ฆฝ์ค์์ ํฐ์บฃ ์๋ฒ ๋ชฉ๋ก์ด ์๋ณด์ผ ๋:
https://zawook.postype.com/post/7212270
์๋ ๋ถ๋ถ ์๋ฌ ํด๊ฒฐํ๊ธฐ:
https://blog.csdn.net/HYD696/article/details/104674742
์ฌ์ฉ์ค์ธ port ์ฐพ์์ kill ํ๊ธฐ :
https://88240.tistory.com/475