Last Modified : 2008.06.29
¸ðµ¨2 °Ô½ÃÆÇ
ÄÁÆ®·Ñ·¯ÀÎ UserServlet ¼ºí¸´ ±¸Çö
UserServlet.java
package com.dadam.model2;
import javax.servlet.*;
import javax.servlet.http.*;
import com.dadam.model2.action.Action;
import java.io.*;
public class UserServlet extends HttpServlet {
public void doPost ( HttpServletRequest request,
HttpServletResponse response ) throws ServletException, IOException {
ActionForward forward = null;
Action action = null;
try {
UserCommandFactory cf = UserCommandFactory.getInstance();
String url = request.getServletPath();
action = cf.getAction(url);
forward = action.execute(request, response);
} catch ( Exception e) {
throw new ServletException(e.getMessage());
}
if ( forward.isRedirect() ) {
response.sendRedirect( forward.getPath() );
} else {
ServletContext sc = getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher(forward.getPath());
rd.forward(request, response);
}
}
public void doGet ( HttpServletRequest request,
HttpServletResponse response ) throws ServletException, IOException {
doPost(request, response);
}
}
UserCommandFactory.java
package com.dadam.model2;
import com.dadam.model2.action.*;
public class UserCommandFactory {
private static UserCommandFactory instance = new UserCommandFactory();
private UserCommandFactory() {}
public static UserCommandFactory getInstance() {
return instance;
}
public Action getAction ( String url ) throws Exception {
Action action = null;
if ( url.startsWith("/model2/list.dam") ) {
action = new ListAction();
} else if ( url.startsWith("/model2/view.dam") ) {
action = new ViewAction();
} else if ( url.startsWith("/model2/modify_form.dam") ) {
action = new ModifyFormAction();
} else if ( url.startsWith("/model2/modify_proc.dam") ) {
action = new ModifyAction();
} else if ( url.startsWith("/model2/delete_proc.dam") ) {
action = new DeleteAction();
} else if ( url.startsWith("/model2/write_form.dam") ) {
action = new WriteFormAction();
} else if ( url.startsWith("/model2/write_proc.dam") ) {
action = new WriteAction();
}
return action;
}
}
ActionForward.java
package com.dadam.model2;
public class ActionForward {
private boolean isRedirect = false;
private String path = null;
public boolean isRedirect() {
return isRedirect;
}
public String getPath() {
return path;
}
public void setRedirect ( boolean isRedirect ) {
this.isRedirect = isRedirect;
}
public void setPath ( String path ) {
this.path = path;
}
}
Action.java
package com.dadam.model2.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dadam.model2.*;
public interface Action {
public ActionForward execute (HttpServletRequest request,
HttpServletResponse response ) throws Exception;
}
ListAction.java
import com.dadam.board.*;
import java.util.*;
import net.java_school.util.*;
public class ListAction implements Action {
public ActionForward execute (
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// Parameter
int cur_page = (request.getParameter("cur_page") == null) ? 1 :
Integer.parseInt(request.getParameter("cur_page"));
String board = request.getParameter("board");
if ( board == null ) {
board = "notice";
}
int num_per_page = 7;
GulManager gulManager = new GulManager();
ArrayList gulList = gulManager.findGulList( cur_page, num_per_page, board );
int total_record = gulManager.getTotalRecord(board);
request.setAttribute("gulList", gulList);
request.setAttribute("total_record", new Integer(total_record));
request.setAttribute("board", board);
request.setAttribute("num_per_page", new Integer(num_per_page));
request.setAttribute("cur_page", new Integer(cur_page));
ActionForward forward = new ActionForward();
forward.setPath("/model2/list.jsp");
return forward;
}
}
ViewAction.java
package com.dadam.model2.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dadam.model2.*;
import com.dadam.board.*;
public class ViewAction implements Action {
public ActionForward execute (
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// Parameter
String cur_page = request.getParameter("cur_page");
String board = request.getParameter("board");
String number = request.getParameter("number");
GulManager gulManager = new GulManager();
Gul gul = gulManager.findGul( Integer.parseInt(number) );
request.setAttribute("gul", gul);
request.setAttribute("board", board);
request.setAttribute("cur_page", cur_page);
request.setAttribute("number", number);
ActionForward forward = new ActionForward();
forward.setPath("/model2/view.jsp");
return forward;
}
}
ModifyFormAction.java
package com.dadam.model2.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dadam.model2.*;
import com.dadam.board.*;
public class ModifyFormAction implements Action {
public ActionForward execute (
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// Parameter
String cur_page = request.getParameter("cur_page");
String board = request.getParameter("board");
String number = request.getParameter("number");
GulManager gulManager = new GulManager();
Gul gul = gulManager.findGul( Integer.parseInt(number) );
request.setAttribute("gul", gul);
request.setAttribute("board", board);
request.setAttribute("cur_page", cur_page);
request.setAttribute("number", number);
ActionForward forward = new ActionForward();
forward.setPath("/model2/modify_form.jsp");
return forward;
}
}
ModifyAction.java
package com.dadam.model2.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dadam.model2.*;
import com.dadam.board.*;
public class ModifyAction implements Action {
public ActionForward execute (
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// Parameter
request.setCharacterEncoding("EUC-KR");
String cur_page = request.getParameter("cur_page");
String board = request.getParameter("board");
String number = request.getParameter("number");
String subject = request.getParameter("subject");
String content = request.getParameter("content");
Gul gul = new Gul();
gul.setSubject(subject);
gul.setContent(content);
gul.setBcode(board);
gul.setGulno(Integer.parseInt(number));
GulManager gulManager = new GulManager();
int success = gulManager.update( gul );
ActionForward forward = new ActionForward();
forward.setRedirect(true);
String path = null;
if ( success > 0 ) {
path = "view.dam?number="+number+"&cur_page="+cur_page+"&board="+board;
forward.setPath(path);
} else {
path = "modify_form.dam?number="+number+"&cur_page="+cur_page+"&board="+board;
forward.setPath(path);
}
return forward;
}
}
DeleteAction.java
package com.dadam.model2.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dadam.model2.*;
import com.dadam.board.*;
public class DeleteAction implements Action {
public ActionForward execute (
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// Parameter
String cur_page = request.getParameter("cur_page");
String board = request.getParameter("board");
String number = request.getParameter("number");
GulManager gulManager = new GulManager();
gulManager.remove( Integer.parseInt(number) );
String path = null;
ActionForward forward = new ActionForward();
forward.setRedirect(true);
path = "list.dam?board="+board+"&cur_page="+cur_page;
forward.setPath( path );
return forward;
}
}
WriteFormAction.java
package com.dadam.model2.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dadam.model2.*;
public class WriteFormAction implements Action {
public ActionForward execute (
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// Parameter
String cur_page = request.getParameter("cur_page");
String board = request.getParameter("board");
request.setAttribute("cur_page", cur_page);
request.setAttribute("board", board);
ActionForward forward = new ActionForward();
forward.setPath("/model2/write_form.jsp");
return forward;
}
}
WriteAction.java
package com.dadam.model2.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dadam.model2.*;
import com.dadam.board.*;
public class WriteAction implements Action {
public ActionForward execute (
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// Parameter
request.setCharacterEncoding("EUC-KR");
String cur_page = request.getParameter("cur_page");
String board = request.getParameter("board");
String subject = request.getParameter("subject");
String content = request.getParameter("content");
Gul gul = new Gul();
gul.setSubject(subject);
gul.setContent(content);
gul.setBcode(board);
GulManager gulManager = new GulManager();
gulManager.create(gul);
ActionForward forward = new ActionForward();
forward.setRedirect(true);
String path = "list.dam?board="+board;
forward.setPath(path);
return forward;
}
}
