▩ eclipse에서의 JAVA Compile 환경 설정하기
1. http://www.eclipse.org/에 접속하여 2.1.X OR 3.0M5를 다운 받습니다.
설치를 위해서는 200메가 정도의 하드디스크 공간이 있어야 합니다.
추가적인 Plusin을 설치하려면 계속적으로 공간이 필요합니다.
다운이 다 되었으면 압축을 풀어 필요한 곳으로 복사를 하면 설치가 다 된것입니다.
2. 새로운 프로젝트를 추가하고 아래의 파일을 테스트합니다.
public class Hello{
public static void main(String args[]){
System.out.println("안녕하세요.");
}
}
3. 패키지가 포함된 자바 프로젝트 실습
4. Run..메뉴 실행하기
▩ eclipse에서의 JSP 개발 환경 설정하기
1. 톰캣 4.1.X대 버전을 설치합니다. 설치가 된후 [관리도구-서비스]에서 [시작유형]을 수동하고으로 [상태]를 정지로 합니다.
2. http://www.sysdeo.com/eclipse/tomcatPlugin.html 에 접속하여 플러그인을 다운 받습니다.
다운받은 파일을 압축을 풀어 "com.sysdeo.eclipse.tomcat_2.2.1" 폴더를 이클립스가 설치된 plugins폴더로 복사합니다.
이클립스를 실행하면 자동으로 인식이 됩니다.
3. jspTest.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"%>
<%!
public String ko(String s){
String korean = null;
try{
korean = new String(s.getBytes("ISO-8859-1"), "KSC5601");
}catch(Exception e){
return korean;
}
return korean;
}
%>
<%
String user=ko(request.getParameter("user"));
String mesg="";
if(user != null && !user.equals("")){
mesg="Welcome, " + user + ".";
}
%>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
</head>
<body>
이름을 입력해 주세요. welcome2 입니다.<br>
<form action="jspTest.jsp">
<input type="text" name="user">
<input type="submit">
</form>
<hr>
<%=mesg%>
</body>
</html>
4. 톰캣이 설치된 폴더의 conf폴더에서 server.xml파일을 엽니다.
아래처럼 자동으로 수정된 부분을 찾아서
<Context path="/jsp" reloadable="true" docBase="D:\엄기흥교사\eclipse\jspTest" workDir="D:\엄기흥교사\eclipse\jspTest\work\org\apache\jsp" />
</Host>
</Engine>
</Service>
아래처럼 수정한 후 저장 합니다.
<Context path="/jsp" reloadable="true" docBase="D:/엄기흥교사/eclipse/jspTest" workDir="D:/엄기흥교사/eclipse/jspTest/work/org/apache/jsp" />
</Host>
</Engine>
</Service>
5. Eclipse에서 톰캣을 다시 시작합니다.
6. 브러우저에서 http://127.0.01:8080/jsp/jspTest.jsp 을 입력하고 확인합니다.
▩ Lomboz 설치를 통한 JSP 편집기 설치하기
1. http://www.objectlearn.com 에 접속하여 플러그인을 다운 받습니다.
2 압축을 풀어 eclipse아래에 있는 Plugins폴더 아래로 복사를 합니다.
3. [Windows-Preference]에서 환경을 셋팅합니다.
4. jsp 테스트하기
- http://127.0.0.1:8080/jspTestRoot/lomboz.jsp
★ 자세한 자료는 eclipse 관련 서브메뉴를 참고하세요.
▩ Beans의 개념
1. 빈즈의 사용 목적
Internet Browser (IE, NN) <-----> Web Server(HTML, JavaScript), IIS, Apache, Resin, Tomcat, (.htm, .html, .js)
ASP --> asp.dll
PHP --> php4.dll
① JSP --> Servlet Engine, Resin, Tomcat, (.jsp) --> RDBMS(ORACLE)
- 디자인과 비즈니스로직이 서로 의존 관계가 된다.
② JSP --> Servlet Engine, Resin, Tomcat, (.jsp) --> Beans(.java, .class) --> RDBMS(ORACLE)
2. 종류(Java Beans:AWT,SWING, Enterprise Java Beans:EJB, JSP Beans)
3. 특징 :
- 재사용 가능한 독립 적인 모듈, COM 기반과 매우 비슷한 개발 방법
- 사이트 구축시 비즈니스 로직과 프리젠테이션 로직을 분리함으써 개발 시간의 단축 및 유지 보수 편리
4. Beans의 구성 요소
- 멤버 변수(Property) : 변수, 데이터, private으로 지정
- 생성자 : 매개 변수를 받지 않는 무인자 생성자 사용, 리턴 값을 명시하면 안됨, 빈 필드의 초기값 지정
- setProperty 메소드 : 자바빈의 변수앞에 set이 붙은 메소드로 값을 설정하는 기능 구현, public void setXxxx(){ }
- getProperty 메소드 : 자바빈의 변수앞에 get이 붙은 메소드로 값을 얻어오는 기능 구현, public String getXxxx(){ }
▩ 빈즈의 scope
1. Scope
1. Page : 기본값, forward 및 include에서도 사용 할수 없다. 페이지를 벗어 날 수 없음
2. Request : forward, include에서 사용가능
3. Session : 사용자가 로그인 하면 계속적으로 살아 있음
4. Application : 웹 사이트 전체에 영향을 미치는 빈
이동 형태 A(데이터 입력, HTML) B(빈즈 저장, JSP 1) C(출력 JSP 2) 결과
---------------------------------------------------------------------------------------
forward Form page request X
forward Form request page X
forward Form request request ○
sendRedirect Form page request X
sendRedirect Form request page X
sendRedirect Form request request ○
▩ JSP Beans 실습하기
1. 빈의 작성 규칙
- 아래의 빈은 jsp form에서 입력한 데이터를 가지고있는 자바 클래스 입니다. 따라서 폼 jsp파일에는
Input 태그에 name, su, tel 이 있게 됩니다. 대소문자를 엄격히 구분합니다.
- 각 필드는 private의 형태로 사용됩니다.
- setter, getter는 접근 제한자가 public의 형태로 존재합니다.
- 각 메소드는 필드에 값을 저장하기 위한 setter와 값을 가져오기 위한 getter로 이루어 집니다.
setter, getter는 필드의 첫자를 대문자(setName, setSu, setTel등)로 써야하는 규칙이 있습니다.
- 생성자는 필드에 초기값을 부여합니다.
>>>>>>>>>> Member.java
package beans;
public class Member {
private String name;
private int su;
private String tel;
public Member(){
this.name=null;
this.su=0;
this.tel=null;
}
public void setName(String name){
System.out.println(name+" 값을 지정 했습니다.");
this.name = ko(name);
}
public void setSu(int su) {
System.out.println(su+" 값을 지정했습니다.");
this.su = su;
}
public void setTel(String tel){
System.out.println(tel + " 값을 지정했습니다.");
this.tel = tel;
}
public String getName(){
System.out.println(name + " 값을 읽어 왔습니다.");
return name;
}
public int getSu(){
System.out.println(su + " 값을 읽어 왔습니다.");
return su;
}
public String getTel(){
System.out.println(name+" 값을 읽어 왔습니다.");
return tel;
}
public String ko(String msg){
String korean = null;
try{
korean = new String(msg.getBytes("ISO-8859-1"), "euc-kr");
}catch(Exception e){
return korean;
}
return korean;
}
}
▶ Eclipse외의 편집기에서 컴파일 하기, beans.bat 만들기
cd\
cd C:\resin2.1.4\doc\pm2030\jspBeans\BeanSrc
javac -d . *.java
cd Beans
copy *.class C:\resin2.1.4\doc\WEB-INF\classes\beans
>>>>>>>>> member.jsp
<%@ page contentType="text/html; charset=EUC-KR"%>
<HTML>
<BODY>
<CENTER>
<FORM method=get action="member_p.jsp">
<TABLE border=0 width=300 >
<TR>
<TH bgcolor=#FF9933 colspan=2>
<FONT color=white size=+1>JSP Beans테스트</FONT>
</TH>
</TR>
<TR bgcolor="#FFCC99">
<TH width=20% width=40% >
<FONT color=white size=-1>이름</FONT>
</TH>
<TD width=60%>
<INPUT type=text name=name value="" size=10></TD>
</TR>
<TR bgcolor="#FFCC99">
<TH width=40% bgcolor=#FFCC99 >
<FONT color=white size=-1>좋아하는 숫자</FONT>
</TH>
<TD><INPUT type=text name=id value="" size=10></TD>
</TR>
<TR bgcolor="#FFCC99">
<TH width=40% bgcolor=#FFCC99 >
<FONT color=white size=-1>전화번호</FONT>
</TH>
<TD><INPUT type=text name=tel value="" size=10></TD>
</TR>
<TR>
<TD colspan=2 align="center">
<INPUT type=submit value=" 보내기 " >
<INPUT type=reset value=" 다시쓰기 " >
</TD>
</TR>
</TABLE>
</FORM>
</CENTER>
</BODY>
</HTML>
------------------------- member_p.jsp -------------------------
<%@ page contentType="text/html; charset=EUC-KR"%>
<jsp:useBean id="info" scope="page" class="beans.Member" />
<jsp:setProperty name="info" property="name" />
<jsp:setProperty name="info" property="su" param="id" />
<jsp:setProperty name="info" property="tel" />
<HTML>
<BODY>
<CENTER>
jsp:getProperty 태그로 가져온 값: <br><br>
이름 : <jsp:getProperty name="info" property="name"/><br><br>
좋아하는 수 : <jsp:getProperty name="info" property="su"/><br><br>
전화번호 : <jsp:getProperty name="info" property="tel"/><br><br><br>
getProperty 메소드로 가져온 값: <br><br>
이름 : <%=info.getName()%><br><br>
좋아하는 수 : <%=info.getSu()%><br><br>
전화번호 : <%=info.getTel()%><br><br>
</CENTER>
</BODY>
</HTML>