Clean Code that Works.

그냥 이리 저리 공부하면서 연구실 홈페이지 만들며 정리도 할겸 만들어 보았다.

설계도 완벽하지 않고
그냥 공부하면서 기능 하나씩 첨부해서 진행 할 생각이다.

이클립스 3.4 가니메데 에다가 플렉스 빌더 플러그인 설치하고.
라이프사이클 설치, 톰캣 6.0, mysql 로 작업을 진행하는 중이다.

메인 화면에서 회원 가입을 눌르면 새 창이 팝업 되면서 회원 가입창을 보여주는 형식이다.

메인 화면


저기 로그인 옆에 regist member를 누르게 되면 아래와 같은 팝업창이 생성된다.
var _register:Register = Register(PopUpManager.createPopUp(this, Register, true));
PopUpManager.centerPopUp(_register);
Register라는 컴포넌트를 미리 만들어 주고 PopUpManager를 통해 팝업 창을 호출한다.
PopUpManager.removePopUp(this);
창을 닫을 때는 위 함수를 팝업창에서 호출해 주면 된다.

회원 가입 팝업창 Register





데이터 베이스와 연결하는게 좀 시간이 걸렸다.
services-config.xml 파일을 변경 했는데 변경 사항이 적용되지 않아서 -_-;;

services-config.xml 파일에 추가하여야 할 코드.
amf 부분에 추가 하여야 한다.
my-amf의 url 끝(/amf 를 /amf2로 바꾸는 것을 잊지 말아야 한다.)
<channel-definition id="dblab-amf-channel" class="mx.messaging.channels.AMFChannel">
            <endpoint url="http://{server.name}:{server.port}/DBLab.net/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
            <properties>
                <polling-enabled>false</polling-enabled>
            </properties>
</channel-definition>

remoting-config.xml에 추가하여야 할 코드
<default-channels>
        <channel ref="dblab-amf-channel"/>
        <channel ref="my-amf"/>
</default-channels>
   
<destination id="register">
        <properties>
            <source>register.RegisterImpl</source>
        </properties>
</destination>

일단 이렇게 하면 플렉스에서의 설정은 끝난다.

그다음에 해야할 것이 데이터베이스와 연결하는 자바 코드를 작성해야 한다.

RegisterImpl의 회원 가입 코드
public void doRegister(ArrayList<HashMap<String, String>> member) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/DBLab?characterEncoding=UTF-8";
            String id = "root";
            String password = "root";
            Connection conn = DriverManager.getConnection(url, id, password);
            Statement stmt = conn.createStatement();
            String sql = "insert into member(MEMBER_email, MEMBER_password, MEMBER_name)" +
                            " values('" + member.get(0).get("email") + "', '" + member.get(0).get("password") + "', '" +
                             member.get(0).get("name") + "')";
            stmt.close();
            conn.close();
        } catch (Exception e) {
            System.out.println(e);
        } finally {
           
        }
       
    }

아 심플해~
나중에 좀 더 이해도가 올라가면 ibatis나 hibernate를 적용해 봐야겠다.

잘 모르는건 댓글달아 주셔요.