Heero의 드라마 같은 인생사

블로그 이미지
Heero와 함께하는 우다탕~~ 쿵쿵 세상사~
by Heero
  • 347Total hit
  • 0Today hit
  • 0Yesterday hit

JSP&Servlet관련 책을 산지 벌써 몇달이 지났지만 이제서야 책을 꺼내서 이걸 연습하는 나도 참@_@;;; 좀 더 빨리 익혀둘걸....이라는 생각이 계속 해서 든다...

오늘은 JSP&Servlet관련 예제를 하나 볼까한다.

아직 처음 책을 봤을땐 JSP&Servlet 에 대한 감은 잘안오지만 이번 예제를 하면서 어떻게 JSP&Servlet 이 돌아가는지 살짝 감이 오기 시작하였다.

그럼 살짝 예제를 들어가기전에 숙지해야할 몇가지 사항을 보도록하자.

보통 웹 애플리케이션 개발을 하기위해서는 4가지의 단계를 거쳐서 개발을 진행한다.

1 - 웹 애플리케이션에서 사용자 화면에 대한 검토 ( 전 이것만 자신이 있는... )
2 - 아키텍처 살펴보기
3 - 웹 애플리케이션을 생성 및 배포하기 위한 개발 및 배포 환경 설정
4 - 애플리케이션 개발

위의 4가지 사항을 항시 생각하면서 웹 애플리케이션의 개발에 임하도록 하자.

그럼 다시 본론으로 돌아와서 예제 화면을 보도록하자.

사용자 화면은 다음 아래의 그림과 같다.

사용자 삽입 이미지

위에 화면에서도 확인 할수 있듯이 간단한 맥주 선택에 대한 쿼리를 날리게 되면 거기에 해당하는 응답을 받아 뿌려주는 웹 애플리케이션 프로그램이다.

사용자 화면 설정은 간단하게 편한대로 작성을 하면된다. 아래의 소스 코드는 사용자 화면 부분인 form.html 의 코딩내용이다.

( form.html )

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">
<html>
 <body>
  <h1 align="center">Beer Selection Page</h1>
  <form method="POST" action="SelectBeer.do">Select beer characteristics<p>
  Color:
 
<select name="color" size="1">
   <option>light
   <option>amber
   <option>brown
   <option>dark
  </select>
  <br><br>
  <center>
  
<input type="SUBMIT">
  </center>
 </form>
</body>
</html>

우선 눈여겨 봐야할 곳은 빨간색으로 표기한 부분과 볼드체로 표기한 부분이다.
SelectBeer.do는 호출되어야할 서블릿이 무엇인지 지정해주는 역할을 한다. 그렇다고 SelectBeer.do는 실제 파일명이 아니다. 정확히 말하면 논리적인 이름으로 생각하면될것이다. 즉, HTML에서 사용할 가상이름정도로 생각되어질수 있다. 이는 다음에 작성될 XML파일 ( web.xml )에 보면 selectBeer.do가 불리는걸 확인할 수 있다.

(web.xml)

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="
http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <display-name>
 Ch1ServletTest1</display-name>
 <welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
  <welcome-file>index.jsp</welcome-file>
  <welcome-file>default.html</welcome-file>
  <welcome-file>default.htm</welcome-file>
  <welcome-file>default.jsp</welcome-file>
 </welcome-file-list>
 
 <servlet>
  <servlet-name>BeerSelector</servlet-name>
  <servlet-class>Test.Beer</servlet-class>
 </servlet>
 
 <servlet-mapping>
  <servlet-name>BeerSelector</servlet-name>
  <url-pattern>/SelectBeer.do</url-pattern>
 </servlet-mapping>
 
</web-app>

볼드체로 표기한 부분을 잠시 설명하자면 Servlet-class 태그로 묶인건 실제 자바 코드가 있는 부분을 패키지명과 클래스명까지 나타낸 것이고, url-pattern태그는 위에 form.html에서 지정한 이름 즉, 클라이언트가 사용할 이름이라고 생각을 하면된다. 참고로 BeerSelector이름은 DD내에서만 사용되니 기억하도록 하자.

다음은 서블릿 코드를 보도록 하자.

( Beer.java )

public class Beer extends HttpServlet{
 
 public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
 
  String c = request.getParameter("color");
  BeerExpert be = new BeerExpert();
  List result = be.getBrands(c);
 
  request.setAttribute("styles", result);
  RequestDispatcher view = request.getRequestDispatcher("result.jsp");
  view.forward( request, response );
 
 }

}

파란색 볼드체인 doPost는 앞에 form.html을 작성하면서 정의한 method = POST라고 하였기 때문에 doPost()를 여기서 정의를 한다.
나머지는 HttpServlet을 상속받고 구현한다라는 걸 눈여겨 보면 될것이다.

다음코드는 모델클래스이다.

( BeerExpert.java )

public class BeerExpert {

 public List getBrands(String color){
  List brands = new ArrayList();
  if( color.equals("amber") ){
   brands.add("Back Amber");
   brands.add("Red Moose");
  }
  else if( color.equals("light")){
   brands.add("Jail Pale Ale");
   brands.add("Gout Stout");
  }
  else if( color.equals("dark")){
   brands.add("DARK Black");
   brands.add("BEER STOUT");
  }
  else if( color.equals("brown")){
   brands.add("Brown Color");
   brands.add("HITE");
  }
  return brands;
 }
}

여가서는 그렇게 설명할 부분이 없는것 같다.  color에서 해당 개체가 selector에 의해 선택되어졌을때 추가되어지는 것을 정의해 놓은 코드이다.

다음 코드는 form.html에서 다양한 색깔을 선택하면 거기에 맞는 맥주는 추천해주는 코드를 알아보도록하자.

( result.jsp )

<%@ page import="java.util.*" %>

<html>
 <body>
  <h1 align="center">Beer Recommendations JSP</h1>
  <p>
 
  <%
   List styles = (List)request.getAttribute("styles");
   Iterator it = styles.iterator();
   while(it.hasNext()){
    out.print("<br>try: " + it.next());
   }
  %>
 </body>
</html>

보통 빨간색으로 표기한 <% %> 는 JSP에서 자바코드를 적용하기 위해서는 저 태그 안에 코딩을 해야 적용이 되는 사레를 볼수가 있다.

참고로 "컴파일러는 JSP는 컴파일 하지 않는다" 라는 어귀는 기억해두도록하자.

자~ 그럼 테스트위해 작성해야할 파일 4가지를 다 작성해보았다. 작성된 파일은 각각 알맞은 패키지에 넣도록하자.

보통 jsp,html관련 파일들은 webContent쪽 폴더에 위치하면되고, web.xml파일은 WEB-INF안에 위치해두면 된다. 그리고 마지막으로 JAVA관련 클래스 파일은 자바리소스라는 src폴더에 위치시켜주면 될것이다.

다음 화면은 원하는 색깔을 form에서 선택하면 거기에 맞는 result를 뿌려주는 화면을 나타낸것이다.

사용자 삽입 이미지


위의 화면처럼 나온다면 JSP&Servlet 예제1은 성공한 것이다.

휴 이래 저래 주절 주절 적었지만 역시....보고 익힌걸 바로 적는게 이렇게 어려운것일줄 몰랐었다. ( 책 내용 그대로이긴 하지만^^:; )

좀 더 분발해서 나만의 웹 애플리케이션을 만들도록 나아가봐야 겠다.~~


< 참고 도서 >
Head First Servlet&JSP
TRACKBACK 0 AND COMMENT 0

최근에는 Eclipse로 JSP&Servlet을 공부해 보려고 이리 저리 만지던 도중, 기본 설정만으로는 JSP&Servlet을 Eclipse를 통해서 만들수 없다는걸 알게 되었다.
그럼 간단하게 Eclipse에서 Servlet을 사용하기 전 설정해야하는 방법을 알아보도록 하자.
우선 Servlet을 사용하기 위해서는 Tomcat이라는 plugin을 받아서 설치하도록 한다.
http://tomcat.apache.org/
위의 주소로 들어가서 받으면 되는데, 버전은 자신이 원하는 버전을 받아서 설치를 하면된다.
Tomcat을 받아 설치를 하고 난 다음, Eclipse를 실행하면 귀여운 고양이 아이콘을 확인할수 있는데 이 아이콘을 확인을 하면 자신의 Eclipse에 tomcat이 설치가 완료된것이다.
그런 다음 Eclipse내의 window -> preferences 를 보면 tomcat 가 설치된것을 확인 할수 있다. 

사용자 삽입 이미지
(화면이 잘 안보이면 클릭하여 보는 센스~!^^)

이곳에서 현재 설치되있는 tomcat 버전을 선택하고 / tomcat home 지정하고, configuration 위치를 지정해준다.
사용자 삽입 이미지
(화면이 잘 안보이면 클릭하여 보는 센스~!^^)

그리고 Eclipse에서 제공하는 WTP라는 플러그인(Web Tool Platform) 을 깔아야하는데 이것은 http://www.eclipse.org/webtools/releases/2.0/index.php  의 다운로드 페이지에서 받을수가 있다. 여기에 가보면 WTP를 포함한 Eclipse또한 받을수 있으니 참고하기를 바란다.

모든걸 다 다운로드 받은 후엔 이젠 실행을 해서 하나의 프로젝트를 만들어보도록 하자. 보통 JSP&Servlet관련 프로젝트를 만들때에 쓰는것이 Dynamic Web Project를 생성해서 만드니 여기서도 그렇게 생성하여 테스트 해보도록 하자.

자~ 이것으로 Servlet을 쓰기위한 사전 준비 작업은 끝난 샘이다.
그러면 위의 프로젝트를 생성해서 어떻게 Servlet을 사용하는것일까?
그건 간단하다.
먼저 생성되어진 프로젝트에 즉 자바 파일을 묶어두는 프로젝트 명에서 마우스 우클릭을 하여 아래와 같은 화면을 나타내게 한다음 properties  선택하도록 하자.
사용자 삽입 이미지
Properties를 선택하면 그 프로젝트에 대한 설정 창이 나오게 되는데 여기에서 Java Build Path 메뉴를 클릭한 다음 Libraries 메뉴를 선택하도록 하자. 그럼 아래와 같은 화면을 확인할 수가 있다.
사용자 삽입 이미지
(화면이 잘 안보이면 클릭하여 보는 센스~!^^)

위의 메뉴를 확인 하였다면 Add External JARs를 선택하여 Tomcat이 인스톨된 디렉토리안 Common\lib 안에  servlet-api.jar  라는 파일을 확인할 수 있는데, 이 파일을 선택하여 추가하도록 한다.
사용자 삽입 이미지
(화면이 잘 안보이면 클릭하여 보는 센스~!^^)
추가를 하게되면 위와 같은 화면에 servlet-api.jar  를 확인할 수가 있을것이다. 그런 다음 OK를 눌러 추가를 하게 되면 생성된 프로젝트 내에서 Servlet을 사용 할 수 있을것이다.

그럼 모두 JSP&Servlet의 세계로 가보자구요~~~+_+


< 참고 도서 >
Head First Servlet&JSP

TRACKBACK 0 AND COMMENT 0
후아~~ 블로그를 만들었지만 꾸민다 꾸민다하는게 벌써 몇일이 흘러버린....

요즘은 학업 & 연구실일이 조금씩 생기는 바람에~~ 업데잇이 아주~ 많이 늦어버린거 같긴하지만~


그래도~!~!

다시 재 안정감을 찾은 이때~! 하나 둘 사진과 함께 생활기를 올리기로 다시 마음을 잡은 히로~

과연 이 바램은 이루어질것인가..........

기대하시라.......


Comming Soon~!~!~!~

TRACKBACK 0 AND COMMENT 0

ARTICLE CATEGORY

우당탕 세상사 (5)
여행기 (0)
히로의 일상 (3)
JSP (2)

RECENT TRACKBACK

CALENDAR

«   2008/08   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

ARCHIVE

LINK