* ȸ¿ø°¡ÀÔ * ¾ÆÀ̵ð/ºñ¹Ð¹øÈ£ ã±â   ID PW
Last Modified : 2008.11.04

JSP ¿¹Á¦

JSP ¿¡¼­ ¿¡·¯ Çڵ鸵

JSP ´Â ¿À·ÎÁö ¿¡·¯¸¸À» ´Ù·ê ¼ö ÀÖ´Â JSP ÆäÀÌÁö¸¦ Á¦°øÇÏ¹Ç·Î½á ¿¡·¯¸¦ ´Ù·ê ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù.
¿¡·¯´Â ÁÖ·Î ·±Å¸ÀÓ ¿¡·¯°¡ ´ëºÎºÐÀε¥ À̰ÍÀº JSP ³»¿¡¼­³ª JSP ¿¡¼­ È£ÃâÇÑ °´Ã¼¿¡¼­ ¹ß»ýÇÕ´Ï´Ù.
JSP ³»¿¡¼­ Çڵ鸵 ÇÒ ¼ö ¾ø´Â ÀͼÁ¼ÇÀÌ ¹ß»ýÇÑ´Ù¸é ¼­ºí¸´ ÄÁÅ×À̳ʴ JSP ¿¡·¯ ÆäÀÌÁö·Î ¿äûÀ» Àü´ÞÇÕ´Ï´Ù. À̶§ ¹ß»ýÇÑ ÀͼÁ¼Ç °´Ã¼µµ ÇÔ²² Àü´ÞÇÕ´Ï´Ù.

JSP ¿¡·¯ ÆäÀÌÁö ½Ç½À

JSP ¿¡·¯ ÆäÀÌÁö¸¦ ¸¸µå´Â °ÍÀº °£´ÜÇÕ´Ï´Ù.
JSP ÆäÀÌÁö¸¦ ¸¸µé°í ÄÁÅ×À̳ʿ¡°Ô ÀÌ ÆäÀÌÁö°¡ ¿¡·¯ ÆäÀÌÁöÀÓÀ» ¾Ë¸®¸é µË´Ï´Ù.
À̰ÍÀº page Diretive ÀÇ isErrorPage ¼Ó¼ºÀ» true ·Î ¼ÂÆÃÇÏ¸é µË´Ï´Ù.
´ÙÀ½Àº ¿¡·¯ÆäÀÌÁöÀÇ ¿¹ÀÔ´Ï´Ù.

errorpage.jsp

<%@ page isErrorPage="true" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
    
    ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.<br />
  <%=exception.getMessage() %>
  

isErrorPage="true"

ÀÌ ÆäÀÌÁö°¡ ¿¡·¯ ÆäÀÌÁö¶ó´Â °ÍÀ» ÄÁÅ×À̳ʿ¡°Ô ¾Ë¸³´Ï´Ù.

<%=exception.getMessage() %>

¿¡·¯ ÆäÀÌÁö·Î Àü´ÞµÇ¾î ¿Â Exception ÀÇ ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇϴ ǥÇö½ÄÀÔ´Ï´Ù.
À̶§ exception À̶ó´Â ³»À簴ü¸¦ »ç¿ëÇÕ´Ï´Ù.
exception ³»À簴ü´Â page Diretive ¿¡¼­ isErrorPage ¼Ó¼ºÀÌ true ÀÎ JSP ÆäÀÌÁö¿¡¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿¡·¯ ÆäÀÌÁö°¡ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö ¾Ë¾Æº¸±â À§ÇØ ÀâÈ÷Áö ¾Ê´Â ÀͼÁ¼ÇÀ» ¹ß»ý½ÃŰ´Â °£´ÜÇÑ JSP ÆäÀÌÁö¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

testerror.jsp

<%@ page errorPage="errorpage.jsp" contentType="text/html; charset=EUC-KR"
	pageEncoding="EUC-KR"%>
<%
  if ( true ) {
    throw new Exception( "°íÀÇÀûÀ¸·Î ¹ß»ý½ÃŲ Exception" );
  }
%>

¿¡·¯ ÆäÀÌÁö¸¦ errorpage.jsp ·Î ¼ÂÆÃÇß½À´Ï´Ù.
ÀÌ·¸µí JSP ÆäÀÌÁö¿¡°Ô ¿¡·¯ ÆäÀÌÁö¸¦ ¾Ë¸®´Â ¹æ¹ýÀº page Directive ¿¡¼­ errorPage ¼Ó¼º°ªÀ» Á¤ÇØÁÖ´Â °ÍÀÔ´Ï´Ù.
¼Ó¼º°ª¿¡¼­ ¿¡·¯ ÆäÀÌÁöÀÇ À§Ä¡´Â ÇöÀç ÆäÀÌÁöÀÇ »ó´ë°æ·ÎÀÔ´Ï´Ù.
ÀÌ ¿¹Á¦À» ½ÇÇàÇØº¸±â À§Çؼ­´Â testerror.jsp ¿Í errorpage.jsp À» ¿ì¸®ÀÇ À¥ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ Á¸ÀçÇÏ´Â °°Àº µð·ºÅ丮¿¡ À§Ä¡½ÃŰ°í ¸ÕÀú testerror.jsp ¸¦ ¹æ¹®ÇÏ¿© Å×½ºÆ®ÇÕ´Ï´Ù.

JSP ¿¹Á¦

[¿¹Á¦¸¦ ½Ç½ÀÇϱ⿡ ¾Õ¼­ ÷ºÎ ÆÄÀÏ (example.zip)À» ´Ù¿î·Îµå ÇÑ ÈÄ ¿ì¸®ÀÇ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ Àû´çÇÑ µð·ºÅ丮¿¡ ¾ÐÃàÀ» DZ´Ï´Ù.]

1 include Directive ¸¦ ÀÌ¿ëÇÑ ÆÄÀÏ ÀÎŬ·çµå

ÆÄÀÏÀ§Ä¡ : ex1/
ÇÁ·Î±×·¥ °³¿ä: index.jsp ¿¡¼­ include Directive ¸¦ »ç¿ëÇÏ¿© subMenu.jsp À» Æ÷ÇÔ½ÃŰ´Â ¿¹Á¦ÀÔ´Ï´Ù.
¼Ò½º ¼³¸í : index.jsp ¼Ò½º¿¡¼­ ´ÙÀ½°ú °°ÀÌ subMenu.jsp ÆäÀÌÁö¸¦ ÀÎŬ·çµåÇÕ´Ï´Ù.

<%@ include file="subMenu.jsp" %>

À¯Áö º¸¼öÀÇ Æí¸®ÇÔ ¶§¹®¿¡ ÆäÀÌÁö¸¦ ±¸¼ºÇÏ´Â ºÎºÐÀ» ºÐ¸®ÇÑ ´ÙÀ½ include Directive ¸¦ »ç¿ëÇÕ´Ï´Ù.
À̶§ ÁÖÀÇÇØ¾ß ÇÒ »çÇ×Àº ÀÎŬ·çµå µÇ´Â ÆÄÀÏÀÎ subMenu.jsp ³»¿¡¼­ÀÇ ¸µÅ© ( ¿¹¸¦ µé¸é,<img src=..°ú °°Àº À̹ÌÁö ¸µÅ© )´Â ÀÎŬ·çµåÇÏ´Â ÆÄÀÏÀÎ index.jsp °¡ ±âÁØÀÌ µÇ¾î¾ß ÇÑ´Ù´Â Á¡ÀÔ´Ï´Ù.
¸¸¾à¿¡ index.jsp °¡ ex1/ ¿¡ À§Ä¡Çϰí subMenu.jsp ÆÄÀÏÀÌ ex1/inc ¿¡, ±×¸®°í À̹ÌÁö ÆÄÀÏÀÇ µð·ºÅ丮°¡ ex1/images ¶ó°í °¡Á¤ÇÑ´Ù¸é,
subMain.jsp ³»¿¡¼­ÀÇ À̹ÌÁö¿¡ ´ëÇÑ ¸µÅ©´Â <src img="images/image.gif" /> À̾î¾ß ÇÕ´Ï´Ù.
include Directive ¸¦ ÀÌ¿ëÇÏ´Â °æ¿ì¿¡´Â JSP ÆäÀ̰¡ ÇÕÃÄÁø ÈÄ ÇϳªÀÇ ¼­ºí¸´À¸·Î º¯È¯µÇ±â ¶§¹®ÀÔ´Ï´Ù.

2. Ŭ¶óÀÌ¾ðÆ®¿¡¼­ Form ű׸¦ ÀÌ¿ëÇØ¼­ º¸³»¿Â ÆÄ¶ó¹ÌÅÍ Ã³¸®

ÆÄÀÏÀ§Ä¡ : ex2/
ÇÁ·Î±×·¥ °³¿ä : index.jsp ¿¡¼­ ÆÄ¶ó¹ÌÅÍ id, passwd ¸¦ login_proc.jsp ¿¡ Àü´ÞÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù.
¼Ò½º ¼³¸í : index.jsp ¿¡¼­ <input type="text" name="id"/> ·Î login_proc.jsp ·Î id ÆÄ¶ó¹ÌÅ͸¦ Àü¼ÛÇß´Ù¸é login_proc.jsp ¿¡¼­´Â ´ÙÀ½ Äڵ带 »ç¿ëÇÏ¿© id ÆÄ¶ó¹ÌÅÍÀÇ °ªÀ» ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Àü´ÞµÈ ÆÄ¶ó¹ÌÅÍ(id,passwd)ÀÇ °ªÀ» ÀÌ¿ëÇØ¼­ µ¥ÀÌÅͺ£À̽º¿¡ Á¶È¸Çؼ­ ȸ¿øÁ¤º¸°¡ ÀÖ´Ù¸é User °´Ã¼¸¦ »ý¼ºÇÑ ´ÙÀ½ ÆÄ¶ó¹ÌÅÍ °ªÀ¸·Î User °´Ã¼¿¡ °ªÀ» ¼ÂÆÃÇÕ´Ï´Ù.
´ÙÀ½À¸·Î User °´Ã¼¸¦ ¼¼¼Ç¿¡ ÀúÀåÇÏ¸é ·Î±×ÀÎ °úÁ¤ÀÌ ¿Ï·áµË´Ï´Ù.

login_proc.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="net.java_school.user.User" %>

<%
  String id = request.getParameter( "id" );
  String passwd = request.getParameter( "passwd" );

  /* 
  µ¥ÀÌÅͺ£À̽º¿¡ id, passwd ¸¦ °¡Áø ȸ¿øÁ¤º¸°¡ ÀÖ´ÂÁö Á¶È¸ÇÏ°í ·ÎÁ÷ÀÌ ÇÊ¿ä.
  ¿©±â¼­´Â id, passwd ¿¡ ÇØ´çÇϴ ȸ¿øÁ¤º¸°¡ ÀÖ´Ù°í °¡Á¤.
  */
  User user = new User();
  user.setId(id);

  // ¼¼¼Ç °´Ã¼ »ý¼º ÈÄ User °´Ã¼¸¦ user ¶õ À̸§À¸·Î ÀúÀå
  session.setAttribute("user", user);
%>
<jsp:forward page="index.jsp" />

À§ ¿¹Á¦¸¦ ½ÇÇàÇϱâ À§Çؼ­´Â User.java(JSP ºóÁî)°¡ ÇÊ¿äÇÕ´Ï´Ù.
User.java ¸¦ ÀÛ¼ºÇÑ ÈÄ WEB-INF/classes ¿¡ ÀÚ¹Ù ¹ÙÀÌÆ®Äڵ尡 »ý¼ºµÇµµ·Ï ÄÄÆÄÀÏÇÕ´Ï´Ù.
¿¹Á¦¿¡¼­ ȸ¿øÅ×À̺íÀ» Á¶È¸ÇÏ´Â µ¥ÀÌÅͺ£À̽º ¿¬µ¿ Äڵ尡 ÇÊ¿äÇÏÁö¸¸ °£´ÜÇÑ ¿¹Á¦¸¦ À§ÇØ ±¸ÇöÇÏÁö ¾Ê¾Ò½À´Ï´Ù.

User.java

package net.java_school.user;

public class User {

	private String id;
	private String passwd;
	
	public String getId() {
		return id;
	}
	
	public void setId ( String id ) {
		this.id = id;
	}
	
	public String getPasswd() {
		return passwd;
	}
	
	public void setPasswd ( String passwd ) {
		this.passwd = passwd;
	}
	
}

3. ÆÄ¶ó¹ÌÅÍ °ªÀ» JSP ºóÁî¿¡ ¼³Á¤ÇÏ°í °ª °¡Á®¿À±â (set / get)

ÆÄÀÏÀ§Ä¡ : ex3/
ÇÁ·Î±×·¥ °³¿ä: login_proc.jsp ¿¡¼­ index.jsp ¿¡¼­ ³Ñ¾î¿Â ÆÄ¶ó¹ÌÅÍ id, passwd ¸¦ ¹ÞÀº ÈÄ¿¡ ÀÌ °ªÀ» net.java_school.user.User °´Ã¼¿¡ ÀúÀåÇÕ´Ï´Ù.
ex2/ ¿Í °°Àº ³»¿ëÀÌÁö¸¸ À̹ø¿¡´Â Ç¥ÁØ¾×¼Ç Å±׸¦ »ç¿ëÇÏ¿© ±¸ÇöÇÑ ¿¹ÀÔ´Ï´Ù.

login_proc.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="net.java_school.user.User" %>
<jsp:useBean id="user" scope="session" class="net.java_school.user.User" />
<jsp:setProperty name="user" property="*"/>
<jsp:forward page="index.jsp" />

<jsp:useBean>Àº login_proc.jsp °¡ ¿äûµÇ¸é id °¡ user À̰í scope ÀÌ session ÀÎ °´Ã¼¸¦ ã¾Æ¼­ ·¹ÆÛ·±½º¸¦ ¸®ÅÏÇÏ·Á ÇÕ´Ï´Ù.
½±°Ô Ç®ÀÌÇϸé session °´Ã¼¿¡¼­ user ¶õ ۰ªÀ¸·Î ÀúÀåµÈ °´Ã¼¸¦ ã½À´Ï´Ù.
¸¸¾à user ¶õ ۰ªÀ¸·Î ÀúÀåµÈ °´Ã¼°¡ session ¿¡ ¾øÀ¸¸é net.java_school.user.User Ŭ·¡½º·ÎºÎÅÍ °´Ã¼¸¦ »ý¼ºÇÏ¿© session ¿¡ id ¼Ó¼ºÀÇ °ªÀ» ۰ªÀ¸·Î sessoin ÀúÀåÇÕ´Ï´Ù.

µÎ¹øÂ° Ç¥Áؾ׼ÇÀÎ <jsp:setProperty>´Â ³Ñ¾î¿Â ÆÄ¶ó¹ÌÅͰªÀ¸·Î JSP ºóÁîÀÇ setter ¸Þ¼Òµå¸¦ È£ÃâÇÏ¿© °ªÀ» ÀúÀåÇÏ´Â ¾×¼ÇÀÔ´Ï´Ù.

<jsp:setProperty name="user" property="*"/>

À§ ¾×¼Ç ű״ ÀÌ¹Ì »ý¼ºÇÑ User ºóÀÇ setId() ¸Þ¼Òµå¿Í setPasswd() ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù.
setter ¸Þ¼ÒµåÀÇ ÀÎÀÚ°ªÀº ¸Þ¼ÒµåÀÇ À̸§°ú ¸ÅĪµÇ´Â ÆÄ¶ó¹ÌÅÍÀÇ °ªÀÌ ¿À°Ô µË´Ï´Ù.

JSP/JSP ºóÁî ÄÚµå
index.jsp <input type="text" name="id" />
login_proc.jsp <jsp:setProperty name="login" property="id" />
User.java set Id (String id)

¿©±â¼­ JSP ºóÁîÀÇ setId ¸Þ¼Òµå¿¡¼­ Id °¡ ´ë¹®ÀÚÀÎ °Í¿¡ ÀDZ¸½ÉÀ» °¡Áú ¼öµµ Àִµ¥ ÀÌ´Â ÀÚ¹Ù ¾ð¾îÀÇ ³×ÀÌ¹Ö ·ê¿¡ ÀÇÇÑ °ÍÀÔ´Ï´Ù.
ÀÚ¹Ù ¾ð¾î´Â ¸Þ¼Òµå³ª º¯¼öÀÇ À̸§À» ÀÛ¼ºÇÒ ¶§ ù ±ÛÀÚ´Â ¼Ò¹®ÀÚ·Î ½ÃÀÛÇÏ°í ¿©·¯ ´Ü¾î°¡ ºÙÀ» ¶§´Â ´Ü¾îÀÇ Ã¹±ÛÀÚ´Â ´ë¹®ÀÚ·Î ÇÔÀ» ±Ç°íÇÕ´Ï´Ù.
Ŭ·¡½ºÀÇ ÀÛ¸í ±ÔÄ¢Àº ù ±ÛÀÚ´Â ´ë¹®ÀÚÀÎ °Í¸¸ »©°í ¸Þ¼Òµå ÀÛ¸í ±ÔÄ¢°ú °°½À´Ï´Ù.
Ç¥ÁØ¾×¼Ç Å±׸¦ »ç¿ëÇÒ ¶§ JSP ºóÁî°¡ ÀÚ¹Ù ³×ÀÌ¹Ö ·êÀ» µû¸£Áö ¾Ê´Â´Ù¸é ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù.