본문 바로가기

카테고리 없음

Weblogic 11, OEPE를 이용한 Stateless Session Bean 작성 및 실행 테스트

웹모듈(Servlet, JSP)에서 무상태 세션빈(Stateless Session Bean)에 접근하는 예

사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지

위에서 사용된 @EJB(name="HelloSLSB")는  @EJB만 사용해도 된다.


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지



JSP에서 빈 객체에 접근하는 예

서블릿에서 빈 객체에 접근할 때에 @EJB(name="HelloSLSB")와 같은 방법으로 주입을 한 경우에는 다른 JSP에서도 동일한 이름을 이용하여 다음과 같은 방법으로 빈객체에 접근할 수 있게 된다 (Local접근인 경우)

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@page import="javax.ejb.EJB"%>
<%@ page import="com.itbank.ejb.test.*"%>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.rmi.*" %>

<%
 Context ctx = new javax.naming.InitialContext();
  Object obj = ctx.lookup("java:comp/env/HelloSLSB");
  HelloSLSBLocal bean = (HelloSLSBLocal)PortableRemoteObject.narrow(obj,HelloSLSBLocal.class);
   String msg = bean.sayHello();
%>


클라이언트가 EJB에 원격접속하는 경우는 여기를 참조하세요.


Servlet에서 JSP로 EJB 객체를 포워드하여 전달하는 예

package com.itbank.ejb.webclient;

import java.io.*;

import javax.ejb.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;

import com.itbank.ejb.test.*;
public class EJBClientServlet extends HttpServlet {
 
 private static final long serialVersionUID = 1L;

 @EJB(name="HelloSLSB")
 private HelloSLSBLocal helloBean;

 
 protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  
  int dan = Integer.parseInt(request.getParameter("dan"));
  
  /* 서블릿에서 JSP로 직접 EJB객체를 전달할 수도 있다 */
  request.setAttribute("helloBean", helloBean);
  
  /* 서블릿에서 EJB객체의 메소드를 호출하여 그 리턴된 데이터를 JSP에 전달할 수 있다*/
  request.setAttribute("message", helloBean.gugu(dan));
  
  /* 서블릿에서 JSP로 포워드한다 */
  getServletContext().getRequestDispatcher("/view.jsp").forward(request, response);
 }
}





view.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="com.itbank.ejb.test.*" %>
<%
      HelloSLSBLocal helloBean = (HelloSLSBLocal) request.getAttribute("helloBean");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>결과 페이지</title>
</head>
<body><center>
<% int dan = Integer.parseInt(request.getParameter("dan")); %>

<%-- 서블릿으로부터 포워드된 EJB객체를 사용하는 예 --%>
<%=helloBean.gugu(dan)%><hr>

<%=(String)request.getAttribute("message")%><hr>

${message}

</center>

</body>
</html>