�@�A�ڑ�1��́uEclipse��Java��App Engine���n�߂邽�߂̊�b�m���v�ł͊��ݒ肪���S�ł������A����Google App Engine for Java�i�ȉ��AGAEj�j�̎��H�I�ȃv���O���~���O�ɓ����Ă����܂��B
�@�uGAEj�łǂ�Ȃ��Ƃ��ł���̂��v�ɂ��ẮA��1��̍ŏ��ɊT�v���Љ�Ă��܂����A����͂��̒��ł�Google�̋���f�[�^�X�g�A�uBigtable�v�ւ̃A�N�Z�X�𒆐S�ɏЉ�AJSP���g�p������ʕ\����Google�A�J�E���g�ւ̃T�C���C��/�A�E�g�A���O�o�͂Ȃǂɂ��G��Ă����܂��B
�@�Ƃ���ŁA���̌��e�������I���邱��i2009�N5��13���j��GAE��Java SDK 1.2.1�̃����[�X���u���O�Ō��J����A���̃o�O�t�B�b�N�X���ڂ̒��ɁA�uJSP�ł�UTF-8�����R�[�h����\���v�������Ă��܂����B
�@����1.2.1�Ƀo�[�W�����A�b�v���Ċm�F���Ă݂��Ƃ���A�m���ɂ���܂ł�JSP�ł̕��������͉�������āA���{�ꂪ����ɕ\�������悤�ɂȂ�܂����B�]���č����JSP�T���v���ł́A�ȑO�̃o�[�W�����ł̓��{�ꕶ�������̖�肩��p���ʼn�ʕ\�����s���\��ł������A�}������{��\���ɕύX���Ă��܂��B�Ȃ��{�A�ڂł́A�����R�[�h�Ƃ���UTF-8��I�Ɏg�p���Ă����܂��B
�@�܂��́A����̃T���v�������Ă݂܂��傤�B
�@�}1�̏����\����ʂŁu�T�C���C���v�̃����N���N���b�N����ƁA�}2��Google�T�C���C����ʂ��\������܂��B�Ȃ��A���[�J��PC�̃e�X�g���Ŏ��s�����ꍇ�͐}3�̂悤�ȕ\���ɂȂ�܂��B
�@���ɁA�}2����T�C���C���������s���ƁA�}4�̉�ʂ��\������܂��B
�@�}4�̉�ʂ̓T�C���C����̉�ʕ\���ŁA�Ԃ��g�����̕�����������ʂƈ���Ă��܂��B���ɁA���̉�ʂŃe�L�X�g����͂��A�uPost Greeting�v�{�^�����N���b�N����ƁA�T�[�u���b�g�Ƀ��N�G�X�g�����M����܂��B
�@���̃T���v���̃v���O����������JSP�ƃT�[�u���b�g�ōs���Ă��܂��BJSP�ł́AGoogle�A�J�E���g�ւ̃T�C���C���^�A�E�g�������s���A�e�L�X�g�{�b�N�X�ɓ��͂��ꂽ�f�[�^���T�[�u���b�g�ɑ��M���܂��B�T�[�u���b�g�́AJSP���瑗�M����Ă������e�������O���o�͂��܂��B
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="com.google.appengine.api.users.User" %> // �y1�z
<%@ page import="com.google.appengine.api.users.UserService" %> // �y1�z
<%@ page import="com.google.appengine.api.users.UserServiceFactory" %> // �y1�z
<html>
<body>
<%
UserService userService = UserServiceFactory.getUserService(); // �y2�z
User user = userService.getCurrentUser(); // �y2�z
if (user != null) {
%>
<p>������ <%= user.getNickname() %>! (��������<a href="<%= userService.createLogoutURL(request.getRequestURI()) %>">�T�C���A�E�g</a>�ł��܂��B�j</p> // �y3�z
<%
} else {
%>
<p>�����́I<a href="<%= userService.createLoginURL(request.getRequestURI()) %>">�T�C���C��</a>����Ƒ��M���b�Z�[�W���T�C���C�����t�ŕ\������܂��B</p> // �y4�z
}
%>
<form action="/sign" method="post"> // �y5�z
<div><textarea name="content" rows="3" cols="60"></textarea></div> // �y5�z
<div><input type="submit" value="���b�Z�[�W���M" /></div> // �y5�z
</form> // �y5�z
</body>
</html>
�@���X�g1�̒��ŁA�y1�z�`�y4�z�̓T�C���C���ɊW���镔���ŁA�y5�z�̓f�[�^���M�ɊW���Ă��܂��B���̃v���O�����̏����̗�����y1�z�`�y5�z�̃u���b�N���ƂɌ��Ă����܂��B
�@GAEj�̃T�C���C���@�\���g�p����ꍇ�́A�y1�z��import����com.google.appengine.api.users�p�b�P�[�W����uUser�v�uUserService�v�uUserServiceFactory�v��3�̃N���X�t�@�C�����C���|�[�g���܂��B
�@JSP�����s�����ƁA�ŏ��Ƀt�@�N�g���N���XUserServiceFactory��getUserService()���\�b�h��UserService�^�̃C���X�^���XuserService�����A����userService��getCurrentUser()���\�b�h�ŃT�C�����[�U�[�����擾���܂��B
�@if�����f�ŁuUser�v��null�łȂ��ꍇ�A�܂�T�C���C����́A�T�C���C�����[�U�[���ƃT�C���A�E�g�̃����N�����L�̂悤�ɕ\�����܂��B
�@�T�C���C�����Ă��Ȃ��ꍇ��userService.createLoginURL()���\�b�h�Ŏ擾�����T�C���C����ʂ̃����N���A�u�����́I �c�c����Ƒ��M�c�c�v�Ƃ����������Ƒg�ݍ��킹�āA���L�̂悤�ɕ\�����܂��B�����\���ł́A�����炪�\������܂��B
�@�Ō�ɁA�y5�z��if�������ɊW�Ȃ��\�������e�L�X�g���̓G���A�ƁA�u���b�Z�[�W���M�v�̑��M�{�^���ɂȂ��Ă��āA���ǁA������ʕ\���͐}1�̂悤�ɂȂ�܂��B
�@���y�[�W�ł́A�T�[�u���b�g�ł̃��O�o�͏����ɂ��ĉ�����ABigtable�𑀍삷��GAEj�A�v���P�[�V�������쐬���Ă����܂��B
Copyright © ITmedia, Inc. All Rights Reserved.
��IT eBook
�ҏW������̂��m�点