즐겨찾기   
 
   
 
 
 

  모듈 사용 방법
    * Bright Spring Version 

  모듈 환경 세팅
    * 모듈 배치
     - bright-config.xml
     - struts-config.xml
     - web.xml
     - Tomcat 설정
    * Eclipse 설정

  개발 지원
    * Q&A
 
 
 

 



Bright > 모듈사용방법  > JSP Framework > Programming 방법  
 
 Bright JSP Framework -Programming 방법 
  
  1.기본 환경 세팅 
    1.1.업무 처리 프로세스 단 환경 정보 세팅
    1.2.Html Design Frame Control 골격 단 구성
  2.기본 프로그래밍
     2.1.리스트
     2.2.페이징 리스트
     2.3.검색
     2.4.보기
     2.5.입력/수정 폼
     2.6.입력 처리
     2.7.수정 처리
     2.8.삭제 처리
  3.파일 관련 처리
     3.1.파일 업로드시 파라미터 처리
     3.2.파일 업로드
     3.3.파일 다운로드
     3.4.이미지 업로드
     3.5.이미지 보여주기
     3.6.입력 처리시 파일 처리
     3.7.수정 처리시 파일 처리
     3.8.삭제 처리시 파일 처리
 
 1.1.업무 처리 프로세스 단 환경 정보 세팅
업무 처리 프로세스 단(index.jsp) 최상단에 환경 정보(저장 서브 폴더명,추가 파라미터등)를  아래 처럼 정의한다.
 
// Default  Environment Setting- Start ============================================
  
  String MBoard_ListCmd="listPage";//기본 리스트 cmd
  String MBoard_CmdAddURL=Bright.CmdAddURL(request,"page,page_per,sort_id,sort_by,search_type,search_text");
  //페이지 마다 따라 다닐 추가 파라미터 들..
  request.setAttribute("MBoard_ListCmd",MBoard_ListCmd);//기본 리스트 cmd
  request.setAttribute("MBoard_CmdAddURL",MBoard_CmdAddURL);//페이지 마다 따라 다닐 추가 파라미터 들..
 
  String page_cmd=Bright.reg_value(request,"cmd",MBoard_ListCmd,"1");//listPage,listView,input
 
  String MBoard_ListURL="url=?cmd="+MBoard_ListCmd+MBoard_CmdAddURL;//게시판 기본 리스트 URL
  request.setAttribute("MBoard_ListURL",MBoard_ListURL);//게시판 기본 리스트 URL
 
  String FileSaveSubFolder="/Simple";//저장 서브 폴더명
  request.setAttribute("FileSaveSubFolder",FileSaveSubFolder);//저장 서브 폴더명

// Default  Environment Setting- End ============================================ 
 
여기서 FileSaveSubFolder는 /WebRoot/web_down/밑에 하부적으로 해당 프로그램에서 사용하는 파일,이미지를 관리하고자하는 디렉토리명이다.
 
 1.2.Html Design Frame Control 골격 단 구성
Html Design Frame Control 골격 단을 구성할려면   /WebRoot indexHtmlControl.jsp를  아래 처럼 정의한다.
 
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR" import="java.util.*"   import="java.net.*" %><%
if (request.getAttribute("page_cmd")==null) return ;//직접 접근 방지
String page_body_html_url="./page_"+request.getAttribute("page_cmd")+".jsp";
%><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<title> mymyBoard.net - Bright Simple Board - [▒▒ G-line Communications -
http://www.gline.kr ▒▒] </title>
</head>
<body leftmargin='0' topmargin='0' marginwidth="0" marginheight="0">
<table width="100%" height=100% border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center" colspan=3 height=100 >
 <!------- 상단 Html - Start ------->
  <%@ include  file="/jsp/frame/PageTopFrame.jsp" %>
 <!------- 상단 Html - End  ------->
    </td>
   </tr>
  <tr height=100%>
    <td align="center">
 <!------- 왼쪽 Html - Start ------->
 <%@ include  file="/jsp/frame/PageLeftFrame.jsp" %>
 <!------- 왼쪽 Html - End  ------->
 </td>
 <td align="center" valign="top">
  <!------- 몸통 Html - Start ------->
 <jsp:include page="<%=page_body_html_url%>" flush="true" />
  <!------- 몸통 Html - End  ------->
   </td>
    <td align="center">
 <!------- 오른쪽 Html - Start ------->
 <%@ include  file="/jsp/frame/PageRightFrame.jsp" %>
 <!------- 오른쪽 Html - End  ------->
    </td>
   </tr>
  <tr height=100%>
    <td align="center" width=100% colspan=3 height=100 >
 <!------- 하단 Html - Start ------->
  <%@ include  file="/jsp/frame/PageBottomFrame.jsp" %>
 <!------- 하단 Html - End  ------->
    </td>
   </tr>
</table>
</body>
</html>
 
몸통 Html을 제외한 상단,좌측,우측,하단 기본 디자인 골격을 구성한다.
 
상단,좌측,우측,하단 Html 디자인 파일을  여러 프로그램 본수에서 공유하길 원하면
/jsp/frame 폴더 밑에 부분적인 Html jsp 파일을 구성하고 include 해서 공유하도록한다
 
 2.1.리스트  
 1.업무 처리 프로세스 단(index.jsp) 에서 cmd(기능 호출 파라미터)값에 따라 분기 처리하는 부분에 리스트 기능 처리를 아래 처럼 정의한다.
 
else if (page_cmd.equals("list")){//list면-페이징 없는 리스트
//▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
 
   String BoardList_SearchText="제목,이름";//게시판 검색 타입-셀렉트 박스 표시 텍스트
   String BoardList_SearchVal="TEST_TITLE,TEST_NAME";//게시판 검색 타입-셀렉트 박스 값 
   %><%@ page  import="net.mymyboard.framework.bright.dao.board.MBoardListPage" %><%  
   MBoardListPage ListPage=new MBoardListPage();  
 
//Query - Start ============================================
 
   Bright f_Bright=Bright.getInstance();
   String[]  ParamArr =new String[]{} ; 
 
   ListPage.setFieldSql("TEST_NUM,TEST_TITLE,TEST_NAME,TEST_CON,TEST_MKDATE");//Select할 필드리스트 Sql
   ListPage.setTableSql(" TEST_TBL where TEST_NUM is not null  ");//Select할 Table Sql
   ListPage.setParam(ParamArr);//Query 파라미터
   ListPage.setSearch("search_type","search_text",BoardList_SearchVal);//검색 타입,검색값,검색타입 배열 지정
   ListPage.setOrderBy("TEST_NUM","desc");//정렬 순서 지정
 
//Query - End ============================================
 
   ListPage=f_Bright.exeList(request,ListPage);//listPage 실행
 
  //게시판 리스트 데이타
   request.setAttribute("MBoard_ListTotalCnt",ListPage.getTotalCnt());//총계 
   request.setAttribute("MBoard_ListData",ListPage.getListData());//데이타 
   request.setAttribute("MBoard_PagePerRows",ListPage.getPagePerRows());//한페이지 보여줄 갯수
   request.setAttribute("MBoard_ListNum",ListPage.getListNum());// 리스트 번호
 
   request.setAttribute("MBoard_OrderField",Bright.reg_value(request,"sort_id","","1"));//OrderField 필드 명
   request.setAttribute("MBoard_OrderBy",Bright.reg_value(request,"sort_by","","1"));//OrderBy 명
   
   request.setAttribute("MBoard_SearchText",BoardList_SearchText);//게시판 검색 타입-셀렉트 박스 표시 텍스트
   request.setAttribute("MBoard_SearchValue",BoardList_SearchVal);//게시판 검색 타입-셀렉트 박스 값
 
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 
}//list면-페이징 없는 리스트
 
2.기능 Design 단 구성 - page_list.jsp로 파일을 만들고 아래 처럼 정의한다.
 
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR" import="java.util.*"   import="java.net.*" %>
<%@  include file="/jsp/lib/site_lib.jsp"%><% //사이트 전체 환경 파일 로드 %>
<%
if (request.getAttribute("page_cmd")==null) return ;//직접 접근 방지
if (request.getAttribute("MBoard_ListTotalCnt")==null) return ;//직접 접근 방지
if (request.getAttribute("MBoard_ListData")==null) return ;//직접 접근 방지
String page_cmd=request.getAttribute("page_cmd").toString();
ArrayList<HashMap<String, String>>   MBoard_ArrayList= (ArrayList<HashMap<String, String>>)request.getAttribute("MBoard_ListData");
int mymyboard_TotalCnt= Integer.parseInt(request.getAttribute("MBoard_ListTotalCnt").toString());
 
String MBoard_CmdAddURL=request.getAttribute("MBoard_CmdAddURL").toString();//페이지 마다 따라 다닐 추가 파라미터 들
%>
<script>
 function BoardSearchForm()
 {
 
  var f_searchForm=document.SearchForm;
  if(f_searchForm.search_text.value=='')
  {
 
   alert('검색어를 입력하세요!');
   f_searchForm.search_text.focus();
   return false;
  }
 }
 
 function BoardSearchFormSubmit()
 {
 
  if (BoardSearchForm()!=false) document.SearchForm.submit();
 
 }
</script>
<br>
<!-- 리스트 총계 부분 시작 -->
 <table width="90%" border="0" cellspacing="1" cellpadding="1" bgcolor="ffffff">
 <tr>
  <td   onclick="location.href='?cmd=<%=page_cmd %>'" style="cursor:pointer">[▒▒ <b>Bright Simple Board</b> ▒▒]</td>
  <td colpan=20 align=right bgcolor=ffffff>
   &nbsp;&nbsp;전체: <font color=0000FF><%=mymyboard_TotalCnt %></font>개&nbsp;&nbsp;   
 </td>
 </tr> 
 
 <tr><td height=1  bgcolor=9A9A9A colspan=2></td></tr> 
 <tr></tr>
 <tr><td height=5></td></tr>
 </table>
<!-- 리스트 총계 부분 끝 --> 
<TABLE width=90% cellpadding=0 cellspacing=0 align="center" height="138" border=1>
 <tr   bgcolor="#F6F6F6" align=center height=20>
 <td width=50 height=20>번호</td><td>제목</td><td width=80>이름</td><td width=80>날짜</td> <td width=50>수정</td> <td width=50>삭제</td>
 </tr>
 <%
   if(MBoard_ArrayList.size()==0){
    %>
    <tr>
      <td colspan=10 align=center>데이타가 없습니다. </td>
     </tr>
    <%
   }
   else{
    for(int i=0; i<MBoard_ArrayList.size(); i++){
     HashMap MBoard_Row =  (HashMap)MBoard_ArrayList.get(i); 
     String TEST_NUM=hash_value(MBoard_Row,"TEST_NUM","");  
     String TEST_TITLE=hash_value(MBoard_Row,"TEST_TITLE","");   
     String TEST_NAME=hash_value(MBoard_Row,"TEST_NAME","");    
     String TEST_MKDATE=hash_value(MBoard_Row,"TEST_MKDATE","");      
      %>
     <tr height=20>
      <td width=50  align=center>&nbsp;<%=TEST_NUM %></td>
      <td>&nbsp;<a href="?cmd=view&test_num=<%=TEST_NUM %><%=MBoard_CmdAddURL %>" ><%=TEST_TITLE %></a></td>
      <td width=80  align=center>&nbsp;<%=TEST_NAME %></td>
      <td width=80  align=center>&nbsp;<%=TEST_MKDATE.substring(0,10) %></td>
      <td width=50  align=center><a href="?cmd=edit&test_num=<%=TEST_NUM %><%=MBoard_CmdAddURL %>" >수정</a></td>
      <td width=50  align=center>
      <a href="?cmd=del_ok&test_num=<%=TEST_NUM %><%=MBoard_CmdAddURL %>"
       onClick="return confirm('게시물을 삭제 하시겠습니까?');">삭제</a></td>
     </tr>
     <%
    }
   } 
  %>
 </TABLE>
  <p></p>
<TABLE width=90% cellpadding=0 cellspacing=0 align="center" border=0> 
  <tr>
 <td colspan=10 align=left>
 <a href="?cmd=add<%=MBoard_CmdAddURL %>"> 글쓰기</a>
 </td>
 <!---------- 검색 창 - 시작 ------------>
 <form   name=SearchForm method=get onsubmit="return BoardSearchForm()">
    <input type=hidden name=cmd value=<%=page_cmd %>>
 <td valign="middle" align="right" valign="middle">
  <table cellpadding=0 cellspacing=0 border=0>
  <tr>
  <td>                
  <%
  
  //검색 셀렉트 박스 생성
  
  String f_StrText=request.getAttribute("MBoard_SearchText").toString();//셀렉트 박스 표시 값
  String f_StrVal=request.getAttribute("MBoard_SearchValue").toString();//셀렉트 박스 값
  
  String f_SearchType=reg_value("search_type","","1");//검색 선택한 필드
  String f_SearchWord=reg_value("search_text","","1");//검색 선택한 필드 값
  
  out.println(StrToArrToSelectBox(f_StrText,f_StrVal,",","search_type","   ",f_SearchType,"",""));
  
  %>     
  </td>
  <td width=3></td>
  <td  width=100>
  <input  name='search_text'    type="text"    value="<%=f_SearchWord %>"/>
  </td>
  <td width=3></td>
  <td width=30 ><a href=# onclick=javascript:BoardSearchFormSubmit();>
   검색
   </a>
  </td>
  </tr>
  </table>
 </td>
 </tr>
  </form>
  <!---------- 검색 창 - 끝 -------------->
 </TABLE>
 
 
3.그럼 http://도메인/Service/기능논리명(테이블명)/?cmd=list 접근시 결과 화면이 아래처럼 구성된다.
 
 
 
 
 2.2.페이징
 1.업무 처리 프로세스 단(index.jsp) 에서 cmd(기능 호출 파라미터)값에 따라 분기 처리하는 부분에 리스트 페이징 기능 처리를 아래 처럼 정의한다.
 
 if (page_cmd.equals("listPage")){//listPage면-페이징  리스트
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
 
   String BoardList_SearchText="제목,이름";//게시판 검색 타입-셀렉트 박스 표시 텍스트
   String BoardList_SearchVal="TEST_TITLE,TEST_NAME";//게시판 검색 타입-셀렉트 박스 값 
 
// Query - Start ============================================
  
   Bright f_Bright=Bright.getInstance();
   String[]  ParamArr =new String[]{} ; 
 
 %><%@ page  import="net.mymyboard.framework.bright.dao.board.MBoardListPage" %><%  
   MBoardListPage ListPage=new MBoardListPage();
 
   ListPage.setFieldSql("TEST_NUM,TEST_TITLE,TEST_NAME,TEST_CON,TEST_MKDATE");//Select할 필드리스트 Sql
   ListPage.setTableSql(" TEST_TBL where TEST_NUM is not null  ");//Select할 Table Sql
   ListPage.setParam(ParamArr);//Query 파라미터
   ListPage.setSearch("search_type","search_text",BoardList_SearchVal);//검색 타입,검색값,검색타입 배열 지정
   ListPage.setOrderBy("TEST_NUM","desc");//정렬 순서 지정
 
// Query - End ============================================
  
  ListPage=f_Bright.exeListPage(request,ListPage);//listPage 실행
 
 // 게시판 리스트 데이타
  request.setAttribute("MBoard_ListTotalCnt",ListPage.getTotalCnt());//총계 
  request.setAttribute("MBoard_ListData",ListPage.getListData());//데이타
  request.setAttribute("MBoard_PageTotalCnt",ListPage.getPageTotalCnt());//페이지 수 총계
  request.setAttribute("MBoard_PagePerRows",ListPage.getPagePerRows());//한페이지 보여줄 갯수
  request.setAttribute("MBoard_PageNum",ListPage.getPageNum());//페이지 번호
  request.setAttribute("MBoard_PageStartRowNum",ListPage.getPageStartRowNum());//시작 번호
  request.setAttribute("MBoard_PageEndRowNum",ListPage.getPageEndRowNum());//마지막 번호
  request.setAttribute("MBoard_ListNum",ListPage.getListNum());// 리스트 번호
 
  request.setAttribute("MBoard_OrderField",Bright.reg_value(request,"sort_id","","1"));//OrderField 필드 명
  request.setAttribute("MBoard_OrderBy",Bright.reg_value(request,"sort_by","","1"));//OrderBy 명  
 

  request.setAttribute("MBoard_SearchText",BoardList_SearchText);//게시판 검색 타입-셀렉트 박스 표시 텍스트
  request.setAttribute("MBoard_SearchValue",BoardList_SearchVal);//게시판 검색 타입-셀렉트 박스 값 
 
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 
}//listPage면-페이징  리스트
 
 
2.기능 Design 단 구성 - page_listPage.jsp로 파일을 만들고 아래 처럼 정의한다.
 
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR" import="java.util.*"   import="java.net.*" %>
<%@  include file="/jsp/lib/site_lib.jsp"%><% //사이트 전체 환경 파일 로드 %>
<%
if (request.getAttribute("page_cmd")==null) return ;//직접 접근 방지
if (request.getAttribute("MBoard_ListTotalCnt")==null) return ;//직접 접근 방지
if (request.getAttribute("MBoard_ListData")==null) return ;//직접 접근 방지
if (request.getAttribute("MBoard_PageTotalCnt")==null) return ;//직접 접근 방지
if (request.getAttribute("MBoard_PagePerRows")==null) return ;//직접 접근 방지
if (request.getAttribute("MBoard_PageNum")==null) return ;//직접 접근 방지
 
String page_cmd=request.getAttribute("page_cmd").toString();
ArrayList<HashMap<String, String>>   MBoard_ArrayList= (ArrayList<HashMap<String, String>>)request.getAttribute("MBoard_ListData");
//데이타

int mymyboard_TotalCnt= Integer.parseInt(request.getAttribute("MBoard_ListTotalCnt").toString());//총계 
int  mymyboard_PageTotalCnt= Integer.parseInt(request.getAttribute("MBoard_PageTotalCnt").toString());//페이지 수 총계
String mymyboard_PerRows=request.getAttribute("MBoard_PagePerRows").toString(); //한페이지 보여줄 갯수
int mymyboard_PageNum= Integer.parseInt(request.getAttribute("MBoard_PageNum").toString()); //페이지 번호
int mymyboard_ListNum= Integer.parseInt(request.getAttribute("MBoard_ListNum").toString()); // 리스트 번호

String mymyboard_OrderField=request.getAttribute("MBoard_OrderField").toString(); //OrderField 필드 명
String mymyboard_OrderBy=request.getAttribute("MBoard_OrderBy").toString(); //OrderBy 명 
 
String MBoard_CmdAddURL=request.getAttribute("MBoard_CmdAddURL").toString();//페이지 마다 따라 다닐 추가 파라미터 들
%>
<script>
   //게시판 검색함수
 function BoardSearchForm()
 {
 
  var f_searchForm=document.SearchForm;
  if(f_searchForm.search_text.value=='')
  {
 
   alert('검색어를 입력하세요!');
   f_searchForm.search_text.focus();
   return false;
  }
 }
 
 function BoardSearchFormSubmit()
 {
 
  if (BoardSearchForm()!=false) document.SearchForm.submit();
 
 }
 //게시판 정렬 지정함수
 
 function OrderBySort(SortField,SortOrder){
  location.replace('?cmd=<%=page_cmd %>&sort_id='+SortField+'&sort_by='+SortOrder+'<%=MBoard_CmdAddURL %>');
 
 }
   //게시판 보여줄 갯수 지정 함수  
 function PagePer(pagePerNum){
  location.replace('?cmd=<%=page_cmd %>&page_per='+pagePerNum+'<%=MBoard_CmdAddURL %>');
 }
  
   //게시판 페이징 이동 함수  
 function Page(pageNum){
  location.replace('?cmd=<%=page_cmd %>&page='+pageNum+'<%=MBoard_CmdAddURL %>');
 }
  
</script>
<br> 
<!-- 리스트 총계 부분 시작 -->
 <table width="90%" border="0" cellspacing="1" cellpadding="1" bgcolor="ffffff">
  <tr>
   <td colspan="2"  onclick="location.href='?cmd=<%=page_cmd %>'" style="cursor:pointer">[▒▒ <b>Bright Simple Board</b> ▒▒]</td>
   
  </tr> 
  <tr><td height=1  bgcolor=9A9A9A></td></tr> 
  <tr><td height=5></td></tr>
  <tr><td colpan=20 align=right bgcolor=ffffff>
  <%=mymyboard_PageNum %> page / Total: <font color=red><%=mymyboard_PageTotalCnt %></font> page &nbsp;&nbsp;
  전체: <font color=0000FF><%=mymyboard_TotalCnt %></font>개&nbsp;&nbsp;   
  </td></tr>
  <tr><td height=5></td></tr>
 </table>
<!-- 리스트 총계 부분 끝 --> 
<TABLE width=90% cellpadding=0 cellspacing=0 align="center" height="138" border=1>
 <tr   bgcolor="#F6F6F6" align=center height=20>
 <td width=50 height=20>
 <%=OrderBySort("번호","TEST_NUM",mymyboard_OrderField,mymyboard_OrderBy) %></td>
 <td><%=OrderBySort("제목","TEST_TITLE",mymyboard_OrderField,mymyboard_OrderBy) %></td>
 <td width=80><%=OrderBySort("이름","TEST_NAME",mymyboard_OrderField,mymyboard_OrderBy) %></td>
 <td width=80><%=OrderBySort("날짜","TEST_MKDATE",mymyboard_OrderField,mymyboard_OrderBy) %></td>
 <td width=50>수정</td>
 <td width=50>삭제</td>
 </tr>
 <%
 
   if(MBoard_ArrayList.size()==0){
    %>
    <tr>
      <td colspan=10 align=center>데이타가 없습니다. </td>
     </tr>
    <%
   }
   else{
    for(int i=0; i<MBoard_ArrayList.size(); i++){
     HashMap MBoard_Row =  (HashMap)MBoard_ArrayList.get(i); 
     String TEST_NUM=hash_value(MBoard_Row,"TEST_NUM","");  
     String TEST_TITLE=hash_value(MBoard_Row,"TEST_TITLE","");   
     String TEST_NAME=hash_value(MBoard_Row,"TEST_NAME","");    
     String TEST_MKDATE=hash_value(MBoard_Row,"TEST_MKDATE","");      
      %>
     <tr height=20>
      <td width=50  align=center>&nbsp;<%=mymyboard_ListNum %></td>
      <td>&nbsp;<a href="?cmd=view&test_num=<%=TEST_NUM %><%=MBoard_CmdAddURL %>" ><%=TEST_TITLE %></a></td>
      <td width=80  align=center>&nbsp;<%=TEST_NAME %></td>
      <td width=80  align=center>&nbsp;<%=TEST_MKDATE.substring(0,10) %></td>
      <td width=50  align=center><a href="?cmd=edit&test_num=<%=TEST_NUM %><%=MBoard_CmdAddURL %>" >수정</a></td>
      <td width=50  align=center>
      <a href="?cmd=del_ok&test_num=<%=TEST_NUM %><%=MBoard_CmdAddURL %>"
       onClick="return confirm('게시물을 삭제 하시겠습니까?');">삭제</a></td>
     </tr>
     <%
     mymyboard_ListNum--;//리스트 번호 감소
    }
   } 
  %>
  
</TABLE>
<!-- Paging - Start-->   
<TABLE width=90% cellpadding=0 cellspacing=0 align="center" border=0> 
    <tr>
     <td height="30" colspan="15" align="center">
 <jsp:include page="/jsp/lib/page/list_page.jsp" /> 
     </td>
     <td align=right><!-- 줄 갯수-시작 --><%=PagePerSelectBox("page_per",mymyboard_PerRows ) %><!-- 줄 갯수-끝 --></td>
   </tr>
 </TABLE>    
<!-- Paging - End-->         
  <p></p>
<TABLE width=90% cellpadding=0 cellspacing=0 align="center" border=0> 
  <tr>
 <td colspan=10 align=left>
 <a href="?cmd=add<%=MBoard_CmdAddURL %>">
 글쓰기</a>
 </td>
 <!---------- 검색 창 - 시작 ------------>
 <form   name=SearchForm method=get onsubmit="return BoardSearchForm()">
    <input type=hidden name=cmd value=<%=page_cmd %>>
 <td valign="middle" align="right" valign="middle">
  <table cellpadding=0 cellspacing=0 border=0>
  <tr>
  <td>                
  <%
  
  //검색 셀렉트 박스 생성
  
  String f_StrText=request.getAttribute("MBoard_SearchText").toString();//셀렉트 박스 표시 값
  String f_StrVal=request.getAttribute("MBoard_SearchValue").toString();//셀렉트 박스 값
  
  String f_SearchType=reg_value("search_type","","1");//검색 선택한 필드
  String f_SearchWord=reg_value("search_text","","1");//검색 선택한 필드 값
  
  out.println(StrToArrToSelectBox(f_StrText,f_StrVal,",","search_type","   ",f_SearchType,"",""));
  
  %>     
  </td>
    <td width=3></td>
  <td  width=100>
  <input  name='search_text'    type="text"    value="<%=f_SearchWord %>"/>
  </td>
  <td width=3></td>
  <td width=30 ><a href=# onclick=javascript:BoardSearchFormSubmit();>
   검색
   </a>
  </td>
  </tr>
  </table>
 </td>
 </tr>
  </form>
  <!---------- 검색 창 - 끝 -------------->
 </TABLE>
 
 
3.그럼 http://도메인/Service/기능논리명(테이블명)/?cmd=listPage 접근시 결과 화면이 아래처럼 구성된다.
 
 
 
 
 2.3.검색 
 1.업무 처리 프로세스 단(index.jsp) 에서 리스트 페이징,리스트 기능 처리를 하는 부분에서 아래 빨간 색 칠한 부분  처럼 정의한다.
 
 if (page_cmd.equals("listPage")){//listPage면-페이징  리스트
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
    
  
// Query - Start ============================================
 
 Bright f_Bright=Bright.getInstance();
 String[]  ParamArr =new String[]{} ; 
 String BoardList_SearchText="제목,이름";//게시판 검색 타입-셀렉트 박스 표시 텍스트
 String BoardList_SearchVal="TEST_TITLE,TEST_NAME";//게시판 검색 타입-셀렉트 박스 값 

 
 %><%@ page  import="net.mymyboard.framework.bright.dao.board.MBoardListPage" %><%  
 MBoardListPage ListPage=new MBoardListPage();
 
 ListPage.setFieldSql("TEST_NUM,TEST_TITLE,TEST_NAME,TEST_CON,TEST_MKDATE");//Select할 필드리스트 Sql
 ListPage.setTableSql(" TEST_TBL where TEST_NUM is not null  ");//Select할 Table Sql
 ListPage.setParam(ParamArr);//Query 파라미터
 ListPage.setSearch("search_type","search_text",BoardList_SearchVal);//검색 타입,검색값,검색타입 배열 지정
 ListPage.setOrderBy("TEST_NUM","desc");//정렬 순서 지정
 
// Query - End ============================================
  
 
 
request.setAttribute("MBoard_SearchText",BoardList_SearchText);//게시판 검색 타입-셀렉트 박스 표시 텍스트
 request.setAttribute("MBoard_SearchValue",BoardList_SearchVal);//게시판 검색 타입-셀렉트 박스 값 
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 
}//listPage면-페이징  리스트
 
 
2.기능 Design 단 구성 - page_listPage.jsp,page_list 파일에 아래의 빨간색처럼 처럼 정의한다.
 
 
<script>
   //게시판 검색함수
 function BoardSearchForm()
 {
 
  var f_searchForm=document.SearchForm;
  if(f_searchForm.search_text.value=='')
  {
 
   alert('검색어를 입력하세요!');
   f_searchForm.search_text.focus();
   return false;
  }
 }
 
 function BoardSearchFormSubmit()
 {
 
  if (BoardSearchForm()!=false) document.SearchForm.submit();
 
 }
 
  
</script>
 
<!-- Paging - Start-->   
<TABLE width=90% cellpadding=0 cellspacing=0 align="center" border=0> 
    <tr>
     <td height="30" colspan="15" align="center">
 <jsp:include page="/jsp/lib/page/list_page.jsp" /> 
     </td>
     <td align=right><!-- 줄 갯수-시작 --><%=PagePerSelectBox("page_per",mymyboard_PerRows ) %><!-- 줄 갯수-끝 --></td>   </tr>
 </TABLE>    
<!-- Paging - End-->         
  <p></p>
<TABLE width=90% cellpadding=0 cellspacing=0 align="center" border=0> 
  <tr>
 <td colspan=10 align=left>
 <a href="?cmd=add<%=MBoard_CmdAddURL %>">
 글쓰기</a>
 </td>
 <!---------- 검색 창 - 시작 ------------>
 <form   name=SearchForm method=get onsubmit="return BoardSearchForm()">
    <input type=hidden name=cmd value=<%=page_cmd %>>
 <td valign="middle" align="right" valign="middle">
  <table cellpadding=0 cellspacing=0 border=0>
  <tr>
  <td>                
  <%
  
  //검색 셀렉트 박스 생성
  
  String f_StrText=request.getAttribute("MBoard_SearchText").toString();//셀렉트 박스 표시 값
  String f_StrVal=request.getAttribute("MBoard_SearchValue").toString();//셀렉트 박스 값
  
  String f_SearchType=reg_value("search_type","","1");//검색 선택한 필드
  String f_SearchWord=reg_value("search_text","","1");//검색 선택한 필드 값
  
  out.println(StrToArrToSelectBox(f_StrText,f_StrVal,",","search_type","   ",f_SearchType,"",""));
  
  %>     
  </td>
  <td width=3></td>
  <td>
  <input  name='search_text'   type="text"    value="<%=f_SearchWord %>"/>
  </td>
  <td width=3></td>
  <td><a href=# onclick=javascript:BoardSearchFormSubmit();>
   검색
   </a>
  </td>
  </tr>
  </table>
 </td>
 </tr>
  </form>
  <!---------- 검색 창 - 끝 -------------->

 </TABLE>
 
 
  위와 같이 구성시 검색 폼(셀렉트 박스,검색어 박스)과 검색처리를 할수 있다.
  
 2.4.보기
 1.업무 처리 프로세스 단(index.jsp) 에서 cmd(기능 호출 파라미터)값에 따라 분기 처리하는 부분에 보기 기능 처리를 아래 처럼 정의한다.
 
 
else if (page_cmd.equals("view")){//view-보기화면이면
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
 
// Query - Start ============================================
 
  Bright f_Bright=Bright.getInstance();
  String[]  ParamArr =new String[]{} ;
  String BoardView_Sql="select TEST_NUM, TEST_TITLE, TEST_NAME,TEST_FILENAME,";
  BoardView_Sql+=" TEST_FILESIZE,TEST_ORG_FILENAME,TEST_IMGNAME,TEST_IMGSIZE,TEST_ORG_IMGNAME,TEST_CON, TEST_MKDATE from ";
  BoardView_Sql+="  TEST_TBL where TEST_NUM is not null and TEST_NUM=?";
 
//Query - End ============================================
 
 ParamArr=f_Bright.regArrAdd(request,"test_num","0",ParamArr);
 request.setAttribute("MBoard_ViewData",f_Bright.Select(BoardView_Sql,ParamArr));
 
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 
}//view-보기화면이면
 
 
2.기능 Design 단 구성 - page_view.jsp로 파일을 만들고 아래 처럼 정의한다.
 
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR" import="java.util.*"   import="java.net.*" %>
<%@  include file="/jsp/lib/site_lib.jsp"%><% //사이트 전체 환경 파일 로드 %>
<%
if (request.getAttribute("page_cmd")==null) return ;//직접 접근 방지
if (request.getAttribute("MBoard_ListCmd")==null) return ;//직접 접근 방지

String MBoard_ListCmd=request.getAttribute("MBoard_ListCmd").toString();
String page_cmd=request.getAttribute("page_cmd").toString();
String MBoard_CmdAddURL=request.getAttribute("MBoard_CmdAddURL").toString();//페이지 마다 따라 다닐 추가 파라미터 들
 
String TEST_NUM="";
String TEST_TITLE="";
String TEST_NAME="";
String TEST_CON="";
String TEST_FILENAME="";
String TEST_FILESIZE="";
String TEST_ORG_FILENAME="";
String TEST_IMGNAME ="";
String TEST_IMGSIZE   ="";
String TEST_ORG_IMGNAME   ="";
String TEST_MKDATE  ="";
 
 ArrayList<HashMap<String, String>>   MBoard_ArrayList= (ArrayList<HashMap<String, String>>)request.getAttribute("MBoard_ViewData");
 if (MBoard_ArrayList.size()>0){
  HashMap MBoard_Row =  (HashMap)MBoard_ArrayList.get(0); 
   TEST_NUM=hash_value(MBoard_Row,"TEST_NUM","");  
   TEST_TITLE=hash_value(MBoard_Row,"TEST_TITLE","");   
   TEST_NAME=hash_value(MBoard_Row,"TEST_NAME","");  
   TEST_CON=hash_decode_Con(MBoard_Row,"TEST_CON","");  
   TEST_FILENAME=hash_value(MBoard_Row,"TEST_FILENAME","");  
   TEST_FILESIZE=hash_value(MBoard_Row,"TEST_FILESIZE","0");  
   TEST_ORG_FILENAME=hash_value(MBoard_Row,"TEST_ORG_FILENAME","");  
   TEST_IMGNAME =hash_value(MBoard_Row,"TEST_IMGNAME","");  
   TEST_IMGSIZE   =hash_value(MBoard_Row,"TEST_IMGSIZE","0");  
   TEST_ORG_IMGNAME   =hash_value(MBoard_Row,"TEST_ORG_IMGNAME","");  
   TEST_MKDATE=hash_value(MBoard_Row,"TEST_MKDATE","");      
 }
 else {
  LocationGo("게시물이 존재 하지 않습니다.","go-1");
  return;
 }
 
%>
<br>  
<table width="90%" border="0" cellspacing="1" cellpadding="1" bgcolor="ffffff">
 <tr>
  <td colspan="3"  onclick="location.href='?cmd=<%=MBoard_ListCmd %>'" style="cursor:pointer">[▒▒ <b>Bright Simple Board</b> ▒▒]</td>
 </tr>  
 <tr><td height=1  bgcolor=9A9A9A></td></tr> 
 <tr><td height=5></td></tr>  
</table> 
<table width=90% cellpadding=0 cellspacing=0 align="center" height="138" border=1>
 <tr    align=center height=20>
 <td bgcolor="#F6F6F6" width=50 height=20>제목</td>
 <td style="padding-left:5px; padding-top:5px; padding-bottom:5px;">&nbsp;
   <%=TEST_TITLE%> </td></tr>
 <tr    align=center height=20>
 <td bgcolor="#F6F6F6" width=50 height=20>이름</td>
 <td style="padding-left:5px; padding-top:5px; padding-bottom:5px;">&nbsp;
  <%=TEST_NAME%></td></tr>
 <tr    align=center height=20>
 <td bgcolor="#F6F6F6" width=50 height=20>파일</td>
 <td style="padding-left:5px; padding-top:5px; padding-bottom:5px;">&nbsp;
 <%if (!TEST_FILENAME.equals("")){
  %>
  <a href=?cmd=fileDown&test_num=<%= TEST_NUM%>><%=TEST_FILENAME%>-다운 받기</a>
  <%}
  %></td></tr> 
 <tr    align=center height=20>
 <td bgcolor="#F6F6F6" width=50 height=20>이미지</td>
 <td style="padding-left:5px; padding-top:5px; padding-bottom:5px;">&nbsp;
  <% if (!TEST_IMGNAME.equals("")) out.println(ImageView(TEST_IMGNAME));%>
  <%=TEST_IMGNAME%>
  </td></tr> 
  
 <tr    align=center height=20>
 <td bgcolor="#F6F6F6" width=50 height=20>내용</td>
 <td style="padding-left:5px; padding-top:5px; padding-bottom:5px;">&nbsp;
    <%=TEST_CON%>
   </td></tr>
</table>
<table width=90% cellpadding=0 cellspacing=0 align="center" border=0> 
 <tr>
 <td align=center  style="padding-left:5px; padding-top:5px; padding-bottom:5px;">
       &nbsp;<b><a href=?cmd=del_ok&test_num=<%= TEST_NUM+MBoard_CmdAddURL%>
        onClick="return confirm('게시물을 삭제 하시겠습니까?');">삭제</a></b> 
       &nbsp;<b><a href=?cmd=edit&test_num=<%= TEST_NUM+MBoard_CmdAddURL%>>수정</a></b>
       &nbsp;<b><a href=?cmd=add<%=MBoard_CmdAddURL %>>입력</a></b>
       &nbsp;<b><a href=?cmd=<%=MBoard_ListCmd+MBoard_CmdAddURL %>>리스트</a></b> 
 </td>
 </tr>
</table> 
 
3.그럼 http://도메인/Service/기능논리명(테이블명)/?cmd=view&test_num=데이터번호 접근시 결과 화면이 아래처럼 구성된다.
 
 
 
  
 2.5.입력/수정 폼
 1.업무 처리 프로세스 단(index.jsp) 에서 cmd(기능 호출 파라미터)값에 따라 분기 처리하는 부분에 입력/수정 폼 기능 처리를 아래 처럼 정의한다.
 
 
else if (page_cmd.equals("add")){//add-입력화면이면
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
 
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
}//add-입력화면이면
else if (page_cmd.equals("edit")){//edit-수정화면이면
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 
 
// Query - Start ============================================

 Bright f_Bright=Bright.getInstance();
 String[]  ParamArr =new String[]{} ;
 String BoardEdit_Sql="select TEST_NUM, TEST_TITLE, TEST_NAME,TEST_FILENAME,";
 BoardEdit_Sql+=" TEST_FILESIZE,TEST_ORG_FILENAME,TEST_IMGNAME,TEST_IMGSIZE,TEST_ORG_IMGNAME,TEST_CON, TEST_MKDATE from ";
 BoardEdit_Sql+="  TEST_TBL where TEST_NUM is not null and TEST_NUM=?"; 

//Query - End ============================================
 
 ParamArr=f_Bright.regArrAdd(request,"test_num","0",ParamArr);
 request.setAttribute("MBoard_EditData",f_Bright.Select(BoardEdit_Sql,ParamArr));
 
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 
}//edit-수정화면이면
 
 
 
2.기능 Design 단 구성 - page_add.jsp,page_edit로 파일을 만들고 page_inputForm.jsp를 include해서 cmd(기능 호출 파라미터)값에 따라 html 디자인에 데이터 값  할당 및 동작을 아래 처럼 정의한다.
 

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR" import="java.util.*"   import="java.net.*" %>
<%@  include file="/jsp/lib/site_lib.jsp"%><% //사이트 전체 환경 파일 로드 %>
<%
if (request.getAttribute("page_cmd")==null) return ;//직접 접근 방지
if (request.getAttribute("MBoard_ListCmd")==null) return ;//직접 접근 방지

String MBoard_ListCmd=request.getAttribute("MBoard_ListCmd").toString();
String page_cmd=request.getAttribute("page_cmd").toString();
String MBoard_CmdAddURL=request.getAttribute("MBoard_CmdAddURL").toString();//페이지 마다 따라 다닐 추가 파라미터 들
String BoardFormActionUrl="";
String BoardCmdName="";
String TEST_NUM="";
String TEST_TITLE="";
String TEST_NAME="";
String TEST_CON="";
String TEST_FILENAME="";
String TEST_FILESIZE="";
String TEST_ORG_FILENAME="";
String TEST_IMGNAME ="";
String TEST_IMGSIZE   ="";
String TEST_ORG_IMGNAME   ="";
String TEST_MKDATE  ="";

if (page_cmd.equals("add")){
 BoardCmdName="입력";
 BoardFormActionUrl="?cmd="+ page_cmd+"_ok";
 
}
else if (page_cmd.equals("edit")){
 BoardCmdName="수정";
 BoardFormActionUrl="?cmd="+ page_cmd+"_ok&test_num="+reg_value("test_num","");
 
 ArrayList<HashMap<String, String>>   MBoard_ArrayList= (ArrayList<HashMap<String, String>>)request.getAttribute("MBoard_EditData");
 if (MBoard_ArrayList.size()>0){
  HashMap MBoard_Row =  (HashMap)MBoard_ArrayList.get(0); 
   TEST_NUM=hash_value(MBoard_Row,"TEST_NUM","");  
   TEST_TITLE=hash_value(MBoard_Row,"TEST_TITLE","");   
   TEST_NAME=hash_value(MBoard_Row,"TEST_NAME","");  
   TEST_CON=hash_value(MBoard_Row,"TEST_CON","");  
   TEST_FILENAME=hash_value(MBoard_Row,"TEST_FILENAME","");  
   TEST_FILESIZE=hash_value(MBoard_Row,"TEST_FILESIZE","0");  
   TEST_ORG_FILENAME=hash_value(MBoard_Row,"TEST_ORG_FILENAME","");  
   TEST_IMGNAME =hash_value(MBoard_Row,"TEST_IMGNAME","");  
   TEST_IMGSIZE   =hash_value(MBoard_Row,"TEST_IMGSIZE","0");  
   TEST_ORG_IMGNAME   =hash_value(MBoard_Row,"TEST_ORG_IMGNAME","");  
   TEST_MKDATE=hash_value(MBoard_Row,"TEST_MKDATE","");      
 }
 else {
  LocationGo("게시물이 존재 하지 않습니다.","go-1");
  return;
 }
}
%>
<script>
 
  
 function BoardInputForm()
 {
     var f_InputForm=document.InputForm;
  if(f_InputForm.test_title.value=='')
  {
   alert('제목을 입력하여 주십시요..');
   f_InputForm.test_title.focus();
   return false;
  }
  if(f_InputForm.test_name.value=='')
  {
   alert('이름을 입력하여 주십시요.');
   f_InputForm.test_name.focus();
   return false;
  }   
  if(f_InputForm.test_con.value=='')
  {
   alert('내용을 입력하여 주십시요.');
   f_InputForm.test_con.focus();
   return false;
  }   
 }
 
 function BoardInputFormSubmit()
 {
     var f_InputForm=document.InputForm;
  if (BoardInputForm()!=false) f_InputForm.submit();
 
 }
</script>
<br>
<form   name=InputForm method=post  action=<%=BoardFormActionUrl+MBoard_CmdAddURL %> 
 onsubmit="return BoardInputForm()"  ENCTYPE='multipart/form-data' >
<table width="90%" border="0" cellspacing="1" cellpadding="1" bgcolor="ffffff">
 <tr>
  <td colspan="3" onclick="location.href='?cmd=<%=MBoard_ListCmd %>'" style="cursor:pointer">[▒▒ <b>Bright Simple Board</b> ▒▒]</td>
 </tr>  
 <tr><td height=1  bgcolor=9A9A9A></td></tr> 
 <tr><td height=5></td></tr>  
</table> 
<TABLE width=90% cellpadding=0 cellspacing=0 align="center" height="138" border=1>
 <tr    align=center height=20>
 <td bgcolor="#F6F6F6" width=50 height=20>제목</td>
 <td style="padding-left:5px; padding-top:5px; padding-bottom:5px;">
 <input name="test_title" type=text  value="<%=TEST_TITLE%>" width=100%></td></tr>
 <tr    align=center height=20>
 <td bgcolor="#F6F6F6" width=50 height=20>이름</td>
 <td style="padding-left:5px; padding-top:5px; padding-bottom:5px;">
 <input
 name="test_name" type=text  value="<%=TEST_NAME%>"  width=100%></td></tr>
 <tr    align=center height=20>
 <td bgcolor="#F6F6F6" width=50 height=20>파일</td>
 <td style="padding-left:5px; padding-top:5px; padding-bottom:5px;">
 <input
 name="test_file" type=file  value=""  width=100%><%=TEST_FILENAME%></td></tr> 
 <tr    align=center height=20>
 <td bgcolor="#F6F6F6" width=50 height=20>이미지</td>
 <td style="padding-left:5px; padding-top:5px; padding-bottom:5px;">
 <input name="test_imgname" type=file  value="" 
       width=100%><%=TEST_IMGNAME%></td></tr> 
 <tr    align=center height=20>
 <td bgcolor="#F6F6F6" width=50 height=20>내용</td>
 <td style="padding-left:5px; padding-top:5px; padding-bottom:5px;">
   <textarea cols="63" rows="15" name="test_con"
   style="width:99%; height:200px;  " 
   ><%=TEST_CON%></textarea>
   </td></tr>
</TABLE>
<TABLE width=90% cellpadding=0 cellspacing=0 align="center" border=0> 
 <tr>
 <td align=center  style="padding-left:5px; padding-top:5px; padding-bottom:5px;">
   &nbsp;<b><a href=# onclick="javascript:BoardInputFormSubmit();"><%=BoardCmdName %></a></b>
      &nbsp;<b><a href=javascript:history.go(-1);>취소</a></b>
 </td>
 </tr>
</TABLE>
</form>

 
3.그럼 http://도메인/Service/기능논리명(테이블명)/?cmd=add 또는 http://도메인/Service/기능논리명(테이블명)/?cmd=edit&test_num=데이터번호 접근시 결과 화면이 아래처럼 구성된다.
 
 
 
   
 2.6.입력 처리
 1.업무 처리 프로세스 단(index.jsp) 에서 cmd(기능 호출 파라미터)값에 따라 분기 처리하는 부분에 데이터 입력 기능 처리를 아래 처럼 정의한다.
 
 
else if (page_cmd.equals("add_ok")){//add_ok-입력처리면
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
 
// Query - Start ============================================
 
 Bright f_Bright=Bright.getInstance();  
 String[]  ParamArr =new String[]{} ;

 String BoardInsert_Sql=" INSERT INTO TEST_TBL (TEST_NUM, TEST_TITLE, TEST_NAME,";
 BoardInsert_Sql+="TEST_FILENAME,TEST_FILESIZE,TEST_ORG_FILENAME,TEST_IMGNAME,TEST_IMGSIZE,TEST_ORG_IMGNAME,TEST_CON, TEST_MKDATE ) VALUES ";
 BoardInsert_Sql+=" ( (select nvl(max(TEST_NUM),0)+1 as maxNum from TEST_TBL),?,?,?,?,?,?,?,?,?,?)";
 
// Query - End ============================================
 
 ParamArr=f_Bright.regArrAdd(request,"test_title","",ParamArr);//제목
 ParamArr=f_Bright.regArrAdd(request,"test_name","",ParamArr);//이름
 ParamArr=f_Bright.arrAdd("");//파일명
 ParamArr=f_Bright.arrAdd("0");//파일사이즈
 ParamArr=f_Bright.arrAdd("");//파일 원본명
 ParamArr=f_Bright.arrAdd("");//이미지명
 ParamArr=f_Bright.arrAdd("0");//이미지사이즈
 ParamArr=f_Bright.arrAdd("");//이미즈 원본명
 ParamArr=f_Bright.regArrAdd(FileUpload,"test_con","",ParamArr);//내용    
 ParamArr=f_Bright.DateArrAdd(ParamArr);//날짜  
 
 int Board_Result_int=f_Bright.Insert(BoardInsert_Sql,ParamArr);
 if (Board_Result_int>0) out.println(Bright.LocationGo( "입력이 성공하였습니다.",MBoard_ListURL));   
 else out.println(Bright.LocationGo( "입력이 실패하였습니다.","go-1"));
 
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
}//add_ok-입력처리면
 
 
2.그럼 http://도메인/Service/기능논리명(테이블명)/?cmd=add_ok 접근시 처리 결과를 리턴한다.
 
   
 2.7.수정 처리 
 1.업무 처리 프로세스 단(index.jsp) 에서 cmd(기능 호출 파라미터)값에 따라 분기 처리하는 부분에 데이터 수정 기능 처리를 아래 처럼 정의한다.
 
 
else if (page_cmd.equals("edit_ok")){//edit_ok-수정처리면
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  
// Query - Start ============================================
 
 Bright f_Bright=Bright.getInstance();  
 String[]  ParamArr =new String[]{} ;

 String BoardUpdate_Sql=" update   TEST_TBL set ";
 BoardUpdate_Sql+=" TEST_TITLE=?";
 BoardUpdate_Sql+=", TEST_NAME=?";
 BoardUpdate_Sql+=",TEST_CON=?";
 BoardUpdate_Sql+=" where TEST_NUM=?";
 
// Query - End ============================================
  
 ParamArr=f_Bright.regArrAdd(FileUpload,"test_title","",ParamArr);//제목
 ParamArr=f_Bright.regArrAdd(FileUpload,"test_name","",ParamArr);//이름
 ParamArr=f_Bright.regArrAdd(FileUpload,"test_con","",ParamArr);//내용    
 ParamArr=f_Bright.regArrAdd(FileUpload,"test_num","",ParamArr);//번호
 int Board_Result_int=f_Bright.Update(BoardUpdate_Sql,ParamArr);
 
 if (Board_Result_int>0)  out.println(Bright.LocationGo("수정이 성공하였습니다.",MBoard_ListURL));    
 else out.println(Bright.LocationGo("수정이 실패하였습니다.","go-1"));
 
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
}//edit-수정처리면
 
 
 
2.그럼 http://도메인/Service/기능논리명(테이블명)/?cmd=edit_ok&test_num=데이터번호 접근시 처리 결과를 리턴한다.
 
 
  2.8.삭제 처리
 1.업무 처리 프로세스 단(index.jsp) 에서 cmd(기능 호출 파라미터)값에 따라 분기 처리하는 부분에 데이터 삭제 기능 처리를 아래 처럼 정의한다.
 
 
else if (page_cmd.equals("del_ok")){//del_ok-삭제처리면
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

// Query - Start ============================================
 
  Bright f_Bright=Bright.getInstance();  
  String[]  ParamArr =new String[]{} ;
 
  String BoardList_Del_Sql=" DELETE FROM  TEST_TBL  WHERE TEST_NUM=?"; 
// Query - End ============================================ 

 ParamArr=f_Bright.regArrAdd(request,"test_num","0",ParamArr);
 int Board_Result_int=f_Bright.Delete(BoardList_Del_Sql,ParamArr);
 if (Board_Result_int>0) out.println(Bright.LocationGo("삭제가 성공하였습니다.",MBoard_ListURL));    
 else out.println(Bright.LocationGo("삭제가 실패하였습니다.","go-1"));   
 
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 
}//del_ok-삭제처리면
 
 
 
2.그럼 http://도메인/Service/기능논리명(테이블명)/?cmd=del_ok&test_num=데이터번호 접근시 처리 결과를 리턴한다.
 
 
 3.1.파일 업로드시 파라미터 처리
입력/수정 폼에서 ENCTYPE='multipart/form-data' 형태로 데이타를 전송을 하였을 경우 
regArrAdd함수를 써서 request 해서 파라미터를 추가하던 방식에 대해서 post로 넘어 데이타에 대해서는
인자값을 HttpServletRequest형태가 아닌  FileUpload 인자값 형태로 바꾸어서 함수를 호출해야한다.
 
 
 이전- 예)  f_Bright.regArrAdd(request,"test_title","",ParamArr);//제목
 
 변경- 예) ParamArr=f_Bright.regArrAdd(FileUpload,"test_title","",ParamArr);//제목
 
 
이때 파일 업로드가 없더라도 ENCTYPE='multipart/form-data' 형태로 데이타를 전송을 하였기에
 
 
 FileUpload  FileUpload=new FileUpload(request);//파일 업로드 생성 초기화
 if (FileUpload.fileUpLoadAction(FileSaveSubFolder, new String[]{})){}//업로드 성공
 
 
위에 코드를 파라미터 실행하기 전에 해줘야 정상 작동이 된다.
 
 
 3.2.파일 업로드
업무 처리 프로세스 단(index.jsp) 최상단 환경 정보에 저장 서브 폴더명을 지정하고 다음 같이 파일 업로드 코드를 구성한다.
 
 
// FileUpload -Start ====================================== 

  // *Notice - ENCTYPE='multipart/form-data-로 업로드시 반드시 파일업로드 매니저 호출
   %><%@ page  import="net.mymyboard.framework.util.upload.FileUploadBeen,net.mymyboard.framework.util.upload.FileUpload" %><% 
 
   FileUploadBeen FileUploadVo_File=new FileUploadBeen();//파일 업로드 정보를 Vo저장한다.
  
FileUpload  FileUpload=new FileUpload(request);//파일 업로드 생성 초기화

 
if (FileUpload.fileUpLoadAction(FileSaveSubFolder, new String[]{})){//업로드 성공
 
  FileUploadVo_File=FileUpload.fileUploadParamChk("test_filename");
  //파일 업로드 파라미터 확장자 체크후 성공이면 Vo정보 리턴 아니면 파일 삭제
 }//업로드 성공
 else{//업로드 실패
 } //업로드 실패

// FileUpload -End ====================================== 
 
 
위에 fileUpLoadAction(FileSaveSubFolder, new String[]{})) 파란색코드는
모든 업로드 파일에서 기본 업로드 제외 확장자(jsp,exe)를 제외한  업로드 가능하다는 뜻이고
여기서 원하는 파일 형태만 업로드할려   String[]{"image","zip"})) 형식으로 제외 확정 명칭을 지정할수있고.
아래 표를 참고 하면 된다.
 
업로드 된 파일 중 해당 파라미터만 이미지,Zip 형태만 업로드 지정을 원할 경우 위 처럼 업로드 가능한 확장 명칭을 지정할수있다.
예) FileUpload.fileUploadParamChk("TEST_FILENAME",String[]{"image","zip"});
 

제외 확장자 명칭

 제외 확장자 들

기본 제외 확장자  jsp,exe
 image  jpg,jpeg,gif,bmp,pcx,png
 zip  zip,alz,gz,tar,z,rar,ace,bz,bz2
 text  txt,text,rtf,2b
 html  htm,html
 hwp  hwp,h30
 exe  exe
 font  font
 movie  avi,mpg,mpeg,mqv,asf,wmv,mov
 sound  wav,mp3,mid,wma
 jsp  jsp
 csv  csv
 
String[]{"image","zip"}는 jpg,jpeg,gif,bmp,pcx,png,zip,alz,gz,tar,z,rar,ace,bz,bz2 확장자 파일을 제외하고 
그외에 파일은 자동으로 업로드를 거부하고 업로드 된 파일등은 자동으로 삭제된다.
   
 3.3.파일 다운로드
 1.업무 처리 프로세스 단(index.jsp) 에서 cmd(기능 호출 파라미터)값에 따라 분기 처리하는 부분에 파일 다운로드 기능 처리를 아래 처럼 정의한다.
 
 
else if (page_cmd.equals("fileDown")){//fileDown-파일 다운로드이면
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
 
 String TEST_FILENAME="";
 
  if (!(TEST_FILENAME=getFileName(request)).equals("")){//파일 명이 있으면
 
    System.out.println("TEST_FILENAME==>"+TEST_FILENAME);
    request.setAttribute("DownFileName",TEST_FILENAME);//저장 파일명
    %><jsp:forward page="/jsp/lib/file/site_download.jsp"/><%
    return;
  }
  else return;//중단
 
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 
}//fileDown-파일 다운로드이면
 
 
 
2.그럼 http://도메인/Service/기능논리명(테이블명)/?cmd=fileDown&test_num=데이터번호 접근시 파일을 다운로드한다.
 
 
 3.4.이미지 업로드
파일 업로드와 동일한 방식으로 처리되며 부분적으로 아래와 같이 다르게 구성 된다. 
 
 
// FileUpload -Start ====================================== 
  // *Notice - ENCTYPE='multipart/form-data-로 업로드시 반드시 파일업로드 매니저 호출
   %><%@ page  import="net.mymyboard.framework.util.upload.FileUploadBeen,net.mymyboard.framework.util.upload.FileUpload" %><% 
 
   FileUploadBeen FileUploadVo_Img=new FileUploadBeen();//파일 업로드 정보를 Vo저장한다.
  
FileUpload  FileUpload=new FileUpload(request);//파일 업로드 생성 초기화

 
if (FileUpload.fileUpLoadAction(FileSaveSubFolder, new String[]{})){//업로드 성공
 
   FileUploadVo_Img=FileUpload.imageUploadParamChk("test_imgname");
  //이미지 업로드 파라미터 확장자 체크후 성공이면 Vo정보 리턴 아니면 파일 삭제
 
 }//업로드 성공
 else{//업로드 실패
 } //업로드 실패
 
// FileUpload -End ====================================== 
 
모든 업로드 파일에서 이미지만 업로드하기 원할 경우 if (FileUpload.fileUpLoadAction(FileSaveSubFolder, new String[]{}))를
FileUpload.imageUpLoadAction(FileSaveSubFolder) 로 변경 업로드
업로드된 파일 중 해당 파라미터만 이미지 업로드 지정을 원할 경우 FileUpload.fileUploadParamChk("test_filename");를
FileUploadVo_Img=FileUpload.imageUploadParamChk("test_imgname"); 로 변경 업로드 가능하다.
 
 3.5.이미지 보여주기
html design 단에서 아래와 같이 다르게 구성 된다. 
 
 
  <% if (!TEST_IMGNAME.equals("")) out.println(ImageView(TEST_IMGNAME));%>
 
 
ImageView 함수에 이미지 명을 인자 값으로 전달하면 이미지가 출력된다.
 
 
 3.6.입력 처리시 파일 처리
1.입력 처리시와 동일한 방식으로 처리되며 부분적으로 업무 처리 프로세스 단(index.jsp) 에서 cmd(기능 호출 파라미터)값에 따라 분기 처리하는 부분이 아래와 같이 다르게 구성 된다
 
 
else if (page_cmd.equals("add_ok")){//add_ok-입력처리면
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
 
// FileUpload -Start ======================================

  // *Notice - ENCTYPE='multipart/form-data-로 업로드시 반드시 파일업로드 매니저 호출
  %><%@ page  import="net.mymyboard.framework.util.upload.FileUploadBeen,net.mymyboard.framework.util.upload.FileUpload" %><% 
 
  FileUploadBeen FileUploadVo_File=new FileUploadBeen();//파일 업로드 정보를 Vo저장한다.
  FileUploadBeen FileUploadVo_Img=new FileUploadBeen();//이미지 업로드 정보를 Vo저장한다.
  FileUpload  FileUpload=new FileUpload(request);//파일 업로드 생성 초기화
  if (FileUpload.fileUpLoadAction(FileSaveSubFolder, new String[]{})){//업로드 성공
   FileUploadVo_File=FileUpload.fileUploadParamChk("test_filename");
   //파일 업로드 파라미터 확장자 체크후 성공이면 Vo정보 리턴 아니면 파일 삭제
   FileUploadVo_Img=FileUpload.imageUploadParamChk("test_imgname");
   //이미지 업로드 파라미터 확장자 체크후 성공이면 Vo정보 리턴 아니면 파일 삭제
  }//업로드 성공
  else{//업로드 실패
  } //업로드 실패

 
// FileUpload -End ====================================== 
 
// Query - Start ============================================
 
  Bright f_Bright=Bright.getInstance();  
  String[]  ParamArr =new String[]{} ;

  String BoardInsert_Sql=" INSERT INTO TEST_TBL (TEST_NUM, TEST_TITLE, TEST_NAME,";
  BoardInsert_Sql+="TEST_FILENAME,TEST_FILESIZE,TEST_ORG_FILENAME,TEST_IMGNAME,TEST_IMGSIZE,TEST_ORG_IMGNAME,TEST_CON, TEST_MKDATE ) VALUES ";
  BoardInsert_Sql+=" ( (select nvl(max(TEST_NUM),0)+1 as maxNum from TEST_TBL),?,?,?,?,?,?,?,?,?,?)";
 
// Query - End ============================================
 
  ParamArr=f_Bright.regArrAdd(FileUpload,"test_title","",ParamArr);//제목
  ParamArr=f_Bright.regArrAdd(FileUpload,"test_name","",ParamArr);//이름
  ParamArr=f_Bright.arrAdd(FileUploadVo_File.getSaveFileName(),"",ParamArr);//파일명
  ParamArr=f_Bright.arrAdd(FileUploadVo_File.getFileSize(),"0",ParamArr);//파일사이즈
  ParamArr=f_Bright.arrAdd(FileUploadVo_File.getOrgFileName(),"",ParamArr);//파일 원본명
  ParamArr=f_Bright.arrAdd(FileUploadVo_Img.getSaveFileName(),"",ParamArr);//이미지명
  ParamArr=f_Bright.arrAdd(FileUploadVo_Img.getFileSize(),"0",ParamArr);//이미지사이즈
  ParamArr=f_Bright.arrAdd(FileUploadVo_Img.getOrgFileName(),ParamArr);//이미즈 원본명
  ParamArr=f_Bright.regArrAdd(FileUpload,"test_con","",ParamArr);//내용   
  ParamArr=f_Bright.DateArrAdd(ParamArr);//날짜  
 
  int Board_Result_int=f_Bright.Insert(BoardInsert_Sql,ParamArr);
 
  if (Board_Result_int>0) out.println(Bright.LocationGo( "입력이 성공하였습니다.",MBoard_ListURL));   
  else out.println(Bright.LocationGo( "입력이 실패하였습니다.","go-1"));
 
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
}//add_ok-입력처리면 
 
 
 3.7.수정 처리시 파일 처리
1.수정 처리시와 동일한 방식으로 처리되며 부분적으로 업무 처리 프로세스 단(index.jsp) 에서 cmd(기능 호출 파라미터)값에 따라 분기 처리하는 부분이 아래와 같이 다르게 구성 된다
 
 
else if (page_cmd.equals("edit_ok")){//edit_ok-수정처리면
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
 
// FileUpload -Start ======================================
 
  // *Notice - ENCTYPE='multipart/form-data-로 업로드시 반드시 파일업로드 매니저 호출
  %><%@ page  import="net.mymyboard.framework.util.upload.FileUploadBeen,net.mymyboard.framework.util.upload.FileUpload" %><% 
 
  FileUploadBeen FileUploadVo_File=new FileUploadBeen();//파일 업로드 정보를 Vo저장한다.
  FileUploadBeen FileUploadVo_Img=new FileUploadBeen();//이미지 업로드 정보를 Vo저장한다.
  FileUpload  FileUpload=new FileUpload(request);//파일 업로드 생성 초기화
  if (FileUpload.fileUpLoadAction(FileSaveSubFolder, new String[]{})){//업로드 성공
    FileUploadVo_File=FileUpload.fileUploadParamChk("test_filename");
    //파일 업로드 파라미터 확장자 체크후 성공이면 Vo정보 리턴 아니면 파일 삭제
    FileUploadVo_Img=FileUpload.imageUploadParamChk("test_imgname");
    //이미지 업로드 파라미터 확장자 체크후 성공이면 Vo정보 리턴 아니면 파일 삭제
   }//업로드 성공
   else{//업로드 실패
   } //업로드 실패
 
// FileUpload -End ====================================== 
 
  String TEST_FILENAME=getFileName(request);//파일업로드이면 삭제하기 위해 기존 파일명을 가져온다.
  String TEST_IMGNAME=getImgFileName(request);//이미지 업로드이면 삭제하기 위해 기존 이미지 명을 가져온다.
 
// Query - Start ============================================
 
  Bright f_Bright=Bright.getInstance();  
  String[]  ParamArr =new String[]{} ;

  String BoardUpdate_Sql=" update   TEST_TBL set ";
  BoardUpdate_Sql+=" TEST_TITLE=?";
  BoardUpdate_Sql+=", TEST_NAME=?";

 
  if (!FileUploadVo_File.getSaveFileName().equals("")){//파일이 있으면
    BoardUpdate_Sql+=",TEST_FILENAME=?";
    BoardUpdate_Sql+=",TEST_FILESIZE=?";
    BoardUpdate_Sql+=",TEST_ORG_FILENAME=?";
  }//파일이 있으면

  if (!FileUploadVo_Img.getSaveFileName().equals("")){//이미지가  있으면
    BoardUpdate_Sql+=",TEST_IMGNAME=?";
    BoardUpdate_Sql+=",TEST_IMGSIZE=?";
    BoardUpdate_Sql+=",TEST_ORG_IMGNAME=?";
  }//이미지가  있으면

 
  BoardUpdate_Sql+=",TEST_CON=?";
  BoardUpdate_Sql+=" where TEST_NUM=?";
 
// Query - End ============================================
  
  ParamArr=f_Bright.regArrAdd(FileUpload,"test_title","",ParamArr);//제목
  ParamArr=f_Bright.regArrAdd(FileUpload,"test_name","",ParamArr);//이름
 
  if (!FileUploadVo_File.getSaveFileName().equals("")){//파일이 있으면
    ParamArr=f_Bright.arrAdd(FileUploadVo_File.getSaveFileName(),"",ParamArr);//파일명
    ParamArr=f_Bright.arrAdd(FileUploadVo_File.getFileSize(),"0",ParamArr);//파일사이즈
    ParamArr=f_Bright.arrAdd(FileUploadVo_File.getOrgFileName(),"",ParamArr);//파일 원본명
  }//파일이 있으면   
 
  if (!FileUploadVo_Img.getSaveFileName().equals("")){//이미지가  있으면
    ParamArr=f_Bright.arrAdd(FileUploadVo_Img.getSaveFileName(),"",ParamArr);//이미지명
    ParamArr=f_Bright.arrAdd(FileUploadVo_Img.getFileSize(),"0",ParamArr);//이미지사이즈
    ParamArr=f_Bright.arrAdd(FileUploadVo_Img.getOrgFileName(),ParamArr);//이미즈 원본
  }//이미지가  있으면
 
  ParamArr=f_Bright.regArrAdd(FileUpload,"test_con","",ParamArr);//내용    
  ParamArr=f_Bright.regArrAdd(FileUpload,"test_num","",ParamArr);//번호
  int Board_Result_int=f_Bright.Update(BoardUpdate_Sql,ParamArr);
 
  if (Board_Result_int>0) {
  
    if ((!FileUploadVo_File.getSaveFileName().equals("")) && (!(TEST_FILENAME).equals(""))){//업로드 파일 있으면 -삭제 
     if (FileUpload.deleteUploadFile(FileSaveSubFolder, TEST_FILENAME)){//업로드 파일 삭제 성공
      System.out.println("TEST_FILENAME-Delete has finished up a successful==>"+TEST_FILENAME);
     }
   }//업로드 파일 있으면 -삭제 
   if ((!FileUploadVo_Img.getSaveFileName().equals("")) &&(!(TEST_IMGNAME ).equals(""))){//업로드 이미지 파일 명이 있으면 -삭제 
     if (FileUpload.deleteUploadFile(FileSaveSubFolder, TEST_IMGNAME)){//업로드 파일 삭제 성공
       System.out.println("TEST_IMGNAME-Delete has finished up a successful==>"+TEST_IMGNAME);
     }
    }//업로드 이미지 파일 명이 있으면 -삭제 
  
   out.println(Bright.LocationGo("수정이 성공하였습니다.",MBoard_ListURL));    
  }
  else out.println(Bright.LocationGo("수정이 실패하였습니다.","go-1"));
 
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
}//edit-수정처리면
 
 
 3.8.삭제 처리시 파일 처리
1.삭제 처리시와 동일한 방식으로 처리되며 부분적으로 업무 처리 프로세스 단(index.jsp) 에서 cmd(기능 호출 파라미터)값에 따라 분기 처리하는 부분이 아래와 같이 다르게 구성 된다
 
 
 else if (page_cmd.equals("del_ok")){//del_ok-삭제처리면
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
 
  String TEST_FILENAME=getFileName(request); //파일 삭제하기 위해 기존 파일명을 가져온다.
  String TEST_IMGNAME=getImgFileName(request); //이미지 삭제하기 위해 기존 이미지 명을 가져온다.
  
// Query - Start ============================================
 
  Bright f_Bright=Bright.getInstance();  
  String[]  ParamArr =new String[]{} ;
 
  String BoardList_Del_Sql=" DELETE FROM  TEST_TBL  WHERE TEST_NUM=?"; 
 
// Query - End ============================================ 

  ParamArr=f_Bright.regArrAdd(request,"test_num","0",ParamArr);
  int Board_Result_int=f_Bright.Delete(BoardList_Del_Sql,ParamArr);
  if (Board_Result_int>0){
  
    if (!(TEST_FILENAME).equals("")){//파일 명이 있으면-삭제
      %><%@ page  import="net.mymyboard.framework.util.upload.FileUpload" %><% 
       FileUpload  FileUpload=new FileUpload(request);//파일 업로드 생성 초기화
       if (FileUpload.deleteUploadFile(FileSaveSubFolder, TEST_FILENAME)){//업로드 파일 삭제 성공
          System.out.println("TEST_FILENAME-Delete has finished up a successful==>"+TEST_FILENAME);
       }
    }//파일 명이 있으면-삭제
 
   if (!(TEST_IMGNAME ).equals("")){//이미지 파일 명이 있으면 -삭제
     %><%@ page  import="net.mymyboard.framework.util.upload.FileUpload" %><% 
     FileUpload  FileUpload=new FileUpload(request);//파일 업로드 생성 초기화
     if (FileUpload.deleteUploadFile(FileSaveSubFolder, TEST_IMGNAME)){//업로드 파일 삭제 성공
       System.out.println("TEST_IMGNAME-Delete has finished up a successful==>"+TEST_IMGNAME);
     }
    }//이미지 파일 명이 있으면 -삭제
  
  
   out.println(Bright.LocationGo("삭제가 성공하였습니다.",MBoard_ListURL));   
  }
  else out.println(Bright.LocationGo("삭제가 실패하였습니다.","go-1"));   
 
//  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 
}//del_ok-삭제처리면
 
 
 



  Copyright 2008-2011 (c) G-line Communications Corp All Rights Reserved.