'web/struts'에 해당하는 글 2건

-0- 뭐... mvc 할땐 항상 class로 포워드를 해서.. (물론 xml 상에서 하면 편하긴 하지만 직접적으로 제어가 불가능하니.. 어떤 값에 따라 어디로 간다든지 하는 제어가 필요하니 당연히 class로 하는게 맞는거다.)

고칠곳은 두군대면 충분하다.
struts-config.xml 과 새로 작성해야 하는 result.java 파일

먼저 struts-config.xml 파일.

 <action path="/login" type="result">
<forward name="result" path="/result.jsp"> </forward>
 </action>


이부분을 추가 했다. 위의  action 부분을 주석 처리 하여 다르게 포워딩 하는것을 볼수있다.(주석처리 해줘야 합니다!)
여기서 forward 의 이름은 받을 포워드 이름 (java파일에서 나온다.) path 는 넘겨질 jsp 파일이다.

이번엔 java 파일(저의 경우 result.java로 만들었습니다. 혹시나 어제의 result.jsp 와 혼동하지 마시길..)

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class result extends Action{

        public ActionForward execute(ActionMapping mapping, ActionForm from, 
                HttpServletRequest request, HttpServletResponse response) throws Exception{
            return mapping.findForward("result") ;
        }
}

import 하는 부분에서 org.apache.struts.* 부분에 에러가 난다면 lib에 추가를 하지 않해줘서 그럽니다.
tomcat\lib 폴더에 들어 있는  commos, cos , jsp-api, servlet-api, standard, struts-* 들의 파일들을 import 시키면 에러가 사라집니다.
대략 마구잡이 식으로 하셔도 상관 없습니다.

이제 서버를 실행 하고 버튼을 눌러봅니다.


당연히 같은 모습이다. 실질적으로 jsp 의 모습을 바꾸지 않았으니 말이다. 
단지 지나가는 경로가 달라졌다는 것만 확인 하면 된다. 

저작자 표시
신고

'web > struts' 카테고리의 다른 글

struts 이번엔 class를 이용한 forward!  (0) 2010.11.29
struts 설정 및 테스트  (0) 2010.11.28

WRITTEN BY
No.190
세계정복의 시작점

받은 트랙백이 없고 , 댓글이 없습니다.
secret
-_- 어째 하루에 새로운 과목 하나씩을 해나가고 있다. 이러다가.. 어느순간 삐끗하면 난리 나는데 말야.

1. 먼저 http://struts.apache.org/ 싸이트에서 해당 라이블러리및 파일들을 받아야 한다.
(저는 2.2.1 버전으로 받았습니다.)

2. 다운 고고싱!

3. 다운 받은 파일을 압축을 풀면 apps 폴더에 struts2-blank-2.2.1.war 파일의 압축을 푼다!
  그러면 폴더가 하나 생성된다.

4. 압축을 푼 폴더에 들어가면 web-inf\lib 폴더로 들어가 보면 jar 파일이 보인다. 모두 복사해서 생성할 프로젝트의 web-inf\lib 폴더에 복사하고, tomcat\common\lib 폴더에 복사한다. 



5. 다시 web-inf 폴더에 가보면 xml 파일이 3개가 있다. 요것들도 복사해서 생성한 프로젝트의 web-inf 폴더에 복사해준다.


6. 제대로 했다면 요렇게 구성되어야 한다.

7. 이제 jsp 파일 두개를 생성한다. (이름이야 어떻든 상관없다.) 하나는 submit을 날릴 form 을 가진 페이지, 하나는 도착 페이지로 한다. (저는 시작을 strutstest.jsp, result.jsp 로 했습니다.)

strutstest.jsp 
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>test</title>
</head>
<body>

<form action="/struts/login.do" method="post">
<table>
<tr>
<td><input type="submit"/> </td>
</tr>
</table>
</form>
</body>
</html>

바디안에 코드만 살짝 넣었습니다. form의 action 부분을 보면 프로젝트 이름까지 들어가 있습니다. (위에서 보시면 지금 만든 프로젝트 이름이 struts 로 되어 있습니다. 뒤의 login.do 는 임시적 파일 이름이라 생각하시면 됩니다. 

result.jsp 는 확인을 하기 위해서 심플하게
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>struts test</title>
</head>
<body>
도착!
</body>
</html>

글씨만 나타나게 했습니다.


8. 이제 struts-config.xml 을 고쳐야 할 차례입니다. 

action-mappings 부분에 action 태그를 넣어줬습니다. form 에서 설정했던 action 이름입니다. 
뒤의 forward 부분은 도착해야할 페이지가 되는거죠.

9. 이제 서버를 작동시켜서 실행을 해봅시다.

잘 도착하는군요! mvc에서 했떤 것과 유사합니다. 단지 do 설정부분이 간편해 졌다는거 정도?!(아직까지는 이정도이지만 나중엔 request 부분을 컨트롤 할수도 있고 action부분을 재설정도 가능하다는군요.. 뭐 배워봐야 알겠지만요.)

- 확실히 web.xml 부분에 servlet mapping을 통해서 했던 것보단 간편해진느낌..정도.. 아직까진..
- 배워야 할것이 산더미.. 아... 업무는 과부하... 

저작자 표시
신고

'web > struts' 카테고리의 다른 글

struts 이번엔 class를 이용한 forward!  (0) 2010.11.29
struts 설정 및 테스트  (0) 2010.11.28

WRITTEN BY
No.190
세계정복의 시작점

받은 트랙백이 없고 , 댓글이 없습니다.
secret