��5��@�f�[�^�x�[�X�̃u���E�U�����

�ێR�s��v
�t���k���w����w�w��
(http://www.wakhok.ac.jp/)
2001/7/24

�@����́AWeb�R���|�[�l���g���܂�J2EE�A�v���P�[�V����������Ă݂悤�Ǝv���܂��B���m�ɂ����΁A����̃A�v���P�[�V�����ɂ�Web�R���|�[�l���g�����܂܂�Ă��܂���B�g�����U�N�V�������������ɂȂ�悤�ȑ�K�͂Ȃ��̂łȂ���΁AJSP�����ł����낢��ȃA�v���P�[�V�����̊J�����”\�ł��Bdeploytool�̎g���������Ă݂悤�Ǝv���܂��B�쐬�ς݂̃A�v���P�[�V�����isystables.ear�j����������_�E�����[�h�ł��܂��B

 �e�[�u���E�u���E�U�����


�@�ŏ��ɁA����Љ��e�[�u���E�u���E�U�̋@�\�����Ă����܂��傤�B�y�[�W�̐擪��2�‚̃v���_�E���E���j���[������܂��B�����̃��j���[�ɂ́A�ڑ����Ă���f�[�^�x�[�X�̃e�[�u���̖��O�̈ꗗ���\������A�e�[�u����I�Ԃ��Ƃ��ł��܂��i�}1�j�B

�}1�@����쐬����e�[�u���E�u���E�U

�}2�@Attributes��\�������Ƃ���

�@�E���̃��j���[�ɂ́AContents��Attributes�Ƃ���2�‚̃I�v�V����������AContents��I�ׂΎw�肵���e�[�u���̓��e���\������AAttributes��I�ׂ΁A�e�[�u�����\�����鍀�ڂɂ‚��Ă̏�񂪓����܂�(�}2�j�B����́AJ2EE�ƈꏏ�ɒ񋟂���Ă���Java Pet Store�f���̃f�[�^���T���v���Ƃ��Ďg���Ă��܂����A���̃e�[�u���E�u���E�U�̋@�\�͔ėp�I�Ȃ��̂ł��B

�@

 �f�[�^�x�[�X�̃V�X�e���E�e�[�u����ǂ�

�@���̃A�v���P�[�V�����ł́A�f�[�^�x�[�X�ɑ΂���3�‚̎�ނ̌������s���邱�ƂɂȂ�܂��B��1�́A�f�[�^�x�[�X���̂��ׂẴe�[�u���̈ꗗ����錟���ł��B���̌��ʂ̓e�[�u������\������v���_�E���E���j���[�̍쐬�ɗ��p����܂��B��2�̌����́A�e�[�u�������w�肳���Contents�I�v�V�������I�΂ꂽ�ꍇ�ŁA��3�̌����́AAttributes�I�v�V�������I�΂ꂽ�ꍇ�ł��B�����̂����A��1�Ƒ�3�̌����ł́A��ʂ̃��[�U�[����`�����e�[�u���ł͂Ȃ��A�f�[�^�x�[�X�̃V�X�e���E�e�[�u���𗘗p���邱�ƂɂȂ�܂��B

�@

 �f�[�^�x�[�X����
  ���ׂẴe�[�u���̈ꗗ�����

�@�܂��A�f�[�^�x�[�X���̃e�[�u���ꗗ�̍��������Ă݂܂��傤�B����́A�f�[�^�x�[�X�Ƃ���J2EE�ƈꏏ�ɒ񋟂���Ă���uCloudscape�v���ɂ��Đ������Ă��܂����AOracle�ł�Sybase�ł��APostgreSQL�ł������悤�ȏ������”\�Ȃ̂ŁA�����̃f�[�^�x�[�X�𗘗p���Ă���l�́A���ЁA���킵�Ă݂Ă��������B

�@Cloudscape�ł́A�e�[�u���̏���SYSTABLES�Ƃ����e�[�u���Ɋi�[����Ă��܂��B�����Ă��̃f�[�^�x�[�X�ɂ͂��̃e�[�u��������͂��ł��BCloudscape�ł́A�e�[�u�����͐����ɂ́A�X�L�[�}���{"." �{�e�[�u�����Ƃ����`�ŊǗ�����Ă��܂��B�Ⴆ�΁A����SYSTABLES�Ƃ����e�[�u���̐������̂́A���̃e�[�u���̏�������SYS�X�L�[�}�̖��O�ŏC�����ꂽ�ASYS.SYSTABLES�Ƃ������ƂɂȂ�܂��BCloudscape���̃e�[�u������ӂɎw�肷�邽�߂ɂ́A�X�L�[�}���ŏC�����ꂽ�����ȃe�[�u�������K�v�ł��̂ŁA�ėp�I�ȃc�[���Ƃ��ẮA�X�L�[�}���t���Ńe�[�u�������l�����悤�Ǝv���܂��B

�@

 2�‚̃e�[�u���̃W���C����Alias�̗��p

�@������Ƃ��ẴX�L�[�}���́A���́ASYSTABLES�ɂ͂Ȃ���SYSSCHEMAS�Ƃ����e�[�u���ɂ���܂��B����2�‚̃e�[�u���́ASCHEMAID�Ƃ������ڂ����L���Ă��܂��B�ł�����A���̂悤��SELECT����2�‚̃e�[�u���̃W���C�������΁A�X�L�[�}���ƃe�[�u�������ꏏ�Ɋl�����邱�Ƃ��ł��܂��BFrom��̒��̏�������t��s�́A�e�[�u�����̕ʖ��ialias�j�Ƃ������̂ŁAWhere��ł̃W���C���̏����̂Ƃ���ō��ږ��̏C���ɗ��p����Ă��܂��B���̏C�����Ȃ��ƁA2�‚̃e�[�u���ɓ���SCHEMAID�Ƃ������O�̍��ڂ����݂��Ă���킯�ł�����A�ǂ̍��ڂ̂��Ƃ�������Ȃ��Ȃ�܂��̂ŁA���̏C���͕K�{�ł��B�e�[�u���������̂܂܍��ږ��̏C���Ɏg�����Ƃ��ł���̂ł����A�G�C���A�X���g�������ȒP�ł��B

SELECT SCHEMANAME, TABLENAME
  FROM SYS.SYSTABLES t, SYS.SYSSCHEMAS s
  WHERE t.SCHEMAID = s.SCHEMAID

�@

 HTML�Ńv���_�E���E���j���[�����ɂ�

�@����SELECT���œ���ꂽ��񂩂�A�v���_�E���E���j���[�����΂����̂ł����A�O�̂��߁AHTML��FORM�ł̃v���_�E���E���j���[�̍����𕜏K���Ă����܂��傤�B���傤�ǁA����̃T���v���̉E���̃��j���[�́AContents��Attributes�Ƃ���2�‚̌Œ肵���I�������������Ă��܂���̂ŁA��������Ă����܂��傤�BHTML�ŁA���̂悤�ȃR�[�h�ɂȂ�܂��BFORM��ACTION�����ɂ́A����FORM����Ăяo�����A�N�V�������L�q���܂��B���̗�ł́Ashowtable.jsp�Ɩ��t����ꂽ�ʂ�JSP���Ăяo���܂��B

<FORM METHOD="POST" ACTION="showtable.jsp">
  <select NAME="type">
    <option> Contents
    <option> Attributes
  </select>
  <INPUT TYPE="submit" VALUE="Show"><p>
</FORM>

�@���̗�́A<option>�ȉ��̕����ɁA��̃Z���N�g���Ŋl�����ꂽ�e�[�u���̖��O��u���Ă����΂����̂ł��B

�@

 �e�[�u���ꗗ�̃��j���[�����

�@����ŁAJSP�Ńe�[�u���ꗗ�̃v���_�E���E���j���[����鏀�����ł��܂����B���Ƃ́AcreateStatement()�AexecuteQuery( query )�Ƃ������AJDBC�̊�{�I�ȃ��\�b�h���g���Č������ʂ�ResultSet�Ƃ��Ċl�����A���ꂩ��K�v�ȍ��ڂ����Ԃɔ����o���Ă����΂����̂ł��B����́A���܂�ڂ����G��邱�Ƃ͂ł��܂��񂪁A�����ōs���Ă���̂́AJDBC�̏����Ƃ��Ă͒�^�I�Ȃ��̂ł��B

<FORM METHOD="POST" ACTION="showtable.jsp">
  Table
  <select NAME="table">
<%
  try{
    stmt = conn.createStatement();
    String query = "Select SCHEMANAME, TABLENAME "
    + " from SYS.SYSTABLES t, SYS.SYSSCHEMAS s"
    + " where t.SCHEMAID = s.SCHEMAID " ;
    ResultSet rs = stmt.executeQuery( query ); // �X�L�[�}���ƃe�[�u������
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@// �V�X�e���E�e�[�u�����猟������
    while( rs.next() ){
      String s0 = rs.getString( "SCHEMANAME");
      String s1 = rs.getString( "TABLENAME" );
      out.println("<option> " + s0 + "." + s1 ); // <option> �̌��ɁA
    } // �X�L�[�}���ƃe�[�u�������o�͂���
  }
  catch( SQLException e ){
    System.out.println( e );
  }
%>
  </select>
  

<select NAME="type">
    <option> Contents
    <option> Attributes
  </select>
  

<INPUT TYPE="submit" VALUE="Show"><p>
</FORM>

�@��������JSP�̃R�[�h�́A�ŏ��ɂ́AHTML��Java�̃R�[�h���������������Ȃ��̂Ɏv���邩������܂���B<%.....%>�Ɉ͂܂ꂽ������JDBC��Java�R�[�h���l�ߍ��܂�Ă��܂��BJSP�ł́A���������������A�u�X�N���v�g���b�g�iScriptlet�j�v�ƌĂ�ł��܂��B����Scriptlet�́A��Ɍ����悤�ɁA�V�X�e���E�e�[�u���ɃA�N�Z�X���ăf�[�^�x�[�X�̐����ȃe�[�u�������l�����铭�������Ă���̂ł����A�y�[�W�̕\���Ɍ����Ă����΁A����Scriptlet���������̂�out.println()�̕��������ł��B��̓I�ɂ́A<option> �e�[�u�����Ƃ�����������y�[�W�ɕ����o�͂��邱�ƂɂȂ�܂��B���̏o�͂��AFORM�Ńv���_�E���E���j���[�̕����̑I�������\������HTML�̃R�[�h�Ƃ��ĉ��߂���邱�ƂɂȂ�܂��B

�@

 2�‚̃y�[�W�Ԃ̃p�����[�^�̈����n��

�@����FORM�ɂ́A2�‚�select�iSQL��SELECT�Ƃ͈Ⴂ�܂��j���܂܂�Ă��܂��B�ŏ���table�Ƃ������O������select�ŁAoption SYS.SYSTABLES��2�–ڂ�type�Ƃ������O������select�ŁAoption Contents���I�������[Show]�{�^���������ꂽ�Ƃ��܂��傤�B���̂Ƃ��AACTION�Ŏw�肳�ꂽJSP�y�[�Wshowtable.jsp�ɁA���̂悤��Scriptlet������΁A���������I�������󂯎�邱�Ƃ��ł��܂��B���̏ꍇ�ɂ́Atable�Ƃ����ϐ��ɕ�����SYS.SYSTABLES���Atype�Ƃ����ϐ��ɕ�����Contents���Z�b�g����܂��B

<%
  table = request.getParameter("table");
  type = request.getParameter("type");
%>

�@
�P/3

J2EE�̊�b�i��5��j
�e�[�u���E�u���E�U�����
�@ J2EE�ł̃f�[�^�x�[�X�Ƃ̐ڑ�
�@ �e�[�u���E�u���E�U���C���X�g�[�������s����



�A�ړ��e
J2EE�̊�b
�@ ��1��@Java Pet Store�ŁAJ2EE��̌�����(1)
�@ ��2��@Java Pet Store�ŁAJ2EE��̌�����(2)
�@

��3��@J2EE�A�v���P�[�V�����Ɣz�u�ideployment�j

�@ ��4��@J2EE�A�v���P�[�V�������\������R���|�[�l���g
��5��@�f�[�^�x�[�X�̃u���E�U�����
�@ ��6��@EJB�ɂ�����R���e�i�ƃR���|�[�l���g
�@ ��7��@J2EE�̃Z�L�����e�B�̃L�z����m��
�@ ��8��@J2EE�̃g�����U�N�V��������


�A�ڋL���ꗗ




Java Agile �t�H�[���� �V���L��
��IT���[���}�K�W���@�V������X�^�b�t�̃R���������[���œ͂��܂��i�����j

���ڂ̃e�[�}

Java Agile �L�������L���O

�{�� ����