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 MySQL 시작할때 No directory, logging in with HOME=/ 에러 해결 방법, 홈 디렉토리 변경 digipine 2021.05.06 159
21 Docker를 통한 MySQL 설치하기 lizard2019 2021.04.15 172
20 Ubuntu mySql 완전 삭제하기 lizard2019 2021.04.15 184
19 MySQL root 비밀번호 변경하기 (MySQL 5.7버전 이상) lizard2019 2019.06.10 1955
18 MySQL Data Backup - Database Dump 방법 및 복구 방법 엉뚱도마뱀 2017.11.18 533
17 [PostgreSQL] 간단 사용법 digipine 2017.11.02 3901
16 MySQL 5.7.x 버전 root 및 유저 암호(Password) 변경 digipine 2017.11.02 478
15 SQLite 활용 팁 3 - 다른 DB 테이블에 트리거 사용하기 digipine 2017.11.01 550
14 SQLite 활용 팁 2 - 트리거 실전 사용하기 digipine 2017.11.01 403
13 SQLite 활용 팁 2 - 트리거 실전 사용하기 digipine 2017.11.01 328
12 SQLite 활용 팁 1 - 트리거 활용하기 digipine 2017.11.01 310
11 Ubuntu에서 sqlite3 빌드 방법 digipine 2017.11.01 588
10 HTTP Multi Part Request Sample Format digipine 2017.11.01 681
9 서블릿(Servlet) 이란 무엇인가? siseong@naver.com 2017.11.01 432
8 Apache Tomcat 설치후 관리자 모드 실행 되지 않을때 문제 해결방법 digipine 2017.11.01 2132
7 Filter를 이용한 웹 프로그래밍 Filter 란 무엇인가? file siseong@naver.com 2017.10.31 301
» Eclipse, JSP, Beans 실습하기 digipine 2017.10.29 2541
5 MS Access MDB를 위한 DB Connection String digipine 2017.10.29 1076
4 Choosing a free database - DB2 digipine 2017.10.29 1044
3 [Oracle] SQL*Plus 개요,각종 명령어들 digipine 2017.10.28 949
Board Pagination Prev 1 2 Next
/ 2