기타 세팅:http://gusfree.tistory.com/947 참조

교재 120page


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>
	<package name="hi" extends="struts-default" 
		namespace="/"	>
		<action name="LoginForm"   >
			<result>/login/LoginForm.jsp</result>
		</action>	
		<!--  LoginCheck.action?userId=xxx&userPw=yyy -->
		<action name="LoginCheck"  class="service.LoginCheck">
		    <result name="input">/login/LoginForm.jsp</result>
			<result>/login/LoginSuccess.jsp</result>
		</action>
		
	</package>
</struts>


LoginForm.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> LoginForm.jsp  </title>
</head>
<body>
	LoginForm.jsp <br />
	<form action="LoginCheck.action" method="get">
		userId : <input type="text" name="userId"> ${fieldErrors.userId} <br/>
		userPw : <input type="text" name="userPw"> ${fieldErrors.userPw} <br/>
		<input type="submit" value="보내기" >
	</form>
	
</body>
</html>


LoginCheck.java
package service;

import com.opensymphony.xwork2.ActionSupport;

public class LoginCheck extends ActionSupport{
	String userId;
	String userPw;
			
	@Override
	public void validate() {//유효성 검사
		System.out.println("validate");
		if(userId == null || userId.equals("")){
			//addFieldError(키,벨류);
			addFieldError("userId", "아이디를 입력하세요");
			//아이디를 제대로 입력하지 않았다면 필드에러를 만든다.
			//jsp에서 만든 필드 에러를 출력하자 ${fieldError.키값}
		}
		
		if(userPw == null || userPw.equals("")){
			addFieldError("userPw", "비번을 입력하세요");
		}
		
		//super.validate();
	}

	public LoginCheck(){
		System.out.println("LoginCheck 객체 생성");
	}
	
	public String execute(){
		System.out.println("execute");
		return "success";
	}
	
	// 자동으로 호출됩니다 
	public void setUserId(String userId){
		System.out.println("setUserId");
		this.userId=userId;
	}
	public void setUserPw(String userPw) {
		System.out.println("setUserPw");
		this.userPw = userPw;
	}
	public String getUserPw() {
		System.out.println("getUserPw");
		return userPw;
	}
	public String getUserId() {
		System.out.println("getUserId");
		return userId;
	}
}





id와 비번을 체크해서 관리자라면 인사를 하자


LoginCheck.java
package service;

import com.opensymphony.xwork2.ActionSupport;

public class LoginCheck extends ActionSupport{
	String userId;
	String userPw;
	String hello;	
	
	@Override
	public void validate() {//유효성 검사
		System.out.println("validate");
		if(userId == null || userId.equals("")){
			//addFieldError(키,벨류);
			addFieldError("userId", "아이디를 입력하세요");
			//아이디를 제대로 입력하지 않았다면 필드에러를 만든다.
			//jsp에서 만든 필드 에러를 출력하자 ${fieldError.키값}
		}
		
		if(userPw == null || userPw.equals("")){
			addFieldError("userPw", "비번을 입력하세요");
		}
		
		//super.validate();
	}

	public LoginCheck(){
		System.out.println("LoginCheck 객체 생성");
	}
	
	public String execute(){
		System.out.println("execute");
		//id와 비번을 체크해서 관리자라면 인사를 하자
		hello="";
		if(userId.equals("gusfree") && userPw.equals("12345")){
			hello="안녕하세요" +userId+"<img src='https://t1.daumcdn.net/cfile/tistory/125822404F8593850B'>";
		}
		return "success";
	}
	
	
	public String getHello() {//jsp에서 ${hello}로 호출
		return hello;
	}

	// 자동으로 호출됩니다 
	public void setUserId(String userId){
		System.out.println("setUserId");
		this.userId=userId;
	}
	public void setUserPw(String userPw) {
		System.out.println("setUserPw");
		this.userPw = userPw;
	}
	public String getUserPw() {
		System.out.println("getUserPw");
		return userPw;
	}
	public String getUserId() {
		System.out.println("getUserId");
		return userId;
	}
}


LoginSuccess.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>LoginSuccess</title>
</head>
<body>
	LoginSuccess.jsp  <br/>
	
	객체.getUserId() 메서드가 호출됩니다. <br/>
	user Id : ${userId} / userPw : ${userPw} / <br/>
	${hello}
</body>
</html>



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

3일차 validate()  (0) 2012.06.07
2일차 interface 활용하기  (0) 2012.06.05
2일차 form  (0) 2012.06.05
1일차 interceptor  (0) 2012.06.04
1일차 한글 깨짐 현상  (0) 2012.06.04




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>
	<package name="hi" extends="struts-default" 
		namespace="/"	>
		<action name="LoginForm"   >
			<result>/login/LoginForm.jsp</result>
		</action>	
		<!--  LoginCheck.action?userId=xxx&userPw=yyy -->
		<action name="LoginCheck"  class="service.LoginCheck">
			<result>/login/LoginSuccess.jsp</result>
		</action>
		
	</package>
</struts>


index.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>Index Page</title>
</head>
<body>
	인덱스 페이지
	
	<jsp:forward page="/login/LoginForm.jsp"></jsp:forward>
</body>
</html> 


web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app  xmlns="http://java.sun.com/xml/ns/javaee" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
 id="WebApp_ID" version="2.5">
  <display-name>struts study start</display-name>
  
  <filter>
	  <filter-name>struts2</filter-name>	  
	  <filter-class>
		  org.apache.struts2.dispatcher.FilterDispatcher
	  </filter-class>
  	<init-param>
  		<description>한글인코딩하기, FilterDispatcher실행중에
  				struts.i18n.encoding의 값을 찾아서 셋팅합니다  			
  		</description>
  		<param-name>struts.i18n.encoding</param-name>
  		<param-value>UTF-8</param-value>
  	</init-param>
  </filter>
  
  <filter-mapping>
	  <filter-name>struts2</filter-name>
	  <url-pattern>/*</url-pattern> <!--  사이트.com/abc.jsp -->
  </filter-mapping>  
  
 

  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>


LoginForm.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> LoginForm.jsp  </title>
</head>
<body>
	LoginForm.jsp <br />
	<form action="LoginCheck.action" method="get">
		userId : <input type="text" name="userId"> <br/>
		userPw : <input type="text" name="userPw"> <br/>
		<input type="submit" value="보내기" >
	</form>
	
</body>
</html>


LoginSuccess.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>LoginSuccess</title>
</head>
<body>
	LoginSuccess.jsp  <br/>
	
	객체.getUserId() 메서드가 호출됩니다. <br/>
	user Id : ${userId} / userPw : ${userPw } / <br/>
</body>
</html>


LoginCheck.java
package service;

public class LoginCheck {
	String userId;
	String userPw;
	
	public LoginCheck(){
		System.out.println("LoginCheck 객체 생성");
	}
	
	public String execute(){
		System.out.println("execute");
		return "success";
	}
	
	// 자동으로 호출됩니다 
	public void setUserId(String userId){
		System.out.println("setUserId");
		this.userId=userId;
	}
	public void setUserPw(String userPw) {
		System.out.println("setUserPw");
		this.userPw = userPw;
	}
	public String getUserPw() {
		System.out.println("getUserPw");
		return userPw;
	}
	public String getUserId() {
		System.out.println("getUserId");
		return userId;
	}
}



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

2일차 interface 활용하기  (0) 2012.06.05
2일차 ActionSupport 클래스를 확장한 액션  (0) 2012.06.05
1일차 interceptor  (0) 2012.06.04
1일차 한글 깨짐 현상  (0) 2012.06.04
1일차 form  (0) 2012.06.04


s2.Form.zip


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

2일차 ActionSupport 클래스를 확장한 액션  (0) 2012.06.05
2일차 form  (0) 2012.06.05
1일차 한글 깨짐 현상  (0) 2012.06.04
1일차 form  (0) 2012.06.04
1일차 랜덤한 이미지  (0) 2012.06.04

Servers/Tomcat v6.0 Server at localhost-config/server.xml

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"
        useBodyEncodingForURI="true"/>


자신의 project최상위 폴더/WebContent/WEB-INF/web.xml

<filter>
	  <filter-name>struts2</filter-name>	  
	  <filter-class>
		  org.apache.struts2.dispatcher.FilterDispatcher
	  </filter-class>
  	<init-param>
  		<description>한글인코딩하기, FilterDispatcher실행중에
  				struts.i18n.encoding의 값을 찾아서 셋팅합니다  			
  		</description>
  		<param-name>struts.i18n.encoding</param-name>
  		<param-value>UTF-8</param-value>
  	</init-param>
  </filter>



여러번 하는것 같다.....ㅡㅡ;

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

2일차 form  (0) 2012.06.05
1일차 interceptor  (0) 2012.06.04
1일차 form  (0) 2012.06.04
1일차 랜덤한 이미지  (0) 2012.06.04
1일차 기본 페이지 설정 및 요청  (0) 2012.06.04

DB를 생성한건 아니고 DB가 있다고 생각하자~~



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>
    <package name="tutorial" extends="struts-default">
      <action name="Form">
		<result>Form.jsp</result>          
      </action>
      <action name="Insert" class="DAO.DBHelper" method="insert">
          <result name="success">/success.jsp</result>
          <result name="fail">/fail.jsp</result>
      </action>                             
   </package>
</struts>


From.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>스트러츠 2번째</title>
</head>
<body>
	Form.jsp<br/>
	<form action="Insert.action" method="get">
		아이디:
		<input type="text" name="id" size="10" required="required"> <br/>
		비번 :
		<input type="password" name="pw" size="10" required="required"> <br/>
		
		좋아하는 동물:
		<input type="radio" name="animal" value="dog" checked="checked">강아지
		<input type="radio" name="animal" value="cat">고양이
		<input type="radio" name="animal" value="bird">새
		<br/><input type="submit" value="보내기">
	</form>
</body>
</html>


web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app  xmlns="http://java.sun.com/xml/ns/javaee" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
 id="WebApp_ID" version="2.5">
  <display-name>struts study start</display-name>
  
  <filter>
	  <filter-name>struts2</filter-name>
	  
	  <filter-class>
	  org.apache.struts2.dispatcher.FilterDispatcher
	  </filter-class>
  </filter>
  <filter-mapping>
	  <filter-name>struts2</filter-name>
	  <url-pattern>/*</url-pattern> <!--  사이트.com/abc.jsp -->
  </filter-mapping>  
  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>


DBHelper.java
package DAO;

public class DBHelper {
	
	public DBHelper(){
		System.out.println("DBHelper default Constructor");
	}
	
	public String execute(){
		return "success";
	}
	
	public String insert(){ //db에 값을 입력하는 메서드가 될것이다
		System.out.println("insert");
		try{
		//db에 저장하는 소스가 여기에 여러줄 있다고 생각하자
			System.out.println("db에 저장중입니다");
			System.out.println("db에 저장중입니다");
		}catch(Exception e){
			return "fail";
		}
		return "success";
	}
}


success.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>
	성공 성공
</body>
</html>


fail.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>
	fail fail fail
</body>
</html>



※DBHelper.java 에서 리턴 값을 fail 로 주면 fail.jsp가 실행된다~



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

1일차 interceptor  (0) 2012.06.04
1일차 한글 깨짐 현상  (0) 2012.06.04
1일차 랜덤한 이미지  (0) 2012.06.04
1일차 기본 페이지 설정 및 요청  (0) 2012.06.04
1일차 파일 포함시키기  (0) 2012.06.04

연습문제:image.action=>

랜덤한 이미지가 화면에 나오도록 만들기

- 이미지는 root/image/폴더안에 넣으세요

- 예: image/image1.jpg, image/image2.jpg

- jsp 파일: <img src="./image/image1.jpg">


↓↓↓↓↓↓↓↓↓


1. www.localhost:8080/프로젝트명/Image.action

2. /* -> struts2 -> org.apache.struts2.dispatcher.FilterDispatcher 실행

3. struts.xml 파일을 찾아서 Image라는 네임의 액션을 찾는다

4. 그 액션에 class 속성이 있다면

4-1. 클래스의 객체를 하나 생성한다

4-2. 객체.execute(); 실행한다 

5. 그 액션에 class속성과 method 속성이 있다면 method를 실행한다.

6. return "success" 라면

<result name="success"> /~~.jsp 보여준다 </result>

7. return "false" 라면

<result name="false"> /~~.jsp 보여준다 </result>



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>
        
      <!-- 이미지 랜덤 호출 -->
      <action name="Image" class="tutorial.ImageSelect" method="select">
          <result name="succ">/DefaultAction.jsp</result>
          <result name="fail">/study.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>


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}<br />
	<img src="${imgsrc }"><br/>
</body>
</html>


ImageSelect.java
package tutorial;

import java.util.Random;

public class ImageSelect {
	
	String imgsrc;
	
	public ImageSelect(){
		System.out.println("ImageSelect 객체 실행중");
	}
	
	public String getImgsrc() {
		System.out.println("getter 메서드 실행중");
		return imgsrc;
	}
	
	public String select(){
		
		System.out.println("select 명령 실행중");
		int i =new Random().nextInt(4);//1,2,3,4
		imgsrc="./image/image"+i+".png";
		
		return "succ";
		//return "fail";
	}
	
}


※ 리턴 값을 succ로 하면 <result name="succ">/DefaultAction.jsp</result> 화면이 뜨고,

    리턴 값을 fail로 주면 <result name="fail">/study.jsp</result> 화면으로 실행된다.




'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



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




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">
            <result name="success">/helloWorld.jsp</result>
        </action>
        <!--  jsp의 mvc모델에서는 컨트롤러 역활을 java 클래스가 하는데에 비해
               struts2 에서는 컨트롤러 역활을 struts.xml 이 합니다.     
               구조는 동일     
                                               -->
                                              
		
    </package>
</struts>


struts_study.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>
    <!--  www.~~~.com/패키지/액션.action -->
	<package name="study" extends="struts-default">
		<action name="study*" >
			<result>/study{1}.jsp</result>
		</action>
	</package>
</struts>


struts-default.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>
    <!--  www.~~~.com/패키지/네임스페이스/액션.action -->
	<package name="work" extends="struts-default">
		<action name="work*" >
			<result>/work{1}.jsp</result>
		</action>
	</package>
</struts>


study.jsp ,work.jsp는 내용 확인을 위해서 간단하게 구별할수 있을 정도의 내용만 적어주자~~



'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



web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app  xmlns="http://java.sun.com/xml/ns/javaee" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
 id="WebApp_ID" version="2.5">
  <display-name>struts study start</display-name>
  
  <filter>
	  <filter-name>struts2</filter-name>
	  
	  <filter-class>
	  org.apache.struts2.dispatcher.FilterDispatcher
	  </filter-class>
  </filter>
  <filter-mapping>
	  <filter-name>struts2</filter-name>
	  <url-pattern>/*</url-pattern> <!--  사이트.com/abc.jsp -->
  </filter-mapping>  
  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>


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>
    
    <!-- tutorial이라는 패키지명을 default로 셋팅
    	 www/index.html/tutorial이 모두 default
    -->
    
    <package name="tutorial" extends="struts-default">
        
        <!-- 요청할때 http://localhost:8080/s1.Hello/HelloWorld.action
        								   프로젝트명/패키지명 /액션네임.action
        			http://localhost:8080/s1.Hello/tutorial/HelloWorld.action
        
        -->
        
        <!-- HelloWorld.action 이라는 요청이 오면 tutorial.HelloWorld 클래스 실행하고
        	 return이 success 라면 root/helloWorld.jsp를 사용자에게 보여준다.
        -->
        <action name="HelloWorld" class="tutorial.HelloWorld">
            <result name="success">/helloWorld.jsp</result>
        </action>
        
        <!-- jsp의 mvc모델에서는 컨트롤러 역활을 java클래스가 하는데 에 비해 
        	 struts2에서는 컨트롤러 역활을 struts.xml 이 합니다.
        -->
        
    </package>
</struts>


HelloWorld.java
package tutorial;

public class HelloWorld {
	 private String message;
	 String title;
	 String text;
	 String date;
	 int count;
	 

     public String getMessage() {
		return message;
     }

     //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);
	    request.setAttrbitue("item", item);
	    ${item.title}*/
	    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} 
</h1>
</body>
</html>


'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일차 파일 포함시키기  (0) 2012.06.04

+ Recent posts