기능의 차이는 없고, 역할의 차이가 있다.
jsp는 필요시 스크립트 언어로 기능 구현
servlet은 java코드를 기준으로 화면 구성에 필요한 html 태그를 보완
완전한 자바파일
data processing(Controller)에 좋음
DB와의 통신, 데이터를 읽고 확인하는 작업 등에 유리, 즉 백엔드에 유리
Servlet 수정된 경우 Java코드 컴파일(.class 파일 생성) -> 동적인 페이지 처리,
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public ThreeParams extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
printWriter out = response.getWriter();
String title = "Reading Three Request Parameters";
String docType = "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
out.println(docType +
"<HTML>\n" +
"<HEAD><TITLE>" + title + "</TITLE></HEAD>\n" +
"<BODY BGCOLOR=\"#FDF5E6\">\n" +
"<H1 ALIGN=\"CENTER\">" + title + "</H1>\n" +
"<UL>\n" +
"<LI><B>param1</B>: " + request.getParameter("param1") + "\n" +
"<LI><B>param2</B>: " + request.getParameter("param2") + "\n" +
"<LI><B>param3</B>: " + request.getParameter("param3") + "\n" +
"</UL>\n" +
"</BODY></HTML>");
)
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Reading Three Request Parameters</TITLE>
<LINK REL=STYLESHEET HREF="JSP-Styles.css" TYPE="text/css">
</HEAD>
<BODY>
<H1>Reading Three Request Parameters</H1>
<UL>
<LI><B>param1</B>: <%= request.getParameter("param1") %>
<LI><B>param2</B>: <%= request.getParameter("param2") %>
<LI><B>param3</B>: <%= request.getParameter("param3") %>
</UL>
</BODY>
</HTML>