servlet과 jsp라는 고급언어에 대해서 정리할게요.
Servlet이란? (동작하는)
톰캣(서버)위에서 웹페이지를 동적으로 생성하거나 데이터 처리를 수행하기 위해 작성된 java프로그램이에요.
자바 서블릿은 서버측 기능을 확장시킨 자바 프로그램, JAVA EE(= Java Platform EnterpriseEdition)의 일부에요.
대체적으로,
서블릿은 쇼핑 사이트 및 온라인 뱅크 등의 다양한 동적 웹사이트(= 다양한 플렛폼)를 구축하기 위해 사용됩니다.
서블릿 실행환경은 웹 컨테이너 혹은 서블릿 컨테이너로 불린다. 순수 서블릿을 처리하는 경우 서블릿 컨테이너라 부르는데, 서블릿 컨테이너를 포함한 JSP, HTTP 서버로서의 기능을 포함하기 때문에 웹 컨테이너라고 부르기도 한다. 웹 컨테이너로는 아파치 톰캣(Apache Tomcat), IBM 웹스피어(Web Sphere) 어플리케이션 서버, 레진(Resin) 등이 있다.
- init() : 서블릿이 메모리에 로드될때 단 한번만 실행합니다.
- destory() : 언로드되기 전에 수행되는 callback입니다.
- doGet/doPost() : 여러번 호출/수행이 가능한 Service메서드
(※ doget은 Test용, url에 표시o)
(※ doPost는 최종본, url에 표시x, 보안철저)
서블릿이 클라이언트의 요청이 있을때마다 Thread를 최초 한 번만 실행해서 병렬적으로 doGet/doPost를 수행한다. (서블릿 객체는 여러개 생성되지 않습니다)
다시 말해, Servlet은 Web Application Server을 통해 컴파일 된 후, 메모리에 적재되어 클라이언트의 HTTP Get, Post등의 요청을 처리하는 자바 프로그램입니다.
※WAS란,
- 정적문서는 바로 HTML로 반환한다.- 아파치, iis, 웹로직, 썬서버...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public class CalcServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int sum=0;
for(int i=0; i<=100; i++){
sum+=i;
}
//request.setCharacterEncoding(arg0); 값을 넘겨받앗을 경우 추가인코딩
response.setContentType("text/html; charset=utf-8"); //해당페이지내의 값 인코딩
PrintWriter out = response.getWriter();
out.println("1-100까지의 총합은: "+sum);
out.close();
}
}
|
JSP란?
자바 서버 페이지(Java Server Pages, JSP)로써, HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어입니다. JAVA EE스펙 중 일부로 웹 애플리케이션 서버에서 동작한다.
JSP는 실행시에 자바 서블릿으로 변환된 후 실행되므로 서블릿과 유사하다고 볼 수 있다. 하지만, 서블릿과는 달리 HTML 표준에 따라 작성되므로 웹 디자인하기에 편리하다. (대표적으로는 JAVA BEAN의 이용이 있다 = 객체)
Servlet을 같이 사용함으로써, 프리젠테이션 로직과 비지니스 로직 분리==>
JSP코드가 간단해져서 유지보수가 간편하다
※ 보여지는 부분은 HTM이 중심이되는 JSP이 담당한다.※ 다른 자바 클래스에게 데이터를 넘겨주는 부분은 Java코드가 중심이되는 Servlet이 담당한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset=UTF-8">
<title> 1-100합 </title>
</head>
<body>
<%
int sum=0;
for(int i=0; i<=100; i++){
sum+=i;
}
out.println("1-100까지의 총합은: "+sum);
%>
</form>
</body>
</html>
|
JSP에서 1-100까지의 총합을 구하는 코드를 위와 같이 구현해봤습니다.
'WEB 기초 > Jsp' 카테고리의 다른 글
[Only Servlet] 6. 주어진 배열값을 객체에 저장해서 출력하기 (0) | 2018.04.22 |
---|---|
[Only Servlet] 5. 입력한 id&pw값이 배열에 있는값이면? 아니라면? (0) | 2018.04.22 |
[Servlet] 4. 첫값부터 끝값까지 합계 구하기 (0) | 2018.04.22 |
[Servlet] 3. 로그인창 만들기 (0) | 2018.04.22 |
[Servlet] 2. 개인정보창 만들기 (0) | 2018.04.22 |