본문 바로가기
Framework/Struts

Struts 기본환경설정

by windrises 2008. 1. 3.
* Struts2다 모다 있긴하지만 난 1.3x대 버전으로 시작한다... 냄새나..

여직 struts 프레임웍에서 개발을 했어도 정작 처음부터 환경설정 해본적도 없다... 냄새나..

개인적으로 만들게 있어서 뒤지고뒤지면서 구동은 시켰다..


[WEB-INF/config/struts-config.xml]
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
 "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
 <!-- ================================================ Form Bean Definitions -->
 <form-beans />
 <!-- ========================================= Global Exception Definitions -->
 <global-exceptions/>
 <!-- =========================================== Global Forward Definitions -->
 <global-forwards/>
 <!-- =========================================== Action Mapping Definitions -->
 <action-mappings>
  <action path="/Welcome" type="com.rf.struts.WelcomeStrutsAction" scope="request" parameter="method">
   <description>-</description>
   <forward name="initial" path="/board/Welcome.jsp" />
  </action>
 </action-mappings>
 <!-- ============================================= Controller Configuration -->
 <!-- ======================================== Message Resources Definitions -->
 <message-resources parameter="MessageResources" />
 <!-- =============================================== Plug Ins Configuration -->
</struts-config>
환경파일에서 파라미터를 'method'로 사용하기위해 action class들은 DispatchAction를 상속받는다.

[WEB-INF/web.xml] - 이건 어서 긁은거..
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
 <!-- ActionServlet를 등록한다. -->
 <servlet>
  <servlet-name>action</servlet-name>
  <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  <init-param>
  <param-name>config</param-name>
  <param-value>/WEB-INF/config/struts-config.xml</param-value>
  </init-param>
  <init-param>
  <param-name>debug</param-name>
  <param-value>2</param-value>
  </init-param>
  <init-param>
  <param-name>detail</param-name>
  <param-value>2</param-value>
  </init-param>
  <!-- ActionServlet은 이 웹 어플리케이션 시작시에 함께 시작되어야 한다. -->
  <load-on-startup>1</load-on-startup>
 </servlet>
 <!-- “*.do”로 끝나는 모든 URL 패턴은 ActionServlet을 거쳐서 수행되어야 한다. -->
 <servlet-mapping>
  <servlet-name>action</servlet-name>
  <url-pattern>*.do</url-pattern>
 </servlet-mapping>
 <!-- 웹으로 접속한 사용자가 JSP 파일로 직접 접근할 수 없게 한다. -->
 <security-constraint>
  <web-resource-collection>
   <web-resource-name>PreventViewingJSPs</web-resource-name>
   <description>웹으로 접속한 사용자가 JSP파일로 직접 접근할 수 없도록 한다.</description>
   <url-pattern>*.jsp</url-pattern>
   <http-method>GET</http-method>
   <http-method>POST</http-method>
  </web-resource-collection>
  <auth-constraint>
   <role-name></role-name>
  </auth-constraint>
 </security-constraint>
</web-app>

[WEB-INF/classes/com/rf/struts/WelcomeStrutsAction.class]
package com.rf.struts;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
public class WelcomeStrutsAction extends DispatchAction {
 public ActionForward initial(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
 
  return mapping.findForward("initial");
 }
}
- initial에선 return으로 forward시켰지만,
  ajax를 사용할것이기 때문에 다른 메소드들에선
  response.getOutputStream().print(json string);하고 return null한다.
- 서비스의 생성은 Singleton패턴을 적용시켜 생성한다.


[board/Welcome.jsp] -봐도봐도 반가운 웰컴페이지
<%@page contentType="text/html; charset=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>Welcome Page</title>
</head>
<body>
<h1>환영합니다!!!!!</h1>
</body>
</html>

- lib폴더에 struts 1.3.x대를 다운받아 복사한다.
   (http://ftp.kaist.ac.kr/pub/Apache/struts/binaries/struts-1.3.8-all.zip)
- browser로 http://localhost:8080/Welcome.do?method=initial 접속한다.

'Framework > Struts' 카테고리의 다른 글

초보강좌  (0) 2008.02.10