본문 바로가기

프로그래밍/Java/Javascript/Html

ejb+eclipse+weblogic+jsp+servlet+Xdoct

eclipse 3.1.1 + wtp + weblogic 8.1 + Xdoct 1.2.3 + jsp + servlet

ejb을 Hello만들어 보자


<<설정 >>

1. weblogic을 설치하고 기본설정인 configuration wizard을 해준다.

2. 이클립스에 xdoct의 기본설정을 해준다, Window -> preference에서 xdoct을 설정

3.  이클립스에 weblogic을 기본설정을 해준다.


<<프로젝트실행>>

ejb소스(ejb책에 나와있는 소스를 수정)


 
 
 
이런식으로 만들면 된다.
 
1. EjB project을  만듬
2. ejb project에서 에서 ejbModule에서 ejb -xdoct을 생성한다.
    그러면 그림처럼 Hello~HelloUtil.java 자동생성됨
3.  소스 수정함
4.  weblogic에서 기본설정한 폴더에 jar파일 생성됨
 
5.  Dynamic web Project을 생성
     WebContent에서 lib폴더에 ejb에서 만든 jar파일을 넣어줌
     그리고 jsp파일 생성함
6.  Servlet파일을 만들고 싶으면 WebHello(2.3)라고 되어있는부분에서 클릭하면 Servlet을 생성할수있도록 되어있다. 에서 java소스를 만들어 컴파일함
7.  http://localhost:7001/HelloWeb/test.jsp을  이런식으로 하면 됨
 
<Source>
 
소스 수정한부분만 화면에 기록함
 
가. Hello.java
 
 public java.lang.String greet( java.lang.String to )throws java.rmi.RemoteException;
 
나. HelloHome.java
public hello.Hello create()  throws javax.ejb.CreateException,java.rmi.RemoteException;
 
다 . HellBean.java
            public String greet(String to) {
                    return "Hello" + to;
             }
라. test.jsp
 
      <body>
       <form method="post" action="HelloServlet">
       이름 : <input type="text" name="to">
       <br>
        <input type="submit" value="전송">
         </form>
        </body>
 
마. Servlet파일들(필요하면 직접사용)
  1. HelloServlet.java
 
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.naming.*;
import javax.rmi.*;
import hello.Hello;
import hello.HelloHome;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * Servlet implementation class for Servlet: HelloServlet
 *
 * @web.servlet
 *   name="HelloServlet"
 *   display-name="HelloServlet"
 *
 * @web.servlet-mapping
 *   url-pattern="/HelloServlet"
 * 
 */
public class HelloServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    /* (non-Java-doc)
  * @see javax.servlet.http.HttpServlet#HttpServlet()
  */
 HelloHome HH;
 public void init(ServletConfig conf)throws ServletException{
  super.init(conf);
  try{
   Context initial = new InitialContext();
   Object objref = initial.lookup("java:comp/dev/ejb/hello.HelloHome");
   HH = (HelloHome)PortableRemoteObject.narrow(objref,HelloHome.class);
   
  }catch(Exception e){
   e.printStackTrace();
  }
 }
 //public HelloServlet() {
  //super();
 //}    
 
 /* (non-Java-doc)
  * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  response.setContentType("text/html;charset=KSC5601");  
  PrintWriter out = response.getWriter();
  out.println("<html><head><title>");
  out.println("hello servlet </title></head>");
  out.println("<body>");
  out.println("다음 사이트에서 데이터를 입력해주세요 <br>");
  out.println("<a href='hello.html'>link</a>");
  out.println("</body></html>");
 }   
 
 /* (non-Java-doc)
  * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
 
  request.setCharacterEncoding("KSC5601");
  String to = request.getParameter("to");
  response.setContentType("text/html;charset=KSC5601");
  PrintWriter out = response.getWriter();
 
  out.println("<html><head><title>");
  out.println("hello servlet </title></head>");
  out.println("<body>");
  try{
   hello.Hello hellos = null;
   hello.HelloHome homes = hello.HelloUtil.getHome();
   hellos = homes.create();
   String msg = hellos.greet(to);
   out.println(msg);
   //hellos.remove();
   
  }catch(Exception e){
   e.printStackTrace(new PrintWriter(out));
  }
  out.println("</body></html>");
 }          
}