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 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 ¸Þ¼Òµå¸¦ È£ÃâÇÏ¿© °ªÀ» ÀúÀåÇÏ´Â ¾×¼ÇÀÔ´Ï´Ù.
À§ ¾×¼Ç ű״ ÀÌ¹Ì »ý¼ºÇÑ 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 ºóÁî°¡ ÀÚ¹Ù ³×ÀÌ¹Ö ·êÀ» µû¸£Áö ¾Ê´Â´Ù¸é ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù.
- ´ÙÀ½ °Á : °Ô½ÃÆÇ ¿¬½À
- ÀÌÀü °ÁÂ : JSP ¹®¹ý
