JSTLÀ» ÀÌ¿ëÇÑ ¹®¼°ü¸®½Ã½ºÅÛ
1.°³¿ä
(1)Å×ÀÌºí ±¸Á¶
roleÅ×À̺í - rid , name
docÅ×À̺í - did,title,owner,category,role,description,cabinet,date
cabinetÅ×À̺í-cid,title,role,description
(2)sqlÆÄÀÏ
USE root;
CREATE TABLE `role` (
`rid` TINYINT (3) UNSIGNED NOT NULL,
`name` VARCHAR (20) NOT NULL,
PRIMARY KEY(`rid`), UNIQUE(`rid`));
INSERT INTO role (rid, name) VALUES (5, 'ÀϹÝȸ¿ø');
INSERT INTO role (rid, name) VALUES (4, '´Ü°ñȸ¿ø');
INSERT INTO role (rid, name) VALUES (3, '°í±Þȸ¿ø');
INSERT INTO role (rid, name) VALUES (2, 'Áß°£°ü¸®ÀÚ');
INSERT INTO role (rid, name) VALUES (1, '½Ã½ºÅÛ°ü¸®ÀÚ');
CREATE TABLE `doc` (
`did` INT (7) UNSIGNED NOT NULL AUTO_INCREMENT,
`title` VARCHAR (50) NOT NULL,
`owner` VARCHAR (10) NOT NULL,
`category` VARCHAR (30),
`role` TINYINT (3) UNSIGNED NOT NULL,
`description` TEXT,
`cabinet` TINYINT (3) UNSIGNED NOT NULL,
`data` VARCHAR (50) NOT NULL,
PRIMARY KEY(`did`), UNIQUE(`did`), INDEX(`did`)) ;
CREATE TABLE `cabinet` (
`cid` TINYINT (3) UNSIGNED NOT NULL AUTO_INCREMENT,
`title` VARCHAR (50) NOT NULL,
`role` TINYINT (3) UNSIGNED NOT NULL,
`description` TINYTEXT,
PRIMARY KEY(`cid`), UNIQUE(`cid`), INDEX(`cid`));
2.ijºñ³Ý °ü·Ã¼Ò½º
//cabinet.jsp
//ÆĶó¹ÌÅÍ¿¡ µû¶ó ÀûÀýÇÑ ÆäÀÌÁö·Î À̵¿ÇÏ°Ô ÇÑ´Ù.
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:requestEncoding value="KSC5601"/>
<c:if test="${uid == null}">
<c:redirect url="/login.jsp"/> //¼¼¼ÇºÎÁ¸Àç½Ã ·Î±×ÀÎÆäÀÌÁö·Î À̵¿
</c:if>
<c:choose>
<c:when test="${roleNo <= 2}"> //»ç¿ëÀÚ±ÇÇÑ 2ÀÌÇÏÀ̸é
<c:set var="isManager" value="yes" scope="session" />
</c:when>
<c:otherwise>
<c:set var="isManager" value="no" scope="session" />
</c:otherwise>
</c:choose>
<sql:setDataSource var="ds"
driver="com.mysql.jdbc.Driver"
user="root" password="mysql"
scope="session"
url="jdbc:mysql://localhost/root?useUnicode=true&characterEncoding=euckr"/>
<c:choose>
//ÆĶó¹ÌÅÍ¿¡ µû¶ó À̵¿ÇÒ ÆäÀÌÁö ¼±ÅÃ
<%-- ijºñ³Ý µî·Ï --%>
<c:when test="${param.cmd == 'add'}">
<jsp:forward page="cabinet_add.jsp"/>
</c:when>
<%-- º¯°æµÈ ijºñ³Ý Á¤º¸¸¦ DB¿¡ ÀúÀå --%>
<c:when test="${param.cmd == 'change'}">
<jsp:forward page="cabinet_change.jsp"/>
</c:when>
<%-- ijºñ³Ý º¯°æÀ» À§ÇÑ ³»¿ë º¸±â --%>
<c:when test="${param.cmd == 'get'}">
<jsp:forward page="cabinet_get.jsp"/>
</c:when>
<%-- ijºñ³Ý »èÁ¦ --%>
<c:when test="${param.cmd == 'delete'}">
<jsp:forward page="cabinet_delete.jsp"/>
</c:when>
<%-- ijºñ³Ý ¸ñ·Ï º¸±â(ijºñ³Ý Á¤º¸ º¯°æÀ» À§ÇØ) --%>
<c:when test="${param.cmd == 'modify'}">
<jsp:forward page="cabinet_list.jsp"/>
</c:when>
<%-- ijºñ³Ý ¸ñ·Ï º¸±â --%> //µðÆúÆ®UIÆäÀÌÁö
<c:otherwise>
<jsp:forward page="cabinet_list.jsp"/>
</c:otherwise>
</c:choose>
//cabinet_list.jsp -ȸ鿡 ijºñ³Ý ¸ñ·ÏÀ» »Ñ¸°´Ù.±âº» UIÆäÀÌÁö
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<fmt:requestEncoding value="KSC5601"/>
<c:if test="${ds == null}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<c:set var="isModify" value="no"/>
<c:if test="${isManager== 'yes' and param.cmd =='modify' }">
<c:set var="isModify" value="yes"/>
</c:if>
<sql:query dataSource="${ds}" var="rs">
select * from cabinet
</sql:query>
<html><head><title>ijºñ³Ý ¸ñ·Ï</title>
<link type="text/css" rel="stylesheet" href="/mystyle.css">
</head><body><h3 id='header'>ijºñ³Ý ¸ñ·Ï</h3>
<div id='menu'>
<%@ include file="edms_menu.jsp" %>
</div>
<div id='main'>
<table border=1 width=100%>
<tr><th>À̸§</th><th>¼³¸í</th><th>Àбâ±ÇÇÑ</th>
<c:if test="${isModify == 'yes'}"><th>»èÁ¦</th></c:if></tr>
<c:forEach var="row" items="${rs.rows}">
<tr><td>
<c:choose> //º¯°æ°¡´É¿©ºÎ¿¡ µû¸¥ ¹®¼ÀÇ ¼±ÅÃÀû ¸µÅ©°É±â
<c:when test="${isModify == 'yes'}">
<a href=cabinet.jsp?cmd=get&id=<c:out value="${row.cid}"/>>
</c:when>
<c:otherwise>
<a href=doc_manager.jsp?cabinet=<c:out value="${row.cid}"/>>
</c:otherwise>
</c:choose>
<c:out value="${row.title}"/></a></td>
<td><c:out value="${row.description}"/></td>
<td><select name=role>
<c:choose>
<c:when test="${row.role == 1}">
<option value='1'> ½Ã½ºÅÛ°ü¸®ÀÚ
</c:when>
<c:when test="${row.role == 2}">
<option value='2'> Áß°£°ü¸®ÀÚ
</c:when>
<c:when test="${row.role == 3}">
<option value='3'> °í±Þȸ¿ø
</c:when>
<c:when test="${row.role == 4}">
<option value='4'> ´Ü°ñȸ¿ø
</c:when>
<c:when test="${row.role == 5}">
<option value='5'> ÀϹÝȸ¿ø
</c:when>
</c:choose>
</select> </td>
<c:if test="${isModify == 'yes'}"> //»èÁ¦¹öÆ°¿¡ ´ëÇÑ ¸µÅ©°É±â
<td><form method=post action=cabinet.jsp>
<input type=hidden name=cmd value='delete'>
<input type=hidden name=cid value='${row.cid}'>
<input type=submit value='»èÁ¦'>
</form></td>
</c:if>
</tr>
</c:forEach>
</table>
</div>
</body>
</html>
//edms_menu.jsp
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<div id="menucontainer">
<div id="shatop"></div>
<h3 class="center">¸Þ ´º</h3>
<div class="blank"> </div>
<a href=/login.jsp>¸ÞÀÎÆäÀÌÁö</a>
<div class="blank"> </div>
<c:if test="${roleNo <= 2}">
<a href=cabinet_input.jsp>ijºñ³Ý µî·Ï</a>
<div class="blank"> </div>
<a href=cabinet.jsp?cmd=modify>ijºñ³Ý °ü¸®</a>
<div class="blank"> </div>
</c:if>
<a href=cabinet.jsp>ijºñ³Ý º¸±â</a>
<div class="blank"> </div>
<a href=doc_input.jsp>¹®¼ µî·Ï</a>
<div class="blank"> </div>
<a href=doc_keyword.jsp>¹®¼ ã±â</a>
<div class="blank"> </div>
<div id="shabottom"></div>
</div>
//cabinet_input.jsp
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:if test="${ds == null or isManager == 'no'}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<html><head><title>ijºñ³Ý µî·Ï</title>
<link type="text/css" rel="stylesheet" href="/mystyle.css">
</head>
<body>
<h3 id='header'>ijºñ³Ý µî·Ï</h3>
<div id='menu'>
<%@ include file="edms_menu.jsp" %>
</div>
<div id='main'>
<form action=cabinet.jsp method=post>
<table>
<tr>
<td>ijºñ³Ý À̸§</td>
<td><input type=text name=title></td>
</tr>
<tr>
<td>ijºñ³Ý ¼³¸í</td>
<td><textarea name=description
rows=10 cols=35></textarea></td>
</tr>
<tr>
<td>Àб⠱ÇÇÑ</td>
<td><select name=role>
<option value="1" >½Ã½ºÅÛ°ü¸®ÀÚ
<option value="2" >Áß°£°ü¸®ÀÚ
<option value="3" >°í±Þȸ¿ø
<option value="4" >´Ü°ñȸ¿ø
<option selected value="5" >ÀϹÝȸ¿ø
</select></td>
</tr>
<tr><td colspan=2><center>
<input type=submit value="µî·Ï">
<input type=reset value="Ãë¼Ò">
</center></td>
</tr>
</table>
<input type=hidden name=cmd value="add">
</form>
</div>
</body>
</html>
//cabinet_add.jsp
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<fmt:requestEncoding value="KSC5601"/>
<c:if test="${ds == null}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<sql:transaction dataSource="${ds}">
<sql:update>
INSERT INTO cabinet VALUES( ?, ?, ?)
<sql:param value="${param.title}"/>
<sql:param value="${param.role}"/>
<sql:param value="${param.description}"/>
</sql:update>
<sql:query var="rs">
SELECT cid FROM cabinet WHERE cid
= (SELECT MAX(cid) FROM cabinet)
</sql:query>
<c:forEach var="row" items="${rs.rows}">
<c:set var="cn" value="${row.cid}"/>
</c:forEach>
</sql:transaction>
<% // ¹®¼ ÀúÀåÀ» À§ÇÑ µð·ºÅ丮 »ý¼º
String path = application.getRealPath("/edms");
path += "/" + (Integer)pageContext.getAttribute("cn");
myclasses.FileUtil.mkdir(path);
%>
<c:redirect url="cabinet.jsp"/>
//cabinet_get.jsp
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<fmt:requestEncoding value="KSC5601"/>
<c:if test="${ds == null}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<sql:query dataSource="${ds}" var="rs">
select * from cabinet where cid=?
<sql:param value="${param.id}"/>
</sql:query>
<html><head><title>ijºñ³Ý µ¥ÀÌÅÍ º¯°æ</title>
<link type="text/css" rel="stylesheet" href="/mystyle.css">
</head><body>
<h3 id='header'>ijºñ³Ý µ¥ÀÌÅÍ º¯°æ </h3>
<div id='menu'>
<%@ include file="edms_menu.jsp" %>
</div>
<div id='main'>
<form method=post action=cabinet.jsp>
<table>
<c:forEach var="row" items="${rs.rows}">
<tr><td>ijºñ³Ý À̸§</td>
<td><input type=text name=title
value='<c:out value="${row.title}"/>'></td></tr>
<tr><td>¹®¼ ¼³¸í</td>
<td><textarea name=description rows=10
cols=35><c:out value="${row.description}"/></textarea></td></tr>
<tr><td>Àбâ±ÇÇÑ</td>
<td><select name=role>
<option value="1"
<c:if test="${row.role == 1}">selected</c:if>>½Ã½ºÅÛ°ü¸®ÀÚ
<option value="2"
<c:if test="${row.role == 2}"> selected</c:if>>Áß°£°ü¸®ÀÚ
<option value="3"
<c:if test="${row.role == 3}"> selected</c:if>>°í±Þȸ¿ø
<option value="4"
<c:if test="${row.role == 4}"> selected</c:if>>´Ü°ñȸ¿ø
<option value="5"
<c:if test="${row.role == 5}"> selected</c:if>>ÀϹÝȸ¿ø
</select>
</td></tr>
</c:forEach>
</table>
<input type=hidden name=id value='<c:out value="${param.id}"/>'>
<input type=hidden name=cmd value='change'>
<input type=submit value="º¯°æÇϱâ">
</form>
</div>
</body>
</html>
//cabinet_change.jsp
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<fmt:requestEncoding value="KSC5601"/>
<c:if test="${ds == null}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<sql:transaction dataSource="${ds}">
<sql:update>
UPDATE cabinet SET title =?, role = ?,
description = ? where cid = ?
<sql:param value="${param.title}"/>
<sql:param value="${param.role}"/>
<sql:param value="${param.description}"/>
<sql:param value="${param.id}"/>
</sql:update>
</sql:transaction>
<c:redirect url="cabinet.jsp"/>
//cabinet_delete.jsp
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<c:if test="${ds == null or isManager == 'no'}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<sql:transaction dataSource="${ds}">
<sql:update>
delete from cabinet where cid = ?
<sql:param value="${param.cid}"/>
</sql:update>
<sql:update>
delete from doc where cabinet = ?
<sql:param value="${param.cid}"/>
</sql:update>
</sql:transaction>
<% // ¹®¼ ÀúÀåÀ» À§ÇÑ µð·ºÅ丮 »èÁ¦
String path = application.getRealPath("/edms");
path += "/" + request.getParameter("cid");
myclasses.FileUtil.rmdir(new java.io.File(path));
%>
<c:redirect url="cabinet.jsp"/>
3.¹®¼ °ü·Ã ¼Ò½º
//doc_manager.jsp
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<fmt:requestEncoding value="KSC5601"/>
<c:if test="${ds == null}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<%-- ¹®¼ Á¤º¸¸¦ DB¿¡ ÀúÀå --%>
<c:choose>
<c:when test="${param.cmd == 'add'}">
<jsp:forward page="doc_add.jsp"/>
</c:when>
<%-- º¯°æµÈ ¹®¼ Á¤º¸¸¦ DB¿¡ ÀúÀå --%>
<c:when test="${param.cmd == 'change'}">
<jsp:forward page="doc_change.jsp"/>
</c:when>
<%-- ¹®¼ »èÁ¦ --%>
<c:when test="${param.cmd == 'delete'}">
<jsp:forward page="doc_delete.jsp"/>
</c:when>
<%-- ¹®¼ Á¤º¸ º¯°æÀ» À§ÇÑ ³»¿ë º¸±â --%>
<c:when test="${param.cmd == 'get'}">
<jsp:forward page="doc_get.jsp"/>
</c:when>
<%-- °Ë»ö °á°ú ¹× ijºñ³Ý ¹®¼ ¸ñ·Ï º¸±â --%> //µðÆúÆ®UIÆäÀÌÁö
<c:otherwise>
<jsp:forward page="doc_list.jsp"/>
</c:otherwise>
</c:choose>
//doc_get.jsp -¹®¼¸¦ °¡Á®¿Í¼ ¹®¼³»¿ëÀ» Ãâ·ÂÇÑ´Ù.
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<fmt:requestEncoding value="KSC5601"/>
<c:if test="${ds == null}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<c:choose>
<%-- Å°¿öµå·Î ¹®¼ ã±â SQL --%>
<c:when test="${param.cmd == 'search'}">
<sql:query dataSource="${ds}" var="rs">
select * from doc where category like ? or
description like ?
<sql:param value="%${param.keyword}%"/>
<sql:param value="%${param.keyword}%"/>
</sql:query>
</c:when>
<%-- ijºñ³ÝÀÇ ¹®¼ ¸ñ·Ï º¸±â SQL --%>
<c:otherwise>
<sql:query dataSource="${ds}" var="rs">
select * from doc where cabinet = ?
<sql:param value="${param.cabinet}"/>
</sql:query>
</c:otherwise>
</c:choose>
<%-- SQL·Î ãÀº ³»¿ë Ãâ·Â --%>
<% String dir = request.getContextPath() + "/edms/";
pageContext.setAttribute("dir", dir); %>
<html><head><title>ijºñ³Ý ³»¿ë</title></head>
<link type="text/css" rel="stylesheet" href="/mystyle.css">
<body><h3 id='header'>ijºñ³Ý ³»¿ë</h3>
<div id='menu'>
<%@ include file='edms_menu.jsp' %>
</div>
<div id='main'>
<table border=1 width=100%>
<tr><th>¹®¼¸í</th><th>Ä«Å×°í¸®</th>
<th>¼³¸í </th><th>ijºñ³Ý</th><th>¼öÁ¤</th>
<c:if test="${roleNo <= 2}"><th>»èÁ¦</th></c:if></tr>
<c:forEach var="row" items="${rs.rows}">
<c:if test="${roleNo <= row.role}">
<tr><td>
<c:if test="${row.data != ''}">
<a href='/servlet/DownloadFile?file=<c:out
value="${row.data}"/>&cabinet=<c:out value="${row.cabinet}"/>'>
</c:if>
<c:out value="${row.title}"/></a></td>
<td><c:out value="${row.category}"/></td>
<td><c:out value="${row.description}"/></td>
<td><a href=doc_manager.jsp?cabinet=<c:out //ijºñ³Ý¸®½ºÆ®ÆäÀÌÁö·Î À̵¿
value="${row.cabinet}"/>>
<c:out value="${row.cabinet}"/></a></td>
<td>
<c:if test="${ row.owner == uid or row.role > roleNo}">
<a href=doc_manager.jsp?cmd=get&id=<c:out value= "${row.did}" />> //Ư¼º¹®¼°¡Á®¿Í¼ »Ñ¸®´Â ÆäÀÌÁö
º¯°æ</a> </c:if></td>
<c:if test="${roleNo <= 2}"> <td>
<a href=doc_manager.jsp?cmd=delete&did=<c:out
value="${row.did}"/>>»èÁ¦</a></td>
</c:if></tr>
</c:if>
</c:forEach>
</table>
</div>
</body>
</html>
//doc_input.jsp
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<fmt:requestEncoding value="KSC5601"/>
<c:if test="${ds == null}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<sql:query dataSource="${ds}" var="rs">
select cid, title from cabinet
</sql:query>
<html><head><title>¹®¼ µî·Ï</title></head>
<link type="text/css" rel="stylesheet" href="/mystyle.css">
<body><h3 id='header'>¹®¼ µî·Ï</h3>
<div id='menu'>
<%@ include file="edms_menu.jsp" %>
</div>
<div id='main'>
<form action=doc_upload.jsp method=post enctype="multipart/form-data">
<table>
<tr>
<td>¹®¼ Á¦¸ñ</td>
<td> <input type=text name=title></td>
</tr>
<tr>
<td>Ä«Å×°í¸®</td>
<td><input type=text name=category></td>
</tr>
<tr>
<td>Àб⠱ÇÇÑ</td>
<td> <select name=role>
<option value="1" >½Ã½ºÅÛ°ü¸®ÀÚ
<option value="2" >Áß°£°ü¸®ÀÚ
<option value="3" >°í±Þȸ¿ø
<option value="4" >´Ü°ñȸ¿ø
<option selected value="5" >ÀϹÝȸ¿ø
</select>
</td>
</tr>
<tr>
<td>¹®¼ ¼³¸í</td>
<td>
<textarea name=description rows=10 cols=35></textarea></td> //¹®¼³»¿ë ÀÔ·ÂÇÏ´Â ºÎºÐ
</tr>
<tr>
<td>ijºñ³Ý</td>
<td> <select name=cabinet>
<c:forEach var="row" items="${rs.rows}">
<option value=<c:out value="${row.cid}"/>>
<c:out value="${row.title}"/>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td>¹®¼ ÆÄÀÏ</td>
<td><input type=file name=data></td>
</tr>
<tr>
<td colspan=2>
<input type=submit value="µî·Ï">
<input type=reset value="Ãë¼Ò">
</td>
</tr>
</table>
<input type=hidden name=cmd value="add">
</form>
</div>
</body>
</html>
//doc_upload.jsp
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page import="java.util.*" %>
<%@ page import="com.oreilly.servlet.*" %>
<%@ page errorPage="error.jsp"%>
<%
ServletContext cxt = getServletContext();
String dir = cxt.getRealPath("/edms/");
int max = 5 * 1024 * 1024; // 5MB
MultipartRequest multi =
new MultipartRequest(request, dir, max, "KSC5601");
Enumeration params = multi.getParameterNames();
while(params.hasMoreElements()) {
String name = (String) params.nextElement();
String value = multi.getParameter(name);
request.setAttribute(name, value); //request°´Ã¼¿¡ °ªµéÀ» ÀúÀåÇÑ´Ù.
}
Enumeration files = multi.getFileNames();
String fileName = null;
request.setAttribute("data", fileName);
while (files.hasMoreElements()) {
String name = (String)files.nextElement();
fileName = multi.getFilesystemName(name);
request.setAttribute("data", fileName);//ÆÄÀÏÀ̸§À» ÀúÀåÇÑ´Ù.
break;
}
String cmd = multi.getParameter("cmd");
String gotoPage = "/doc_manager.jsp?cmd=change";
if(fileName != null) {
String cabinet = multi.getParameter("cabinet");
String from = dir + "/" + fileName;
String newName = fileName;
if(cmd != null && cmd.equals("add")) {
int index = fileName.lastIndexOf(".");
if(index != -1) {
String bareName = fileName.substring(0, index);
String ext = fileName.substring(index+1,
fileName.length());
long num = new Date().getTime();
newName = bareName + "_" + num + "." + ext; //Áߺ¹¹æÁö¸¦ À§Çؼ ½Ã°£±îÁö ´õÇؼ º¸³½´Ù.
request.setAttribute("data", newName);
gotoPage = "/doc_manager.jsp?cmd=add";
}
}
String to = dir + "/" + cabinet + "/" + newName;
myclasses.FileUtil.move(from, to);
} else if(fileName == null) {
if(cmd != null && cmd.equals("add")) {
gotoPage = "/doc_manager.jsp?cmd=add";
}
}
RequestDispatcher rd =
cxt.getRequestDispatcher(gotoPage);
rd.forward(request, response);
%>
//doc_add.jsp
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<fmt:requestEncoding value="KSC5601"/>
<c:if test="${ds == null}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<sql:transaction dataSource="${ds}">
<sql:update>
INSERT INTO doc VALUES( ?, ?, ?, ?, ?, ?, ?)
<sql:param value="${requestScope.title}"/>
<sql:param value="${uid}"/>
<sql:param value="${requestScope.category}"/>
<sql:param value="${requestScope.role}"/>
<sql:param value="${requestScope.description}"/>
<sql:param value="${requestScope.cabinet}"/>
<c:choose>
<c:when test="${requestScope.data == null}">
<sql:param value=""/>
</c:when>
<c:otherwise>
<sql:param value="${requestScope.data}"/>
</c:otherwise>
</c:choose>
</sql:update>
</sql:transaction>
<c:redirect url="cabinet.jsp"/>
//DownloadFile.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class DownloadFile extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException {
req.setCharacterEncoding("KSC5601");
byte [] buffer = new byte[1024];
String file = req.getParameter("file");
String cabinet = req.getParameter("cabinet");
String hfile = myclasses.StringUtil.toHangul(file); //ÇÑ±Û ¹®Á¦
res.setContentType("application/octet");//ÆÄÀÏ´Ù¿î·ÎµåÇüÅÂ
res.setHeader("Content-Disposition", //ÀúÀåÇÒ ÆÄÀÏÀ̸§À» ÁöÁ¤ÇϱâÀ§ÇØ
"attachment;filename=" + file);
ServletOutputStream out = res.getOutputStream();
try {
ServletContext cxt = getServletConfig().getServletContext();
String path = "/edms/" + cabinet + "/" + hfile;
path = cxt.getRealPath(path);
BufferedInputStream in = new
BufferedInputStream(new FileInputStream(path));
int n = 0;
while((n=in.read(buffer, 0, 1024)) != -1) {
out.write(buffer, 0, n);
}
out.close();
in.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
//doc_get.jsp
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<fmt:requestEncoding value="KSC5601"/>
<c:if test="${ds == null}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<sql:query dataSource="${ds}" var="rs">
select * from doc where did=?
<sql:param value="${param.id}"/>
</sql:query>
<sql:query dataSource="${ds}" var="rs2">
select cid, title from cabinet
</sql:query>
<html><head><title>¹®¼ Á¤º¸ º¯°æ</title></head>
<link type="text/css" rel="stylesheet" href="/mystyle.css">
<body> <h3 id='header'>¹®¼ Á¤º¸ º¯°æ </h3>
<div id='menu'>
<%@ include file="edms_menu.jsp" %>
</div>
<div id='main'>
<form method=post action=doc_upload.jsp
enctype="multipart/form-data">
<table>
<c:forEach var="row" items="${rs.rows}">
<tr><td>¹®¼ À̸§</td>
<td> <input type=text name=title
value='<c:out value="${row.title}"/>'> </td></tr>
<tr><td>¹®¼ Ä«Å×°í¸®</td>
<td><input type=text name=category
value='<c:out value="${row.category}"/>'></td></tr>
<tr><td>¹®¼ ¼³¸í</td>
<td><textarea name=description rows=10
cols=35><c:out value="${row.description}"/></textarea>
</td></tr>
<tr><td>Àб⠱ÇÇÑ</td>
<td><select name=role>
<option value="1"
<c:if test="${row.role == 1}">selected</c:if>>½Ã½ºÅÛ°ü¸®ÀÚ
<option value="2"
<c:if test="${row.role == 2}"> selected</c:if>>Áß°£°ü¸®ÀÚ
<option value="3"
<c:if test="${row.role == 3}"> selected</c:if>>°í±Þȸ¿ø
<option value="4"
<c:if test="${row.role == 4}"> selected</c:if>>´Ü°ñȸ¿ø
<option value="5"
<c:if test="${row.role == 5}"> selected</c:if>>ÀϹÝȸ¿ø
</select>
</td></tr>
<tr><td>ijºñ³Ý</td>
<td> <select name=cabinet>
<c:forEach var="row2" items="${rs2.rows}">
<option value=<c:out value="${row2.cid}"/>
<c:if test="${row.cabinet == row2.cid}">selected
</c:if>><c:out value="${row2.title}"/>
</c:forEach>
<input type=hidden name=cn
value='<c:out value="${row.cabinet}"/>'>
<input type=hidden name=fname
value='<c:out value="${row.data}"/>'> </tr>
<tr><td>ÆÄÀÏ ¾÷µ¥ÀÌÆ®</td>
<td><input type=file name=data></td></tr>
</c:forEach>
</table>
<input type=hidden name='id'
value='<c:out value="${param.id}"/>'>
<input type=hidden name='cmd' value='change'>
<input type=submit value="º¯°æÇϱâ">
</form>
</div>
</body>
</html>
//doc_change.jsp
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<fmt:requestEncoding value="KSC5601"/>
<c:if test="${ds == null}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<sql:transaction dataSource="${ds}">
<sql:update>
UPDATE doc SET title =?, owner = ?, category=?, role = ?,
description = ?, cabinet=?, data = ? where did = ?
<sql:param value="${requestScope.title}"/>
<sql:param value="${uid}"/>
<sql:param value="${requestScope.category}"/>
<sql:param value="${requestScope.role}"/>
<sql:param value="${requestScope.description}"/>
<sql:param value="${requestScope.cabinet}"/>
<c:choose>
<c:when test="${requestScope.data == null}">
<sql:param value="${requestScope.fname}"/>
</c:when>
<c:otherwise>
<sql:param value="${requestScope.data}"/>
</c:otherwise>
</c:choose>
<sql:param value="${requestScope.id}"/>
</sql:update>
</sql:transaction>
<c:if test="${param.cabinet != param.cn}">
<%
String fname = request.getParameter("fname");
String newFileName = request.getParameter("data");
String cn = request.getParameter("cn");
String from = application.getRealPath("/edms/" + cn + "/" + fname);
if(fname != null && fname.equals(newFileName)) {
String newcn = request.getParameter("cabinet");
String to = application.getRealPath("/edms/" +
newcn + "/" + fname);
myclasses.FileUtil.move(from, to);
} else if(fname != null && !fname.equals(newFileName)) {
myclasses.FileUtil.delete(from);
}
%>
</c:if>
<c:redirect url="cabinet.jsp"/>
//doc_delete.jsp
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<c:if test="${ds == null or isManager == 'no'}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<sql:query dataSource="${ds}" var="rs">
select cabinet, data from doc where did=?
<sql:param value="${param.did}"/>
</sql:query>
<c:forEach var="row" items="${rs.rows}">
<c:set var="cn" value="${row.cabinet}"/>
<c:set var="fname" value="${row.data}"/>
</c:forEach>
<% // ÀúÀåµÈ ÆÄÀÏ »èÁ¦
String path = application.getRealPath("/edms");
Integer cn = (Integer)pageContext.getAttribute("cn");
String fname = (String)pageContext.getAttribute("fname");
path += "/" + cn + "/" + fname;
myclasses.FileUtil.delete(path);
%>
<%-- doc Å×ÀÌºí ·¹ÄÚµå »èÁ¦ --%>
<sql:transaction dataSource="${ds}">
<sql:update>
delete from doc where did = ?
<sql:param value="${param.did}"/>
</sql:update>
</sql:transaction>
<c:redirect url="cabinet.jsp"/>
//doc_keyword.jsp
<%@ page contentType="text/html;charset=KSC5601" %>
<%@ page errorPage="error.jsp"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:if test="${ds == null}">
<c:redirect url="cabinet.jsp"/>
</c:if>
<html><head><title>¹®¼ ã±â</title></head>
<link type="text/css" rel="stylesheet" href="/mystyle.css">
<body>
<h3 id='header'>¹®¼ ã±â</h3>
<div id='menu'>
<%@ include file="edms_menu.jsp" %>
</div>
<div id='main'>
<form action=doc_manager.jsp method=post>
<p> Å°¿öµå <input type=text name=keyword>
<input type=submit value="ã±â">
<input type=hidden name=cmd value=search>
</form>
</div>
</body>
</html>