yoursyun

JSP 개발 환경 설정 ( with struts2 ) 본문

environment/java

JSP 개발 환경 설정 ( with struts2 )

yoursyun 2008. 8. 20. 16:07

1. jdk-6u7-windows-x64.exe 설치

path 설정 (환경 변수) - 어떤 위치에서도 java utility 를 사용 하기 위해 설정

variable : JAVA_HOME
value     : C:\Program Files\Java\jdk1.7.0\bin 설치 경로 확인 !

variable : Path
value     : %Path%;%JAVA_HOME%\bin
=============================================
2. apache-tomcat-6.0.18.exe 설치

* 주의 : 비스타의 경우 Program Files 경로로 설치 하지 않는게 좋습니다. (권한 문제)
=============================================
3. virtual directory setting - skip 해도 무관
tomcat x.x/conf/server.xml 에서 컨텍스트 패스 추가
<Context path="/test" docBase="D:\JSP" debug="0" reloadable="true" crossContext="true" />
위 설정을 이용 하면 다음의 주소에 접근 할 수 있다. "http://localhost:8080/test/xxx.jsp"
=============================================
3. Eclipse download
WTP(Web Tools Platform) download - http://download.eclipse.org/webtools/downloads/

wtp-all-in-one ( web 개발과 eclipse 모두 포함 ) 을 다운로드 받으면 됩니다.

이클립스 실행후 Window > Server > Runtime Environment 에서 Server runtime environments Add 로
해당 JRE 버전과 Tomcat Server 버전을 맞춰 주십시오.

JSP 페이지를 제작한후 실행은 Run > Run As > 해당 설정 환경 선택.
내장된 Eclipse 브라우저를 통해 실행화면이 보여지게 됩니다. (F11)

* 주의 사항 > 이클립스가 실행 되어지는 동안 Tomcat 서버는 실행되고 있어선 안됩니다.
=============================================
4. running test
new project create > dynamic web project > 생성 > .jsp create > run
<%="hello world ! "%>

5. struts2 setting
struts2를 http://struts.apache.org/2.x/ 에서 다운로드 받는다.

압축해제후 해당 struts 폴더의 /apps/struts2-blank-2.0.11.2.war 파일을 톰캣 설치 directory의
/webapps/ 로 복사 한다. ( 아래와 같이 접근 하면 tomcat에서 자동으로 설치 해 준다. )
이후 http://localhost:8080/struts2-blank-2.0.11.2/ 로 접근 하면
, loading 후 struts 가 올바르게 동작 함을 확인 할 수 있다.

이클립스에서 다음과 같은 형태로 구성 한다.

5.1 생성된 프로젝트의
 - java Resources:src 에 struts.xml 생성
 - java Resources:src 에 HelloWorld.java 생성
 - webcontents / web-inf / web.xml 수정
 - "WebContent/WEB-INF/lib"에 tomcat 설치 디렉토리에 있던 "/webapps/struts2-blank-2.0.11.2/WEB-INF/lib" 의 *.jar lib 파일을 복사한다.
----------------------------------------------------------------------------------[ struts.xml ] - mapping 처리
<?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" namespace="/tutorial">

 <action name="HelloWorld" class="tutorial.HelloWorld">
  <result name="success">/helloWorld.jsp</result>
 </action>

 </package>
</struts>
----------------------------------------------------------------------------------
[ web.xml ] 에 다음의 내용 추가 - fillter 설정 한번 걸어 놓으면 아직까지의 지능으론 별로 손댈일이 없어 보였 습니다.
  <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>
----------------------------------------------------------------------------------

5.2 test를 위한 struts2 파일 생성
 /tutorial/HelloWorld.java 클래스 파일 생성
 /helloworld.jsp 파일 생성
----------------------------------------------------------------------------------
[ HelloWorld.java ]
package tutorial;

public class HelloWorld {
 private String message;
 
 public String getMessage(){
  return message;
 }
 
 public String execute() throws Exception{
  message = "Hello World !";
 
  return "success";
 }
}

----------------------------------------------------------------------------------
[ helloWorld.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>hello world</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>

----------------------------------------------------------------------------------

5.3 실행
http://localhost:8080/[context_name]/[namespace]/HelloWorld.action 형태로 접근 한다.
http://localhost:8080/project/tutorial/HelloWorld.action 
=============================================

반응형