● 관련문서 :


EJB는 '구조가 복잡한 대규모 분산 객체 환경'을 쉽게 구현하기 위해서 등장한 기술이다. 따라서 EJB를 사용하기 전에, 프로젝트가 분산 객체 환경을 필요로 하는지에 대한 고려가 반드시 필요하며 분산 객체 환경이 필요없는 경우에는 EJB를 사용해야할 필요가 없다고 해도 과언이 아니다. 하지만 EJB를 사용하면 시스템의 무조건적인 향사잉 있을 것이라는 잘못된 지식 떄문에 EJB가 등장한 초기에는 EJB 프로젝트를 무조건 사용하는 경우도 많았다.


EJB는 내부적으로, 분산 환경에 맞도록 동작하기 위해서 추가적인 과부하(OverHead)가 많이 발생한다. 그렇기 때문에 분산 객체 환경이 필요없는 경우에, EJB를 사용하게 되면 속도도 느리게 되고 비용도 많이 발생시킨다. 즉, EJB를 사용하려면 왜 분산 환경이 필요한지에 대한 확실한 이해가 필요하다.


분산 환경은 일반적으로, 비지니스 로직과 사용자 인터페이스를 분리시킴으로써 로직의 재활용성을 높이고 시스템 구조에 대한 유연성을 높이기 위해 필요하며, 로직의 재활용성과 시스템의 구조에 대한 유연성은 대규모 시스템일수록 중요하다. 즉, 대규모 시스템은 분산 환경을 필요로 하며 분산 환경을 쉽게 구축하도록 하기 위해서 EJB를 사용하는 것이다.


EJB를 현장에서 사용하려면 다음과 같은 내용을 반드시 알아야 한다.


  1. EJB는 속도를 높이려고 사용하는 것이 아니다. EJB는 분산 객체를 쉽게 구축하고 시스템의 유연성을 높이기 위해 만들어진 것이다. 분산 환경을 쉽게 구축하고 시스템의 유연성을 높이기 위해서 만들어진 것이다. 분산 환경을 쉽게 구축하고 시스템의 유연성을 높인다는 것은 속도와는 반비례한다. 그 이유는 분산 환경과 유연성을 높이기 위해 추가적인 과부하가 발생하기 때문이다.
  2. EJB는 안정적이다. EJB를 사용한다는 것은 EJB를 운용하기 위한 프레임워크(Framework-위키백과)를 사용한다는 의미다. EJB를 운용하는 프레임워크는 웹 프로그램과 EJB가 수행할 업무를 효율적으로 분산시켜주며 효율적으로 일이 분산됨으로써 시스템은 안정적으로 동작한다.
  3. EJB는 배우기 쉽다. 대신에, EJB를 쉽게 배우려면 자바 기본 프로그래밍, RMI, JSP/서블릿에 대한 내용을 알고 있어야 한다는 가정이 필요하다. EJB를 공부해보면 알겠지만 EJB 명세만 암기하더라도 EJB를 사용해서 쉽게 개발할 수 있다.
  4. EJB는 사용하기가 쉽지 않다. EJB는 앞서 말한 것처럼 배우기는 쉽다. 그렇다고 사용하기도 쉽다는 의미는 아니다. EJB를 잘못 사용할 경우 더 큰 문제점이 발생하기 떄문이다. EJB를 잘 사용하려면 분산 환경과 EJB의 특징에 대한 확실한 이해가 필요하다.

이 글은 스프링노트에서 작성되었습니다.

서블릿을 실행하려면 서블릿 소스의 작성과 컴파일, web.xml 파일의 수정과 같은 여러 작업이 이뤄져야한다.

 

1.서블릿 파일 작성

  1. package examples; // package로 지정
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;

    public class HelloWorldServlet extends HttpServlet {
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
            response.setContentType("text/html; charset=euc-kr");
            PrintWriter out = response.getWriter();
            out.println("<html>");
            out.println("<head><title>안녕하세요, Hello</title></head>");
            out.println("<body>안녕하세요. <br>Hello!! world!!!</body>");
            out.println("</html>");
        }
    }

 

2.setEnv.com 파일 실행

setEnv.cmd(Path 설정할 경우 setenv 만 실행해도 됨)

 

3.서블릿 파일 컴파일

  1. javac -d ../classes HelloworldServlet.java

 

4.web.xml 수정

  1. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
        <servlet>
            <servlet-name>helloworld</servlet-name>
            <servlet-class>examples.HelloWorldServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>helloworld</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>

    </web-app>

 

5.서블릿 실행

<servlet-mapping 요소 안에 지정한 것처럼 http://localhost:7001/hello로 요쳥하면 된다.

HelloWorldServlet.JPG

... ㅡㅅ-);; Eclipse에서 서블릿 실행할 때보다 더 귀찮다.... 흠냠...

이 글은 스프링노트에서 작성되었습니다.

+ Recent posts