logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

Eclipse, JSP, Beans 실습하기

by digipine posted Oct 29, 2017
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

▩ 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>

TAG •

List of Articles
No. Subject Author Date Views
22 SQLite 활용 팁 2 - 트리거 실전 사용하기 digipine 2017.11.01 461
21 SQLite 활용 팁 1 - 트리거 활용하기 digipine 2017.11.01 481
20 SQLite 활용 팁 2 - 트리거 실전 사용하기 digipine 2017.11.01 545
19 서블릿(Servlet) 이란 무엇인가? siseong@naver.com 2017.11.01 599
18 Docker를 통한 MySQL 설치하기 lizard2019 2021.04.15 663
17 MySQL 5.7.x 버전 root 및 유저 암호(Password) 변경 digipine 2017.11.02 719
16 Ubuntu에서 sqlite3 빌드 방법 digipine 2017.11.01 758
15 MySQL Data Backup - Database Dump 방법 및 복구 방법 엉뚱도마뱀 2017.11.18 765
14 HTTP Multi Part Request Sample Format digipine 2017.11.01 809
13 SQLite 활용 팁 3 - 다른 DB 테이블에 트리거 사용하기 digipine 2017.11.01 815
12 MySQL 시작할때 No directory, logging in with HOME=/ 에러 해결 방법, 홈 디렉토리 변경 digipine 2021.05.06 829
11 Ubuntu mySql 완전 삭제하기 lizard2019 2021.04.15 943
10 SyBase 와 JSP 연동 digipine 2017.10.28 985
9 SyBase 사용법 요약 digipine 2017.10.28 1107
8 Choosing a free database - DB2 digipine 2017.10.29 1255
7 [Oracle] SQL*Plus 개요,각종 명령어들 digipine 2017.10.28 1346
6 MS Access MDB를 위한 DB Connection String digipine 2017.10.29 1724
5 Apache Tomcat 설치후 관리자 모드 실행 되지 않을때 문제 해결방법 digipine 2017.11.01 3070
» Eclipse, JSP, Beans 실습하기 digipine 2017.10.29 3143
3 MySQL root 비밀번호 변경하기 (MySQL 5.7버전 이상) lizard2019 2019.06.10 3317
Board Pagination Prev 1 2 Next
/ 2