728x90

이 강의는 JSP를 다루는 방법에 대해서 강의를 하지만 웹서버(tomcat이나 glassfish 등)를 어떻게 다루는지나 IDE(Eclipse,IntelliJ 등)를 어떻게 사용하는지는 거의 다루지 않는다. 이 JSP강의 시리즈들은 JSP를 어떻게 다루는지에 대한 서술이 주로 이루어져있다. 그런 자료들이 필자의 블로그에 Usage-Java-JSP카테고리에 소개되어있으므로 이를 참고해주면 되겠다. 중간 중간에 꼭 필요한 부분에서 링크를 걸어서 진행하니 큰 걱정은 할 필요는 없다. 그러니 강의를 보다가 정보가 나오지 않는다면 반드시 위 카테고리를 참고하자. 그래도 모르는게 있으면 쪽지나 답글로 질문하라.


또한 JSP는 웹을 다루는 기술이다보니 html,css,js등이 사용이 되는 경우가 있다. 이러한 부분을 필자가 일일히 가르키면서 진행할 수 없다. html,css의 경우 마크업언어이지만 마크업언어라고 단순히 치부하기에는 너무나도 기능이 많고 속성이 많다. 또한 js는 그냥 하나의 프로그래밍 언어라서 이걸 가르치려면 아예 Java수준으로 가르쳐야된다는 문제점이 있다. 필자 블로그에서 이들에 대한 포스팅역시 제공하고 있다. 찾아서보면 된다.


그러나 만약 찾는게 없다면 구글링에 의존하라.


여러분은 JSP에 대해서 배우기 위해서 아마 이 블로그를 보고있을 것이다.

그런데 JSP가 정확히 뭔지 아는가? 보통 사람들이 JSP를 배운다고 하면 JSP+Servlet을 포함하는 개념이라고 생각한다.

그리고 이는 정확히 말하면 옳은 개념은 아니다.

본디 자바로 웹을 프로그래밍 하는 방법은 JSP만이 있는것은 아니다. 바로 JSP와 Servlet이 함께 존재하는 것이다.

실질적으로 둘은 관리하는 버전도 다르며 결과적으로 JSP파일은 Servlet파일이 되긴하지만 그렇다고 둘이 완전 동등한건 아니다.

그럼에도 불구하고 보통 JSP를 배울경우 Servlet을 항상 같이 배우게 된다.

그리고 후반부로 넘어가면 Servlet은 거의 쓰지도 않고 JSP를 사용하는게 일반적 시중 교재의 내용이다.


왜 JSP를 배우는데 Servlet을 배우냐하면 그 원인은 몇가지가 있다.

먼저 Servlet과 JSP는 사실 근간은 같다. 둘은 기본적으로 완전 똑같은 기술이다. 쓰는 사람의 느낌 차이일뿐.

JSP로 만든 파일은 최종적으로 Servlet으로 변환된다. 이는 필자의 블로그에서 이 포스팅을 보면 알 수있다.

따라서 쓰는 변수와 기술은 완전하게 동일하다. 다만 JSP파일은 한번 더 번역과정을 거칠 뿐이다.

그리고 Servlet이 JSP보다 먼저 배우는 이유는 Servlet이 JSP보다 더 먼저 나온 기술이기 때문이다.

Servlet의 기본개념을 이해하면 JSP에 적용시키는건 쉬운 일이다.


그러면 JSP는 도대체 왜 생긴 것일까? 그것은 여러분이 Servlet을 직접 다뤄밨으니까 사실 바로 알 수있을 것인데

바로 Servlet은 매우 사용하기 귀찮고 까다롭다는 것이다. 왜냐하면 Java페이지안에서 HTML을 스트림으로 출력하는 방식이기 때문이다.

이 방식은 매우 비효율 적이다. html페이지를 만드는 느낌이 전혀 들지 않는다.

그래서 나온것이 JSP다 JSP는 오히려 html페이지 안에 Java페이지를 넣는 방식으로 만들었다.

그래서 기존에 웹을 하는 사람들이 적응하기 쉽게 만들어 놓은 것이다.

물론 이 각각의 패러다임은 장단점이 있다. 이는 막 배우는 단계에서 웹페이지를 할때는 크게 느끼지 못하지만

나중에 조금 큰 웹서버 단위로 프로그래밍을 하다보면 이 단점을 두드러 지게된다.

그러나 아직 여러분은 배우는 단계이고 이 때는 JSP가 사실 쓰기는 훨씬 쉽다.


이제 JSP를 한번 사용해보 도록 하자 JSP는 Java Server Page의 약자이다.

JSP를 만드는 방법은 필자 블로그의 이 포스팅에 IntelliJ와 Eclise에서 JSP를 만드는 방법이 나와있다.

또한 넷빈즈에서 만드는 포스팅은 이 포스팅에서 확인하자.


그럼 간단한 예제 파일을 한번 만들어보자.


<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<meta charset="UTF-8"/>
<title>JSP Test</title>
</head>
<body>
<img src="queen.jpg" width="300"/><br>
위 사진은 퀸입니다.<br>
<img src="soraka.jpg" width="300"/><br>
위 사진은 소라카입니다.<br>
</body>
</html>


사용한 사진은 각각 아래와 퀸과 소라카이다. 사진은 사실 아무거나 사용해도 된다.

JSP를 사용하는 폴더 디렉터리 구조는 보통의 경우 아래와 같다.



각각  IntelliJ, Eclipse, NetBeans의 디렉터리 구조이다.

각각 web,WebContent,Web Pasges를 구조를 root(기본 디렉터리)라고 생각하면된다.

한번 실행을 해보자.



이 코드들을 일일히 Servlet을 사용했다고 생각해보자 끔찍할 것이다.

이래서 JSP를 쓰는것이다.

jsp는 호출시에 url을 따로 매핑해줄필요가 없이 그냥 파일 이름으로 접근할 수 있다.

물론 실제로 이러한 방식은 바람직한 방식은 아니다. jsp도 url매핑을 해주는게 좋긴한다.

그러나 배우는 단계에서는 안해도 크게 문제는 없다. 만약 하고 싶다면 이 포스팅을 참고하라.

'Programming > Java-JSP' 카테고리의 다른 글

[JSp-06]Declaration(선언문)  (0) 2017.10.15
[JSP-05]Expression(표현식)  (0) 2017.10.15
[JSP-04]Screptlet(스크립트릿)  (0) 2017.10.11
[JSP-02]form과 get, post  (0) 2017.10.10
[JSP-01]Servlet  (0) 2017.10.10

+ Recent posts