�O��u�������Ɠ��̓`�F�b�N�v�܂łŁA���̓`�F�b�N�̎d�g�݂��g�ݍ��܂ꂽ���L�u�b�N�}�[�N���o���オ��܂����B�{�A�ڂ̍ŏI��ƂȂ鍡��́A�\�����Ȃ������G���[�����������Ƃ��̃G���[�y�[�W�̕\�����@�ƁA�R�l�N�V�����v�[����p�����f�[�^�x�[�X�A�N�Z�X�̌������ɂ��ďq�ׁA�Ō�ɂ��̘A�ڂ̂܂Ƃ߂��s���܂��B
�@JSP�v���O�����̓����G���[�����������ꍇ�A�ʏ�ł̓G���[�̓��e���������b�Z�[�W���u���E�U�ɕ\������܂��B�J���҂ɂƂ��Ă͗L�v�ȏ��ł����A���̃��b�Z�[�W����ʃ��[�U�[�Ɍ����Ă��܂��ƁAJSP�v���O�����̓����\�����������Ă��܂��A�s�����������Ƃ�����܂��B
�@JSP�ł́A�����G���[�����������Ƃ��ɂǂ̃y�[�W��\�����邩���y�[�W�f�B���N�e�B�u�Ŏw��ł��܂��B���̎d�g�݂��g�p���邱�ƂŁA��ʃ��[�U�[�ɂ̓G���[�̏ڍׂ��B���Ȃ���A�Ǘ��҂̓G���[�̏ڍׂׂ���悤�ɂȂ�܂��B���R�̂��ƂȂ���A�G���[���O�̃`�F�b�N���d�v�ł����AWeb�y�[�W��ŊȒP�ɃG���[�̓��e���m�F�ł���d�g�݂͕֗��ł��B
�@����Љ��A�����G���[�ɑ��鏈���̗���͉��}�̂悤�ɂȂ�܂��B
�@�܂��A�\���y�[�W�̃f�B���N�e�B�u�Ɏ��̂悤�ɋL�q���܂��B
<%@ page contentType="text/html; charset=euc-jp" errorPage="/error_page.jsp" %>
�@errorPage="/error_page.jsp" �̋L�q�ɂ��A�G���[�����������Ƃ��ɂ́Aerror_page.jsp�̓��e���\�������悤�ɂȂ�܂��B
�@����A����error_page.jsp�ł́A�A�N�Z�X���ꂽ�����[�gIP�A�h���X���`�F�b�N���A���[�J��IP�ł���G���[�̏ڍׂ�\�����A�����łȂ����error_message.jsp�֍ēx�]�����A��ʃ��[�U�[�����̃G���[���b�Z�[�W��\������悤�ɂ��܂��B
�@����ł́A����e�X�g�p�Ɏ��̂悤�ȃG���[����������JSP�v���O�������쐬���Ă݂܂��B
1: <%@ page contentType="text/html; charset=euc-jp" errorPage="/error_page.jsp" %> 2: <% 3: // �G���[�̔�������� 4: Object nullObject = null; 5: out.println(nullObject.toString()); 6: %>
�@��L�̃v���O�����ɕ��@�I�Ȍ��͂���܂��A���̂����݂��Ȃ��inull�ł���j�I�u�W�F�N�gnullObject�ɑ��āA5�s�ڂ�toString()���\�b�h���Ăяo���Ă��邽�߁A����JSP�v���O�����ł͎��s����NullPointerException���������܂��B
�@���ɁA���ۂɃG���[�����������ꍇ�ɕ\������� error_page.jsp �����̂悤�ɍ쐬���Ă݂܂��B
1: <%@ page isErrorPage="true" contentType="text/html; charset=euc-jp" %> 2: <% 3: // �����[�gIP�A�h���X�����[�J��IP�łȂ������� errro_message.jsp �֓]�� 4: if(!request.getRemoteAddr().startsWith("192.168.")) { 5: %><jsp:forward page="error_message.jsp" /><% 6: } 7: %> 8: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 9: <html> 10: <head> 11: <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> 12: <title>�G���[</title> 13: </head> 14: <body> 15: ���̂悤�ȃG���[���������܂����B 16: <b><%= exception %></b><br> 17: <hr> 18: <pre> 19: <% exception.printStackTrace(new java.io.PrintWriter(out)); %> 20: </pre> 21: </body> 22: </html>
�@�G���[�����������Ƃ��ɕ\�������y�[�W�Ƃ��Ďg�p�����JSP�y�[�W�ł́A�f�B���N�e�B�u��
isErrorPage="true"
�̋L�q���s���܂��B
�@����ɂ��A���������G���[��exception�Ƃ����ÖكI�u�W�F�N�g�ɐݒ肳��܂��B���̃I�u�W�F�N�g���Q�Ƃ��邱�ƂŃG���[�̓��e��m�邱�Ƃ��ł��܂��B
�@error_page.jsp�ł́A���N�G�X�g�̃����[�gIP�A�h���X���擾���A���ꂪ�u192.168.�v�Ŏn�܂�ꍇ�̓��[�J���A�h���X�ł���Ɣ��f���A�G���[�̏ڍׂ�\�����邽�߂̏������s���܂��B�����łȂ��ꍇ�́A�O������̃A�N�Z�X�ł���ƔF�����A5�s�ڂ�error_message.jsp�֏�����]�����邱�ƂŁA��ʃ��[�U�[�����̃G���[���b�Z�[�W��\�����܂��B
�@�G���[�̓��e��16�s�ڂŕ\�����A
16: <b><%= exception %></b><br>
���̏ڍׂ�exception�I�u�W�F�N�g��printStackTrace ���\�b�h�ɂ��A
19: <% exception.printStackTrace(new java.io.PrintWriter(out)); %>
�̂悤�ɏo�͂����Ă��܂��B
�@�O������A�N�Z�X���Ă��郆�[�U�[�ɑ��ẮAerror_message.jsp�Ƃ�����ʓI�ȃG���[�\���p�̃y�[�W��\�������邱�Ƃɂ��܂��B�G���[�̏ڍׂ͂����ĕ\�������ɁA�Ǘ��҂֕���悤�Ɉ˗����܂��B���̃y�[�W�́A���̂悤�ȒP����HTML���Ƃ��č쐬���܂����B
1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2: <html> 3: <head> 4: <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> 5: <title>�G���[</title> 6: </head> 7: <body> 8: �G���[���������܂����B<br> 9: �Ǘ��҂���������B<br> 10: <br> 11: <a href="javascript:history.go(-1)">�߂�</a> 12: </body> 13: </html>
�@�ȏ�̂悤�ɂ���error_test.jsp�փA�N�Z�X����ƁA���[�J���A�h���X����A�N�Z�X�����ꍇ�Ɏ��̂悤�ȃ��b�Z�[�W���\������܂��B
�@�O������A�N�Z�X�����ꍇ�ɂ́A���̂悤�ȃ��b�Z�[�W���\������܂��B
�@�A�N�Z�X����IP�A�h���X�ɂ��A�\������G���[�̓��e���ւ��邱�Ƃ��ł��܂����B
Copyright © ITmedia, Inc. All Rights Reserved.