일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- appspresso
- iBATIS
- sencha touch
- WebLogic
- tomcat
- JDOM
- 가우스
- GPS
- Google Map
- Android
- node.js
- jQuery
- swingx
- 선택적조인
- PLSQL
- jsr 296
- Ajax
- oracle
- phonegap
- Spring
- dock
- rowspan
- PHP
- MySQL
- ibsheet
- 전자정부프레임워크
- JSON
- MFC
- Struts
- Eclipse
Archives
- Today
- Total
Where The Streets Have No Name
DispatchAction 을 이용해서 인증하기 본문
DispatchAction을 이용해서 회원접근을 관리하는 방법이다.
급조한 거라 이런식으로 하면된다는 것이고 나머지는 응용해서 하면된다.
GuestLoginAction 클래스로 만들고 GuestAction 에서
이를 상속받으면 간단하게 해결된다.
* GuestLoginAction
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
public class GuestLoginAction extends DispatchAction{
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception{
HttpSession session = request.getSession();
String user = (String)session.getAttribute("user");
if(user == null){
return new ActionForward("/jsp/login.jsp", true);
}else{
return dispatchMethod(mapping,
form,
request,
response,
getMethodName(mapping, form, request, response, "cmd"));
}
}
}
* GuestAction
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.yuun.guest.form.GuestForm;
import com.yuun.guest.model.Guest;
import com.yuun.guest.model.GuestManager;
public class GuestAction extends GuestLoginAction{
public ActionForward insert(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception{
GuestForm guestForm = (GuestForm)form;
Guest guest = guestForm.getGuest();
guest.setAgent(request.getHeader("user-agent"));
guest.setIp(request.getRemoteAddr());
GuestManager manager = GuestManager.getInstance();
manager.insert(guest);
String path = "/guest.do?cmd=list";
return new ActionForward(path, true);
}
public ActionForward write(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception{
return mapping.findForward("write");
}
public ActionForward list(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception{
GuestManager manager = GuestManager.getInstance();
request.setAttribute("list", manager.getList());
return mapping.findForward("list");
}
}
급조한 거라 이런식으로 하면된다는 것이고 나머지는 응용해서 하면된다.
GuestLoginAction 클래스로 만들고 GuestAction 에서
이를 상속받으면 간단하게 해결된다.
* GuestLoginAction
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
public class GuestLoginAction extends DispatchAction{
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception{
HttpSession session = request.getSession();
String user = (String)session.getAttribute("user");
if(user == null){
return new ActionForward("/jsp/login.jsp", true);
}else{
return dispatchMethod(mapping,
form,
request,
response,
getMethodName(mapping, form, request, response, "cmd"));
}
}
}
* GuestAction
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.yuun.guest.form.GuestForm;
import com.yuun.guest.model.Guest;
import com.yuun.guest.model.GuestManager;
public class GuestAction extends GuestLoginAction{
public ActionForward insert(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception{
GuestForm guestForm = (GuestForm)form;
Guest guest = guestForm.getGuest();
guest.setAgent(request.getHeader("user-agent"));
guest.setIp(request.getRemoteAddr());
GuestManager manager = GuestManager.getInstance();
manager.insert(guest);
String path = "/guest.do?cmd=list";
return new ActionForward(path, true);
}
public ActionForward write(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception{
return mapping.findForward("write");
}
public ActionForward list(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception{
GuestManager manager = GuestManager.getInstance();
request.setAttribute("list", manager.getList());
return mapping.findForward("list");
}
}