728x90

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


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


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


저번에 JSP를 배웠으므로 당분간 JSP를 쓰는 가장 기본적인 몇가지에 대해서 알아볼 차례이다.

그 중에 우리는 JSP에 자바 코드를 집어넣는 스크립트릿에 대해서 알아보도록 하자.


스크립트릿의 사용방법은 아래와 같다.

<%자바코드%>


그럼 예제를 통해 같이 보도록 하자.


<!-- index.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
out.println("<ul>");
for (int i = 1; i <= 10; i++) {
out.println("<li>" + i + "번째</li>");
}
out.println("</ul>");
%>
</body>
</html>


이 코드는 스크립트릿을 사용했다.

보다시피 긴코드를 간명하게 사용할 수 있다.

또한 사용자로 부터 받은 값을 이용해서 동적인 소스를 제공할 수 있다.

여기서 보면 PrintWriter을 선언을 하지 않았지만 PrintWriter클래스인 out을 선언할 수있다.

또한 그 메소드또한 사용할 수있다. JSP는 선언을 하지 않아도 사용할 수 있는 클래스가 몇개있다.

out이 그 예 중 하나이다. 이들을 내장 객체라 한다.

내장 객체의 수는 많지는 않다. 딱 9가지 밖에 없다.



이번에는 이 내장객체와 스크립트릿을 이용해서 동적으로 페이지를 변동시켜보자.

더불어서 JSP끼리서로 값을 주고 받는 것을 한번 해보자.


<!-- send.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<meta charset="UTF-8">
<title>Send JSP</title>
</head>
<body>
<form action="receive.jsp" method="get">
세고 싶은 숫자를 입력 하시오 : <input type="text" name="number"/>
<input type="submit">
</form>
</body>
</html>


이쪽은 폼을 통해서 보내는 방식이다. 일반적인 jsp의 호출은 get이던 post던 사실 상관없다.

둘중 어떠한 반응이 와도 똑같이 처리되게 되있기 때문이다.

신기할건 없다. Servlet도 가능한거니까.


<!-- receive.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<%
out.println("<ul>");
for (int i = 1; i <= Integer.parseInt(request.getParameter("number")); i++) {
out.println("<li>" + i + "번째</li>");
}
out.println("</ul>");
%>
</body>
</html>


이것은 받는 쪽이다. 받는 쪽 코드는 맨위의 코드를 약간 수정을 가했다.

request객체를 가져왔는데 이는 내장 객체이므로 그냥 사용할 수있다.

그럼 한번 테스트를 해보자.



안의 숫자를 원하는 숫자를 입력한 후 제출을 눌러주자.



그러면 이번에는 자신이 받은 숫자를 이용해서 변화된 숫자가 입력되는 것을 확인할 수 있다.

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

[JSp-06]Declaration(선언문)  (0) 2017.10.15
[JSP-05]Expression(표현식)  (0) 2017.10.15
[JSP-03]JSP  (0) 2017.10.11
[JSP-02]form과 get, post  (0) 2017.10.10
[JSP-01]Servlet  (0) 2017.10.10

+ Recent posts