Struts °Ô½ÃÆÇ (»ó¼¼º¸±â,¼öÁ¤,»èÁ¦,»õ±Û¾²±â)
1. »ó¼¼º¸±â (view.do ¿äû)
| ¿äû¸í | view.do |
| Æûºó | GulForm |
| ¾×¼Ç Ŭ·¡½º | ViewAction |
»ó¼¼º¸±â ¿äû »Ó¸¸ ¾Æ´Ï¶ó ¼öÁ¤È¸é ¿äû, ¼öÁ¤Ã³¸® ¿äû,»èÁ¦Ã³¸® ¿äû, »õ±Û¾²±âÈ¸é ¿äû,»õ±Ûó¸® ¿äû ¿¡¼µµ ÀÌ¿ëÇϱâ À§ÇØ
¾Æ·¡¿Í °°Àº GulForm ÆûºóÀ» ¸¸µé¾ú½À´Ï´Ù.
¿©±â¼ ÁÖÀÇ ±í°Ô ºÁ¾ß ÇÒ ºÎºÐÀº gulValue ¸â¹öº¯¼öÀÇ Å¸ÀÔÀÌ °Ô½Ã±Û Çϳª¸¦ ³ªÅ¸³»´Â Gul °´Ã¼ ŸÀÔÀ̶ó´Â °ÍÀÔ´Ï´Ù.
ÀÌÁ¦ GulForm ÀÇ ¸â¹öÀÎ gulValue ÀÇ ¸â¹ö(gulno,subject,content,signdate,ref,bcode)
¿¡ ÀÚµ¿ÀûÀ¸·Î °ªÀÌ ÀÔ·ÂµÇ°Ô ÇÏ·Á¸é ¾î¶»°Ô ÆÄ¶ó¹ÌÅͰ¡ Àü´ÞÇÏ¿©¾ß ÇÏ´ÂÁö list.jsp ±¸Çö Äڵ忡¼ ÁÖ¸ñÇØ¼ ºÁ¾ß ÇÕ´Ï´Ù.
list.jsp
.. Áß°£ »ý·« .. <form id="frmView" name="frmView" action="view.do" method="post"> <input type="hidden" name="gulValue.gulno" /> <input type="hidden" name="gulValue.bcode" value="<%=board %>" /> <input type="hidden" name="curPage" value="<%=curPage %>" /> </form> .. Áß°£ »ý·« ..
GulForm.java
package com.dadam.form;
import org.apache.struts.action.ActionForm;
import com.dadam.board.*;
public class GulForm extends ActionForm {
private Gul gulValue = new Gul();
private int curPage;
public Gul getGulValue() {
return gulValue;
}
public void setGulValue(Gul gul) {
this.gulValue = gul;
}
public int getCurPage() {
return curPage;
}
public void setCurPage(int curPage) {
this.curPage = curPage;
}
}
gulForm ¿¡¼ gulno ¸¦ gulValue ¸â¹ö¸¦ ÀÌ¿ëÇØ¼ ÃßÃâÇϰí ÀÖ½À´Ï´Ù.
»¡°£»öÀ¸·Î °Á¶µÈ ºÎºÐÀ» º¸¸é execute ¸Þ¼ÒµåÀÇ ÆÄ¶ó¹ÌÅÍ·Î µé¾î¿Â ActionMapping ¸¦ °¡Áö°í view ¶õ À̸§À¸·Î ActonForward
¸¦ ã°í ÀÖ´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.
ViewAction.java
package com.dadam.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.dadam.board.GulManager;
import com.dadam.form.*;
public class ViewAction extends Action {
public ActionForward execute (
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// Parameter
GulForm gulForm = (GulForm) form;
GulManager gulManager = new GulManager();
int no = gulForm.getGulValue().getGulno();
gulForm.setGulValue( gulManager.findGul( no ) );
return mapping.findForward("view");
}
}
»õ·Ó°Ô ¸¸µç ÆûºóÀ̹ǷΠform-beans ¿¤¸®¸ÕÆ®ÀÇ ÀÚ½Ä ¿¤¸®¸ÕÆ®°¡ µÇµµ·Ï ¾Æ·¡ Äڵ带 struts-config.xml ¿¡ Ãß°¡ÇÕ´Ï´Ù.
struts-config.xml
<form-bean name="gulForm" type="com.dadam.form.GulForm" />
action ¿¤¸®¸ÕÆ®¸¦ action-mappings ÀÚ½Ä ¿¤¸®¸ÕÆ®°¡ µÇµµ·Ï struts-config.xml ¿¡ Ãß°¡ÇÕ´Ï´Ù.
»¡°£»öÀ¸·Î °Á¶µÈ view´Â ViewAction ¿¡¼ ÇØ´ç ActionForward ¸¦ ã±â À§ÇÑ °ªÀÔ´Ï´Ù.
struts-config.xml
<action
path="/view"
type="com.dadam.action.ViewAction"
name="gulForm"
scope="request"
unknown="false"
validate="false">
<forward
name="view"
path="/struts/view.jsp"
redirect="false"
/>
</action>
»ó¼¼º¸±â ¿äûÀÇ ºäÀÎ view.jsp ÀÔ´Ï´Ù.
Äڵ忡¼ gulForm ÀÎ Àü´ÞµÇ´Â °ÍÀ» È®ÀÎÇϼ¼¿ä
ÀÌ·¸µí ÆûºóÀº HttpServletRequest¿¡ ÀúÀåµÇ¾î ºä±îÁö Àü´ÞµË´Ï´Ù.
view.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import="java.sql.*" %>
<%@ page import="net.java_school.util.Log" %>
<%@ page import="com.dadam.board.*" %>
<%@ page import="com.dadam.form.*" %>
<%
GulForm gulForm = (GulForm) request.getAttribute("gulForm");
String board = gulForm.getGulValue().getBcode();
int number = gulForm.getGulValue().getGulno();
int curPage = gulForm.getCurPage();
Gul gul = gulForm.getGulValue();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitonal.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR" />
<title>Struts °Ô½ÃÆÇ : »ó¼¼º¸±â</title>
<script language="javascript">
function goList() {
var form = document.getElementById("frmList");
form.submit();
}
function goModify() {
var form = document.getElementById("frmModify");
form.submit();
}
function goDelete() {
var chk = confirm('Á¤¸»·Î »èÁ¦ÇϽðڽÀ´Ï±î?');
if ( chk ) {
var form = document.getElementById("frmDelete");
form.submit();
}
}
</script>
</head>
<body>
<p>
Á¦¸ñ : <%=gul.getSubject() %><br />
µî·ÏÀÏ : <%=gul.getSigndate() %><br />
Á¶È¸¼ö : <%=gul.getRef() %><br />
º»¹® : <%=gul.getContent().replaceAll("\n", "<br />") %>
</p>
<p>
<input type="button" value="¸ñ·Ï" onclick="javascript:goList()" />
<input type="button" value="¼öÁ¤" onclick="javascript:goModify()" />
<input type="button" value="»èÁ¦" onclick="javascript:goDelete()" />
</p>
<div id="form-grp">
<form id="frmList" name="frmList" action="list.do" method="post">
<input type="hidden" name="board" value="<%=board %>" />
<input type="hidden" name="curPage" value="<%=curPage %>" />
</form>
<form id="frmModify" name="frmModify" action="modify_form.do" method="post">
<input type="hidden" name="gulValue.gulno" value="<%=number %>" />
<input type="hidden" name="gulValue.bcode" value="<%=board %>" />
<input type="hidden" name="curPage" value="<%=curPage %>" />
</form>
<form id="frmDelete" name="frmDelete" action="delete.do" method="post">
<input type="hidden" name="gulValue.gulno" value="<%=number %>" />
<input type="hidden" name="gulValue.bcode" value="<%=board %>" />
<input type="hidden" name="curPage" value="<%=curPage %>" />
</form>
</div>
</body>
</html>
2. ¼öÁ¤È¸é ¿äû
| ¿äû¸í | modify_form.do |
| Æûºó | GulForm |
| ¾×¼Ç Ŭ·¡½º | ModifyFormAction |
ModifyFormAction.java
package com.dadam.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.dadam.board.GulManager;
import com.dadam.form.*;
import net.java_school.util.*;
public class ModifyFormAction extends Action {
public ActionForward execute (
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
GulForm gulForm = (GulForm) form;
GulManager gulManager = new GulManager();
Gul gul = gulManager.findGul( gulForm.getGulValue().getGulno() );
gulForm.setGulValue( gul );
return mapping.findForward("modify_form");
}
}
struts-config.xml
<action
path="/modify_form"
type="com.dadam.action.ModifyFormAction"
name="gulForm"
scope="request"
unknown="false"
validate="false">
<forward
name="modify_form"
path="/struts/modify_form.jsp"
redirect="false"
/>
</action>
modify_form.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import="java.sql.*" %>
<%@ page import="net.java_school.util.Log" %>
<%@ page import="com.dadam.board.*" %>
<%@ page import="com.dadam.form.*" %>
<%
GulForm gulForm = (GulForm) request.getAttribute("gulForm");
String board = gulForm.getGulValue().getBcode();
int number = gulForm.getGulValue().getGulno();
int curPage = gulForm.getCurPage();
Gul gul = gulForm.getGulValue();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitonal.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR" />
<title>Struts °Ô½ÃÆÇ : ¼öÁ¤È¸é</title>
<script language="javascript">
function checking() {
var form = document.getElementById("frmModify");
var subject = document.forms.frmModify.elements[3];
var content = document.forms.frmModify.elements[4];
if ( subject.value.length == 0) {
alert("Á¦¸ñÀ» ÀÔ·ÂÇϼ¼¿ä");
subject.focus();
return;
}
if ( content.value == '') {
alert("º»¹®À» ÀÔ·ÂÇϼ¼¿ä");
content.focus();
return;
} else {
if ( content.value.length > 6000 ) {
alert("6000ÀÚ ÀÌ»óÀº ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.!");
return;
}
}
form.submit();
}
function goView() {
var form = document.getElementById("frmView");
form.submit();
}
</script>
</head>
<body>
<form id="frmModify" name="frmModify" action="modify.do" method="post">
<input type="hidden" name="gulValue.signdate" value="<%=gul.getSigndate() %>" />
<input type="hidden" name="gulValue.gulno" value="<%=number %>" />
<input type="hidden" name="gulValue.bcode" value="<%=board %>" />
<input type="hidden" name="curPage" value="<%=curPage %>" />
Á¦¸ñ : <input type="text" name="gulValue.subject" value="<%=gul.getSubject() %>" />
<br />
º»¹® : <br />
<textarea name="gulValue.content" cols="30" rows="10">
<%=gul.getContent() %>
</textarea>
<br />
<input type="button" value="Àü¼Û" onclick="javascript:checking()" />
<input type="button" value="»ó¼¼º¸±â" onclick="javascript:goView()" />
</form>
<div id="form-grp">
<form id="frmView" name="frmView" action="view.do" method="post">
<input type="hidden" name="gulValue.gulno" value="<%=number %>" />
<input type="hidden" name="gulValue.bcode" value="<%=board %>" />
<input type="hidden" name="curPage" value="<%=curPage %>" />
</form>
</div>
</body>
</html>
3. ¼öÁ¤Ã³¸®
| ¿äû¸í | modify.do |
| Æûºó | GulForm |
| ¾×¼Ç Ŭ·¡½º | ModifyAction |
¼öÁ¤Ã³¸®¸¦ Å×½ºÆ®Çϸé ÇѱÛÀÌ ±úÁý´Ï´Ù.
¾Æ·¡ 8. ÇÊÅÍ »ç¿ë .. ¿¡ ÇØ°á¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
ModifyAction.java
package com.dadam.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.dadam.board.Gul;
import com.dadam.board.GulManager;
import com.dadam.form.*;
public class ModifyAction extends Action {
public ActionForward execute (
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// Parameter
GulForm gulForm = (GulForm) form;
GulManager gulManager = new GulManager();
Gul gul = gulForm.getGulValue();
int success = gulManager.update( gul );
if ( success > 0 ) {
//return mapping.findForward("success");
StringBuffer path = new StringBuffer();
path.append("view.do?gulValue.gulno=");
path.append(gul.getGulno());
path.append("&gulValue.bcode=");
path.append(gul.getBcode());
path.append("&curPage=");
path.append(gulForm.getCurpage());
return new ActionForward ( path.toString(), true );
// ¼öÁ¤ÈÄ Á¶È¸¼ö°¡ 0 ÀÌ µÇÁö ¾Êµµ·Ï Çϱâ À§Çؼ´Â À§¿Í °°ÀÌ ±¸ÇöÇÒ ¼ö ¹Û¿¡ ¾ø´Ù.
} else {
return mapping.findForward("failure");
}
}
}
struts-config.xml
<action
path="/modify"
type="com.dadam.action.ModifyAction"
name="gulForm"
scope="request"
unknown="false"
validate="false">
<forward
name="success"
path="/struts/view.jsp"
redirect="false"
/>
<forward
name="failure"
path="/struts/modify_form.jsp"
redirect="false"
/>
</action>
4. »èÁ¦Ã³¸®
| ¿äû¸í | delete.do |
| Æûºó | GulForm |
| ¾×¼Ç Ŭ·¡½º | DeleteAction |
»èÁ¦Ã³¸®ÇÑ ´ÙÀ½ ¸ñ·Ïº¸±â·Î À̵¿ÇØ¾ß ÇÕ´Ï´Ù.
Æ÷¿öµå ¹æ½ÄÀ¸·Î À̵¿ÇÏ·Á¸é ¸ñ·Ïº¸±â ¿äû¿¡ ÀÌ¿ëµÈ Æûºó°ú »èÁ¦Ã³¸®¿¡ ÀÌ¿ëµÇ´Â ÆûºóÀº ´Ù¸£±â ¶§¹®¿¡ °ï¶õÇÕ´Ï´Ù.
µû¶ó¼ »èÁ¦Ã³¸®ÇÑ ´ÙÀ½ ¸ñ·Ïº¸±â·ÎÀÇ À̵¿Àº Æ÷¿öµå ¹æ½ÄÀÌ ¾Æ´Ñ ¸®´ÙÀÌ·ºÆ® ¹æ½ÄÀ¸·Î ±¸ÇöÇÏ·Á ÇÕ´Ï´Ù.
¸®´ÙÀÌ·ºÆ® ¹æ½ÄÀ̶ó°í Á¤ÇØÁ³´Âµ¥ ¶Ç Çϳª ¹®Á¦°¡ ÀÖ½À´Ï´Ù.
list.do ¿äûÇÏ·Á¸é board, curPage ¶ó´Â ÆÄ¶ó¹ÌÅ͸¦ ÇÔ²² Àü´ÞÇØ¾ß ÇÕ´Ï´Ù.
µû¶ó¼ struts-config.xml ¿¡ ¸®´ÙÀÌ·ºÆ® ¼³Á¤ÇÒ ¼ö ¾ø°í, ´ë½Å ¾Æ·¡¿Í °°ÀÌ model2 ¿¡¼Ã³·³ ActionForward Á÷Á¢ »ý¼ºÇÏ¿©
»ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
DeleteAction.java
package com.dadam.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.dadam.board.Gul;
import com.dadam.board.GulManager;
import com.dadam.form.*;
public class DeleteAction extends Action {
public ActionForward execute (
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// Parameter
GulForm gulForm = (GulForm) form;
GulManager gulManager = new GulManager();
int number = gulForm.getGulValue().getGulno();
int curPage = gulForm.getCurPage();
String board = gulForm.getGulValue().getBcode();
gulManager.remove( number );
String path = "list.do?board="+board+"&curPage="+curPage;
return new ActionForward( path, true );
}
}
struts-config.xml
<action path="/delete" type="com.dadam.action.DeleteAction" name="gulForm" scope="request" unknown="false" validate="false"> </action>
5. »õ±Û¾²±âÈ¸é ¿äû
| ¿äû¸í | write_form.do |
| Æûºó | GulForm |
| ¾×¼Ç Ŭ·¡½º | ¾øÀ½ |
»õ±Û¾²±â ȸéÀ» À§ÇØ Æ¯º°È÷ ¸ðµ¨ ÆÄÆ®¿¡ ½Ãų ÀÏÀÌ ¾ø¾î º¸ÀÔ´Ï´Ù.
´Ù½Ã ¸»ÇØ, ¾×¼Ç Ŭ·¡½º¸¦ ¸¸µé¾î¼ ÄÚµå ³»¿¡ gulManager ¿¡°Ô ÀÏÀ» ½Ãų °ÍÀÌ ¾ø½À´Ï´Ù.
ÀÌ·²¶§´Â ¾×¼Ç Ŭ·¡½º¸¦ ¸¸µéÁö ¾Ê°í ¹Ù·Î ÇØ´ç ºä·Î À̵¿ÇÏ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¼³Á¤³»¿ë¿¡´Â, ºä¿¡ À̵¿ÇÏ´õ¶óµµ Æûºó(gulForm)ÀÌ ¾²À̹ǷΠStruts - First Steps ¶§¿Í´Â ´Þ¸® Æûºó ¼³Á¤ÀÌ Ãß°¡µÇ¾î ÀÖ½À´Ï´Ù.
struts-config.xml
<action path="/write_form" name="gulForm" scope="request" forward="/struts/write_form.jsp" />
write_form.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import="com.dadam.form.*" %>
<%
GulForm gulForm = (GulForm) request.getAttribute("gulForm");
String board = gulForm.getGulValue().getBcode();
int curPage = gulForm.getCurPage();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitonal.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR" />
<title>Struts °Ô½ÃÆÇ : »õ±Û¾²±â ȸé</title>
<script language="javascript">
function checking() {
var form = document.getElementById("frmWrite");
var subject = document.forms.frmWrite.elements[1];
var content = document.forms.frmWrite.elements[2];
if ( subject.value.length == 0) {
alert("Á¦¸ñÀ» ÀÔ·ÂÇϼ¼¿ä");
form.subject.focus();
return;
}
if ( content.value == '') {
alert("º»¹®À» ÀÔ·ÂÇϼ¼¿ä");
content.focus();
return;
} else {
if ( content.value.length > 6000 ) {
alert("6000ÀÚ ÀÌ»óÀº ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.!");
return;
}
}
form.submit();
}
function goList() {
var form = document.getElementById("frmList");
form.submit();
}
</script>
</head>
<body>
<form id="frmWrite" name="frmWrite" action="write.do" method="post">
<input type="hidden" name="gulValue.bcode" value="<%=board %>" />
Á¦¸ñ : <input type="text" name="gulValue.subject" />
<br />
º»¹® : <br />
<textarea name="gulValue.content" cols="30" rows="10"></textarea><br />
<input type="button" value="Àü¼Û" onclick="javascript:checking()" />
<input type="button" value="¸ñ·Ï" onclick="javascript:goList()" />
</form>
<form id="frmList" name="frmList" action="list.do" method="post">
<input type="hidden" name="board" value="<%=board %>" />
<input type="hidden" name="curPage" value="<%=curPage %>" />
</form>
</body>
</html>
6. »õ±Û¾²±âó¸® ¿äû
| ¿äû¸í | write.do |
| Æûºó | GulForm |
| ¾×¼Ç Ŭ·¡½º | WriteAction |
»õ±Û¾²±â 󸮸¦ ÇÑ ÈÄ ¸ñ·Ïº¸±â·Î À̵¿ÇØ¾ß ÇÕ´Ï´Ù.
°Ô½ÃÆÇÀÌ ¿©·¯°³¶ó¸é »õ±ÛÀ» ¾´ ÈÄ ÇØ´ç °Ô½ÃÆÇÀÇ Ã¹¹øÂ° ÆäÀÌÁö·Î À̵¿ÇØ¾ß ÇϹǷΠboard ÆÄ¶ó¹ÌÅ͸¦ list.do ¿äû°ú ÇÔ²² Àü´ÞÇØ¾ß ÇÕ´Ï´Ù.
µû¶ó¼ ¾Æ·¡¿Í °°ÀÌ ActionForward¸¦ »ý¼ºÇÏ´Â ¹æ¹ýÀ» ÅÃÇß½À´Ï´Ù.
WriteAction.java
package com.dadam.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.dadam.board.Gul;
import com.dadam.board.GulManager;
import com.dadam.form.*;
public class WriteAction extends Action {
public ActionForward execute (
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// Parameter
GulForm gulForm = (GulForm) form;
GulManager gulManager = new GulManager();
Gul gul = gulForm.getGulValue();
String board = gulForm.getGulValue().getBcode();
int curPage = gulForm.getCurPage();
gulManager.create(gul);
String path = "list.do?board="+board;
return new ActionForward( path, true );
}
}
struts-config.xml
<action
path="/write"
type="com.dadam.action.WriteAction"
name="gulForm"
scope="request"
unknown="false"
validate="false">
<forward
name="list"
path="/struts/list.jsp"
redirect="false"
/>
</action>
8. ÇÊÅÍ »ç¿ë : »õ±Û¾²±â¿Í ¼öÁ¤Ã³¸® ¶§ ÇѱÛÀÌ ±úÁö´Â °ÍÀ» ¸·±â À§Çؼ
Struts´Â request ¿¡ ÀÖ´Â ÆÄ¶ó¹ÌÅ͸¦ getParameter ¸Þ¼Òµå¸¦ ÀÌ¿ëÇØ¼ ²¨³»¼ ÇØ´ç ÆûºóÀ» ¼ÂÆÃÇÕ´Ï´Ù.
µû¶ó¼ ¿ì¸®´Â model2 ¿¡¼¿Í °°ÀÌ requestÀÇ setCharacterEncoding ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
¿Ö³ÄÇϸé setCharacterEncoding Àº getParameter ¸Þ¼Òµå°¡ ½ÇÇàµÇ±â Àü¿¡ ½ÇÇàµÇ¾î¾ß Çϱ⠶§¹®ÀÔ´Ï´Ù.
¸¸¾à getParameter ¸Þ¼Òµå°¡ ÇѹøÀÌ¶óµµ ½ÇÇàÇÑ ÈĶó¸é setCharacterEncoding ¸Þ¼Òµå´Â ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù.
ÀÌÁ¦ »ç¿ëÀÚ°¡ À¥ºê¶ó¿ìÀú¸¦ »ç¿ëÇØ¼ º¸³»´Â ¸ðµç ¿äûÀ» ÇÏ¸é ¸ÕÀú
request.setCharacterEncodeing("EUC-KR");
Äڵ尡 ½ÇÇàµÇµµ·Ï ÇÏ°í ½Í½À´Ï´Ù.
ÀÌ·¸µí ¿äû¿¡ ¾Õ¼ ½ÇÇàµÇ¾î¾ß ÇÏ´Â Äڵ尡 ÀÖÀ» ¶§ »ç¿ëÇÏ´Â °ÍÀÌ ÇÊÅͶó´Â ±â¼úÀÔ´Ï´Ù.
¾Õ¼ ½ÇÇàµÇ¾î¾ß Çϱ⿡ ÇÊÅͶó´Â À̸§ÀÌ ºÙÀº °ÍÀÔ´Ï´Ù.
ÇÊÅÍ´Â Servlet 2.3 ½ºÆå¿¡ Ãß°¡µÇ¾ú½À´Ï´Ù.
EncodingFilter.java
package com.dadam.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class EncodingFilter implements Filter {
private String encoding = null;
protected FilterConfig filterConfig = null;
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
public void doFilter(
ServletRequest request,
ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
if (request.getCharacterEncoding() == null) {
if (encoding != null) {
request.setCharacterEncoding(encoding);
}
}
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
}
public FilterConfig getFilterConfig() {
return filterConfig;
}
public void setFilterConfig(FilterConfig cfg) {
filterConfig = cfg;
}
}
ÇÊÅÍ Å¬·¡½º¸¦ ¸¸µç ´ÙÀ½,
¾Æ·¡ Äڵ带 web.xml ÆÄÀÏ¿¡¼ wep-app ¿¤¸®¸ÕÆ®ÀÇ ÀÚ½Ä ¿¤¸®¸ÕÆ®·Î Ãß°¡ÇÕ´Ï´Ù.
ù¹øÂ° °Á¶µÈ ºÎºÐÀº ÃʱⰪÀ¸·Î EUC-KR¸¦ »ç¿ëÇÑ °ÍÀÔ´Ï´Ù.
µÎ¹øÂ°´Â ¸ðµç ¿äû¿¡ ´ëÇØ ÀÌ ÇÊÅͰ¡ ÀÛµ¿Çϵµ·Ï ÇÑ °ÍÀÔ´Ï´Ù.
Struts ¿¡¼¸¸ »ç¿ëÇÑ´Ù¸é *.do À̶ó°í Çϴ°ÍÀÌ ´õ ³´´Ù°í »ý°¢ÇÕ´Ï´Ù.
web.xml
.. Áß°£ »ý·« ..
<filter>
<filter-name>Encoding Filter</filter-name>
<filter-class>com.dadam.filter.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>EUC-KR</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Encoding Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
.. Áß°£ »ý·« ..
