struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	
	<!--  파일 포함시키기
	     struts-default.xml은 자동으로 포함됩니다-->
	<include file="struts_study.xml"></include> 
	
	
	<!--  tutorial이라는 패키지명을 default로 셋팅 
		   www / index.html /  tutorial 이 모두 default 	 -->
    <package name="tutorial" extends="struts-default">
    
    	<!--  요청할때 http://localhost:8080/s1.Hello/HelloWorld.action
    	                    ip / port /프로젝트명/패키지명/액션네임.action 
    		     http://localhost:8080/s1.Hello/tutorial/HelloWorld.action    	
    	-->
    	
    	<!--    HelloWorld.action 이라는 요청이 오면 
    	         tutorial.HelloWorld클래스 실행하고
    		     return이 success 라면 root/helloWorld.jsp를 사용자에게 보여준다 
    	 -->
    	 
    	 <!--  class="..안의 execute()를 실행해라  "  
    	 		execute()메서드를 실행하기 위해서는 객체를 생성해야만 하는데
    	 		그 객체생성작업을 struts가 합니다. 
    	 		1. new HelloWorld().execute();
    	 		2. String message = "Hello, World~~~~~~~! <hr/> hi"; 
    	 		3. => success 리턴 
    	 		4. 결과가(즉 리턴이) "success"라면 
    	 		5. helloWorld.jsp를 보여줘 
    	  -->
        <action name="HelloWorld" class="tutorial.HelloWorld"  
             method="myTest">          
            <result name="success">/helloWorld.jsp</result>
        </action>
        <!--  jsp의 mvc모델에서는 컨트롤러 역활을 java 클래스가 하는데에 비해
               struts2 에서는 컨트롤러 역활을 struts.xml 이 합니다.     
               구조는 동일     
                                              -->
        
                                              
    </package>
    
    <!--  기본 페이지를 설정할 때 package를 따로 잡자 -->
	<package name="def" extends="struts-default">
	
	  <!--  default-action-ref 기본 페이지를 ~ 무엇으로 하겠다  -->           
      <default-action-ref name="DefaultAction"  />         
      
      <!-- 기본 페이지 요청이 왔을 때 실행할 class와 보여줄 page -->
      <action name="DefaultAction" class="tutorial.DefaultAction"> 
        	<result>/DefaultAction.jsp</result>
      </action>                                 
   </package>
    
</struts>


HelloWorld.java
package tutorial;

public class HelloWorld {
	 private String message;
	 private String msg;

     public String getMessage() {
		return message;
     }

     // jsp에서 ${msg}라는 명령을 실행하면
     // out.print(this.getMsg());가 실행된다
     public String getMsg() {
		return msg;
	}


     //java- main , 
     //android - onCreate... , 
     //jsp:init , 
     //struts:execute..
     //자동 호출..
	 public String execute() throws Exception {		
	  this.message = "Hello, World~~~~~~~! <hr/> hi";
	  // request.setAttribute("message", "밸류~~"); 작업이 발생합니다
	 /* Item item=DBHelper.select(3);*/
	  return "success";		 
	 }
	 
	 public String myTest(){
		msg="struts.xml의 action태그의 excute메서드 테스트";
		 
		 return "success";
		 
	 }
}


helloWorld.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>
request영역이나/ session영역 / application 영역 / page 영역
에  ..  즉 전에 request.setAttribute("message", "안녕~~~");
<br/>
그런 작업을 누군가가 해주었다.. 그 누군가는 struts.. <br/>

message : ${message}  <br />
윗줄의 의미는 &lt;%=객체.getMessage()%&gt; <br />
msg : ${msg}  <br/>   
</h1>
</body>
</html>


DefaultAction.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
	DefaultAction page <br />
	기본 페이지 ${message}
</body>
</html>


DefaultAction.java
package tutorial;

public class DefaultAction {
	String message;
	
	public String getMessage() {
		return message;
	}

	public String execute(){
		message= "defaultAction에서 세팅";
		return "success";
	}
}


'Struts2 > 2012.04월 강좌(MySQL)' 카테고리의 다른 글

1일차 한글 깨짐 현상  (0) 2012.06.04
1일차 form  (0) 2012.06.04
1일차 랜덤한 이미지  (0) 2012.06.04
1일차 파일 포함시키기  (0) 2012.06.04
1일차 struts  (0) 2012.06.04

+ Recent posts