'Struts2'에 해당되는 글 1건

  1. 2008.02.25 [Struts2] 스트럿츠2 셋팅 및 처음 입문용으로 좋은 Echo예제 (10)
 

어찌하다보니 스트럿츠2를 공부하게 되었네요.
책에 있는 예제를 이클립스로 셋팅법과 간단한 예제를 소개하려고 합니다-_-;
이 책에서 톰캣플러그인으로 사용하길래 그냥 Dynamic Web Project로 만들어도 될듯해서 ^^
(예제출처 : 스트럿츠2 프로그래밍 - 현철주, 정광선, 민상기 지음)

테스트환경 : Tomcat 6.0.16 + JDK 6 u 4 + Struts 2.0.11

이클립스를 실행합니다.
File -> New -> Project -> Dynamic Web Project선택
Project name을 HelloStruts2로 하고~ ^^
Target Runtime은 톰캣 6.0으로 추가를 해봅시다 ^^ New해서 Apache Tomcat 6.0선택하고 톰캣이 설치된 경로만 지정해주면 돼요 ^^
그리고 Finish를 클릭합시다 ^^

아.....스트럿츠2를 받아야죠! http://struts.apache.org/download.cgi 여기서 Struts 2.0.11버전을 받습니다.
압축을 풀고 lib경로에 있는 파일들을 방금 만든 프로젝트경로의 lib폴더로 복사합니다.
antlr-2.7.2.jar
commons-beanutils-1.6.jar
commons-chain-1.1.jar
commons-logging-1.0.4.jar
commons-logging-api-1.1.jar
commons-validator-1.3.0.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
oro-2.0.8.jar
struts2-core-2.0.11.jar
struts-core-1.3.5.jar
xwork-2.0.4.jar

플러그인만 빼고 다 복사하면 돼요. 플러그인도 같이 복사하면 에러나요-_-; 해당 lib가 없어서 그런 것 같아요. spring plugin이런것을 사용하려면 spring lib가 있어야 하는 듯 해요 ^^

그다음 web.xml파일에 아래와 같은 filter를 추가해줍니다.
[code]
<filter>
   <filter-name>struts</filter-name>
   <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
 
<filter-mapping>
   <filter-name>struts</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>
[/code]

Java Resources : src에 오른쪽 마우스를 대고 struts.xml파일을 하나 추가해줍시다.
이눔은 빌드되면서 classes폴더로 들어가게 됩니다.

struts.xml
[code]
<?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="default" extends="struts-default" namespace="">
 
  <action name="echo" class="example.chapter3.EchoAction">
   <result>/WEB-INF/echo.jsp</result>
  </action>
 
 </package>
</struts>
[/code]
보면 struts1이랑 비슷해요. 대신 이눔은 package라는 놈이 있어서 비슷한 놈들 끼리 묶을 수 있어요.

이제 저 example.chapter3.EchoAction을 만들어 봅시다.
Java Resources: src에 오른쪽 마우스를 대고! EchoAction클래스를 하나 만듭시다.
EchoAction.java
[code]
package example.chapter3;

public class EchoAction {
 private String echo;
 
 public String execute() throws Exception {
  return "success";
 }

 public String getEcho() {
  return echo;
 }

 public void setEcho(String echo) {
  this.echo = echo;
 }
}
[/code]
요렇게 작성을 합니다. 보면 execute가 있네요. 그리고 get, set이 있구요.

이제 action에 작성한 jsp를 작성해봅시다.
WEB-INF에 오른쪽마우스를 클릭해서 JSP를 선택해서 추가합니다.
아까 ACTION에서 작성한 echo.jsp파일을 생성합시다.
echo.jsp
[code]
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!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>예제3-1: echo</title>
</head>
<body>

<s:form action="echo" theme="simple">
 <s:textfield name="echo" />
 <p/><s:property value="echo" /></p>
 <s:submit />
</s:form>
</body>
</html>
[/code]
간단히 보면 스트럿츠태그가 있습니다. 예전에 쓰던 <html:, <bean: 보다 더 좋아진 듯 합니다.
신기한 건 s:textfield해놓고, name을 echo로만 줘도 setter가 작동하는 듯 합니다-_-;
s:property도 getter가 그냥 작동하는 듯 합니다. 뭐 아직 저도 잘몰라서 뭐라 말은 못하겠네요.
어쨌든 이제 실행시켜보고 field에 뭐라고 쓰면 뭐라고 나올 껍니다-_-;

url은 http://localhost:8080/HelloStruts2/echo.action 로 요청합니다 ^^

사용자 삽입 이미지


음....더 공부를 해봐야할 것 같네요 ^^
 
Posted by 머드초보

댓글을 달아 주세요