2007년 01월 16일
실험5 JSP 웹 프로그래밍 C+M & V로 가기 위한 구성
C = Commander.jsp
M = Videoinput.jsp
V = Videoinput.jsp
Commander.jsp 에서 이전 페이지가 어디로부터 왔는지(from)
<%=request.getHeader("Referer")%>를 통해서 알아내고,
무엇을 할껀지도 이전페이지의 hidden필드로 부터 알아낸다(job_name)
그리고 다시 돌아갈 위치를 정한다(wherego)
Commander.jsp에서는 job_name에 딸아서 사용할 데이터빈즈의 종류를 선택하여 생성하고,
이전 페이지로부터 입력받은 값을 담는다.
Commander.jsp에서 처리를 한다음 이전페이지로 다시 이동하여 출력 시키기 위해서
<meta http-equiv='refresh' content='5;url=<%=request.getHeader("Referer")%>'> 를 이용한다.
따라서 이를 정리하면 다음과 같다.
//출력
처리가 잘 되었습니다.
5초후 <%=request.getHeader("Referer")%>로 이동합니다.
<meta http-equiv='refresh' content='5;url=<%=request.getHeader("Referer")%>'>
Videoinput.jsp에서는
세션에 등록된 인스턴스객체가 null이면 인풋폼을 나타내고 아니면 출력을 한 다음 이 세션을 비운다.
완성된 Commander.jsp 소스는 다음과 같다.
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import = "ControlBean.Commander" %>
<%@ page import = "DataBean.VideoDataBean" %>
<% request.setCharacterEncoding("euc-kr");%>
<%
String job_name=request.getParameter("job_name");
if(job_name.equals("video")){
%>
<jsp:useBean id="Video" class="DataBean.VideoDataBean" />
<jsp:setProperty name="Video" property="*" />
</jsp:useBean>
<%
Commander c1=Commander.VideoInputCommander(job_name,Video);
out.print("현재 생성된 job_name은"+c1.getJob_name());
int chk=c1.Output(job_name,Video);
out.print(chk+"처리결과");
out.print(VideoDataBean.getInstance().getVname()+"인스턴스로출력"+"<BR>");
//세선은 오브젝트형을 저장할수 있으므로 세션에다가 인스턴스 객체를 저장
session.setAttribute("videooutput",(Object)VideoDataBean.getInstance());
//저장된 세션의 인스턴스 객체를 비디오 데이터형을 다시 가져옴
VideoDataBean v2=(VideoDataBean)session.getAttribute("videooutput");
out.print(v2.getVname()+"고대로출력"+"<BR>");
}
%>
<p>//출력
처리가 잘 되었습니다.
5초후<%=request.getHeader("Referer")%>로 이동합니다.
<meta http-equiv='refresh' content='5;url=<%=request.getHeader("Referer")%>'>
이글루스 가든 - 자바 프로그래머
M = Videoinput.jsp
V = Videoinput.jsp
Commander.jsp 에서 이전 페이지가 어디로부터 왔는지(from)
<%=request.getHeader("Referer")%>를 통해서 알아내고,
무엇을 할껀지도 이전페이지의 hidden필드로 부터 알아낸다(job_name)
그리고 다시 돌아갈 위치를 정한다(wherego)
Commander.jsp에서는 job_name에 딸아서 사용할 데이터빈즈의 종류를 선택하여 생성하고,
이전 페이지로부터 입력받은 값을 담는다.
Commander.jsp에서 처리를 한다음 이전페이지로 다시 이동하여 출력 시키기 위해서
<meta http-equiv='refresh' content='5;url=<%=request.getHeader("Referer")%>'> 를 이용한다.
따라서 이를 정리하면 다음과 같다.
//출력
처리가 잘 되었습니다.
5초후 <%=request.getHeader("Referer")%>로 이동합니다.
<meta http-equiv='refresh' content='5;url=<%=request.getHeader("Referer")%>'>
Videoinput.jsp에서는
세션에 등록된 인스턴스객체가 null이면 인풋폼을 나타내고 아니면 출력을 한 다음 이 세션을 비운다.
완성된 Commander.jsp 소스는 다음과 같다.
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import = "ControlBean.Commander" %>
<%@ page import = "DataBean.VideoDataBean" %>
<% request.setCharacterEncoding("euc-kr");%>
<%
String job_name=request.getParameter("job_name");
if(job_name.equals("video")){
%>
<jsp:useBean id="Video" class="DataBean.VideoDataBean" />
<jsp:setProperty name="Video" property="*" />
</jsp:useBean>
<%
Commander c1=Commander.VideoInputCommander(job_name,Video);
out.print("현재 생성된 job_name은"+c1.getJob_name());
int chk=c1.Output(job_name,Video);
out.print(chk+"처리결과");
out.print(VideoDataBean.getInstance().getVname()+"인스턴스로출력"+"<BR>");
//세선은 오브젝트형을 저장할수 있으므로 세션에다가 인스턴스 객체를 저장
session.setAttribute("videooutput",(Object)VideoDataBean.getInstance());
//저장된 세션의 인스턴스 객체를 비디오 데이터형을 다시 가져옴
VideoDataBean v2=(VideoDataBean)session.getAttribute("videooutput");
out.print(v2.getVname()+"고대로출력"+"<BR>");
}
%>
<p>//출력
처리가 잘 되었습니다.
5초후<%=request.getHeader("Referer")%>로 이동합니다.
<meta http-equiv='refresh' content='5;url=<%=request.getHeader("Referer")%>'>
이글루스 가든 - 자바 프로그래머
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- 실험1 입력페이지,처리페이지 + commander,.. by 행복하자
- [JSP]request.getParameter()로.. by 승네군
- B군의 웹페이지 설계에 관한 조언. by mcJunGun
# by | 2007/01/16 10:51 | JAVA 향기 | 트랙백(3) | 덧글(0)








☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : 실험8 JSP 독립적인 출력 페이지를 가지기 위한 ..
기존에는 세션에 저장할 객체가 3개였다 jobname과 데이터형변환에 필요한 returnsource 그리고 처리 결과를 담고있는 iterator 그러나 지금은 DB에 질의를 한결과를 담고 있는 Iterator iter가 null이 아니면 현재 생성된 Commander를 OutCommander라는 이름으로 세션에 저장하고 출력을 담당하는 페이지에서는 이 세션객체가 비어있지 않으면 이를 처리 해서 출력하도록 보다 더 명확하고......more
제목 : 마무리. 내가 연구한 JSP 페이지의 전체적인 흐름
내가 연구한 JSP 페이지 흐름도 (이벤트 또는 데이터를)입력을 받은 페이지-- 컨트롤 페이지-- InsertPage  ......more
제목 : JSP에서 사Reflection API에 이용에 대..
이슈 :서로 다른 비즈니스 객체를 어떻게 서블릿이 호출할 수 있을까? 이 서블릿의 주요 이슈는 어떻게 서로 다른 비즈니스 클래스를 호출하는가이다. address.jsp와 bank.jsp에서 doPost()를 호출하면 이 서블릿이 받아서 address.jsp가 보낸 HttpServletRequest면 AddressBook을, bank.jsp가 보낸것이면 Bank객체를 가져와야 한다. 설명하면, if jsp=addres......more