자바기초2008. 11. 24. 11:27

1. jdk 설치 jdk-1_5_0_16-windows-i586-p.exe
2. jdk_doc => jdk 폴더에 압축해제
3. 환경설정
 PATH => C:\Program Files\java\jdk1.5.0_16\bin;%path%;
 CLASSPATH => .;c:\Program Files\Java\jdk1.5.0_16\lib\tools.jar
 JAVA_HOME => C:\Program Files\Java\jdk1.5.0_16

1. tomcat.apache.org 톰캣 5.5.27 설치
2. c:\ 에 압축 해제
3. 환경설정
   CATALINA_HOME => C:\apache-tomcat-5.5.27

1. 이클립스 설치
2. c:\ 에 압축 해제
3. 언어팩 설치 (NLpack1-eclipse-SDK-3.2.1-win32.zip)
4. c:\ 에 압축 해제

1. wtp 설치 (wtp-all-in-one-sdk-R-1.5.5-200708291442-win32.zip)
2. c:\ 에 압축 해제 (덮어쓰기 물어보면 전부-예)
3. wtp 언어팩 설치 (NLpack1-wtp-sdk-0.7.1.zip)
4. c:\ 에 압축 해제

1. 이클립스 실행
2. c:\project 폴더 생성하여 지정
3. workbench  아이콘 실행

jsp 작업을 위한 이클립스 설정
1. 파일 - 새로작성 - 기타
2. 서버 - 서버
3. Apache - Tomcat v5.5 서버 선택
   Tomcat 설치디렉토리 => C:\apache-tomcat-5.5.27
   JRE 확인

동적 웹 프로젝트 설정
1. 파일 - 새로 작성 - 프로젝트
2. 웹 - 동적 웹 프로젝트 선택 (다음)
3. 프로젝트명 입력 (다음)- (다음) -(완료)
4. (동의)
5. 연관된 Persective 열기 (예)

이클립스에서 JSP 페이지 작성
1. StudyProject 의 WebContent 폴더 선택
2. 파일 - 새로작성 - 기타 (또는 마우스 오른쪽 버튼 팝업메뉴)
3. 웹 - JSP (클릭) - (다음)
4. 파일이름(index.jsp) 입력 - (다음)
5. 새 JSP 파일(html) 선택 - (완료)

편집기 라인번호 나타나게 하기
1. 창 - 환경 설정 - 일반 - 편집기 - 문서편집기
2. 행번호 표시 - (확인)

 

 



 

Posted by 아마데우스
JSP2008. 11. 13. 20:29
<% request.setCharacterEncoding("euc-kr"); %>   
Posted by 아마데우스
JSP2008. 11. 13. 00:07

<%
String str[] = {"jsp","java","xml","ajax"}; // 배열의 초기화 블럭을 사용하면 배열의 선언, 메모리할당, 초기값 설정을 한 번에 할 수 있다.
int i = (int)(Math.random()*4); // 0-3사이의 값이 임의로 설정된다.
%>

<%=str[i] %>가(이) 재미있다.

Posted by 아마데우스
PHP2008. 11. 11. 14:24

지하철 역간 최단 거리 검색 프로그램을 만들어 보려고 검색하다보니
유명한 알고리즘 중 다익스트라 알고리즘이라는 걸 알게 되었습니다.
소스는 델파이와 C로 된거 밖에 없어서, 해당 소스를 PHP 버전으로 바꿔봤습니다.
참고하세요. 이 알고리즘을 이용하여 최단경로 검색프로그램을 직접 만들어봤습니다.
아주 정확히 계산을 해주더군요. ^^
(본 글은 제가 phpschool 팁텍에 올렸던걸 티스토리 개설해서 이곳에 옮긴 자료입니다.)

<?php



$n=8;

$m=5000;

$data = array();



$data[] = array(0,2,$m,$m,$m,3,$m,$m);
$data[] = array(2,0,4,1,$m,$m,$m,$m);
$data[] = array($m,4,0,$m,$m,$m,3,$m);
$data[] = array($m,1,$m,0,3,$m,2,$m);
$data[] = array($m,$m,3,3,0,$m,$m,4);
$data[] = array(3,$m,$m,$m,$m,0,6,$m);
$data[] = array($m,$m,$m,2,$m,6,0,4);
$data[] = array($m,$m,$m,$m,4,$m,4,0);

$distance = array();
$v = array();

$s = 0; // 시작점
$e = 7; // 끝점

for($j=0; $j < $n; $j++)
{
$v[$j] = 0;
$distance[$j] = $m;
}

$distance[$s] = 0;

for($i=0; $i< $n; $i++)
{
$min = $m;
for($j=0; $j < $n; $j++)
{
if(($v[$j] == 0) && ($distance[$j] < $min))
{
$k = $j;
$min = $distance[$j];
}
}

$v[$k] = 1;
if($min == $m)
{
print '연결되어 있지 않습니다.';
exit;
}

for($j = 0 ; $j < $n; $j++)
{
if($distance[$k]+$data[$k][$j] < $distance[$j])
{
$distance[$j] = $distance[$k] + $data[$k][$j];
}
}

}

print $s." = ".$e." : ".$distance[$e];
?>

Posted by 아마데우스
JSP2008. 11. 9. 21:26
<% session.invalidate(); %>
Posted by 아마데우스
JSP2008. 11. 9. 17:16
 Cookie[] cookies = request.getCookies();
 if(cookies!=null){
  for(int i=0; i<cookies.length; i++){
   if(cookies[i].getName().equals("지울쿠키이름")){
    cookies[i].setMaxAge(0);
    response.addCookie(cookies[i]);
   }
  }
 }

Posted by 아마데우스
JSP2008. 11. 9. 15:49

생성
 String strId = "Tistory";
 String strPw = "123456888";

 session.setAttribute("logID",strId);
 session.setAttribute("logPW",strPw);

이용

<%@ page import="java.util.*" %>
<%
 Enumeration en = session.getAttributeNames();
 while(en.hasMoreElements()){
  String name = (String)en.nextElement();
  String value = (String)session.getAttribute(name);
  out.println("세션네임: " + name + "<br />");
  out.println("세션밸류 : " + value + "<br />");
 }

%>

세션 제거
session.removeAttribute("logID");
Posted by 아마데우스
JSP2008. 11. 9. 15:34
생성
 String cookieName = "myCookie";
 Cookie cookie = new Cookie(cookieName, "Apple");
 cookie.setMaxAge(60);
 cookie.setValue("Melone");
 response.addCookie(cookie);

이용
<%
 Cookie[] cookies = request.getCookies();
 if(cookies!=null){
  for(int i=0; i<cookies.length;i++){
   if(cookies[i].getName().equals("myCookie")){
%>
    Cookie Name : <%=cookies[i].getName()%><br />
    Cookie Value: <%=cookies[i].getValue()%><br />
<%
   }
  }
 }
%>
Posted by 아마데우스
자바기초2008. 11. 7. 23:39

이클립스는 3.2wtp all-in버전을 사용합니다.

이클립스에서 jsp를 사용하는방법엔 3.2wtp all-in버전인 통합툴을 사용하는방법과 일반 이클립스3.2sdk에 롬보즈플러그인과 jboss플러그인을 설치하여 사용하는방법이있으나 전자로 진행하겠습니다.

 

1.일단 이클립스 3.2wtp버전을 다운받자 다운받는위친 다음과 같다.

http://download.eclipse.org/webtools/drops/R1.5/R-1.5.1-200609230508/

 

여기에서 wtp-all-in-one-sdk-R-1.5.1-200609230508-win32.zip을 다운로드 받습니다.

 

2.압축을 푼후 eclips가 설치된폴더에가서 eclipse.exe를 실행합니다.

 

3.workspac(작업공간)을 입력하라는 창이 뜨면 작업을 할위치를 지정해줍니다.

 

4.마우스 우측버튼을 누르든가 File을 클릭하여 New>Project를 선택합니다.

 

5.wtp를깔았다면 Dynamic Web Project가 보일겁니다. 이것을 선택하신후 Next를 누릅니다.

 

6.Project name을 입력후 Target Runtime에 Next버튼을 누릅니다.

 

7.Tomcat버전선택후 Next를 누릅니다.

 

8.Tomcat installation directory 에서 Browse를 선택합니다.

 

9.Tomcat의 Home디렉토리를 선택합니다.(실제로 톰켓이 깔린위치지정한다.)

 

10.JRE에 workbench이외에 나오는 jre버전을 선택후 Finish를 선택합니다.(자신이 깐 자바에 맞는 jre가 화면에 보일것입니다.)

 

11.Next를 누릅니다.

 

12.Next를 누릅니다.

 

13.Finish를 누릅니다.

 

14.Agree를 누릅니다.

 

15.Yes를 누릅니다.

 

16.WEB-INF폴더에 마우스 우측 버튼을 누른후 New>Folder를 선택합니다.

 

17.Folder name에  classes라고 입력후 Finish를 누릅니다.

 

(여기서 지정한 classes폴더에 나중에 컴파일된 class파일이 들어가도록 할겁니다.)

 

 

18.Project를 선택하고나서 마우스우측버튼을 클릭한후 Properties를 선택합니다.

 

19.Java Build Path>Source>Default out folder에서 Browse를 누릅니다.

(이부분이 자바파일이 컴파일시 생성된 클래스파일이 위치할 경로를 지정하는 곳이다.)

 

20.WEB-INF에 classes를 경로로 지정하고 ok를 누릅니다.

 

21.WebContent에 마우스우측버튼을 클릭후 New>JSP를 선택합니다.

 

22.JSP File Name을 입력합니다.

 

23.JSP코딩을 한후 저장합니다.

 

24 생성된 JSP file에서 마우스 우측버튼을 클릭한후

Run As>Run on Server를 선택합니다.

(이때 주의할것은 톰켓이 작동중이면 톰켓을 멈춘후에 해야?니다. Jsp파일을 실행할때 톰켓작동유무에 상관없이 톰켓을 한번 작동시키기때문에 멈추지않은상태서 하게돼면 에러가 발생합니다.)

 

25.톰켓지정후 Next를 누릅니다.

 

26.Configured Projects에 해당 Project가 있는지 확인하고 Finish를 누릅니다.

 

27.빈은 자바파일을 만들었던것처럼 jsp가 위치한 곳의 프로젝트명을 클릭후 마우스우측버튼눌려 New>Class방식으로 생성한다.

 

28.빈을 호출방식은 일반적인 jsp에서 bean호출하는 방식으로 하면?다

 

 

=>http://cafe.naver.com/specialj.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=882

 

 

 

1. 자바 설치

 

  1) JDK 다운 받기

  http://java.sun.com/javase/downloads/index.jsp

 

  2) 환경변수 등록

   내컴퓨터->등록정보->고급->환경변수->사용자변수/시스템변수  (추가 또는 편집)

 

   JAVA_HOME 

              C:\Program Files\Java\jdk1.5.0_08

 

   PATH   (시스템/사용자)

              C:\Program Files\Java\jdk1.5.0_08\bin ;

              C:\Program Files\Java\jdk1.5.0_08\lib\tools.jar;

 

   CLASSPATH 

              .;

              C:\Program Files\Java\jdk1.5.0_08\jre\lib\rt.jar;

 

   3) 확인

   시작->실행->cmd

              java

              javac

 

 

 

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

 

2. Eclipse 설치

   1) Eclipse 다운 받기

    http://www.eclipse.org/downloads/

 

   2) WTP가 세팅된 이클립스 다운받기 (웹 서버를 사용하려면 WTP가 필요)

    http://www.eclipse.org/webtools/

 

    downloads -> Latest Downloads -> 버전 선택 -> WebTools Platform; All-in-one

    에서 다운을 받는다.

 

   3) 압축을 풀고 eclipse.exe 실행하면 됨.

 

 

 

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

 

3. mySQL 설치

 

   1) 다운 받기

    http://dev.mysql.com/downloads/

 

    MySQL community Edition : Current Release

    MySQL Tools : mySQL GUI Tools

    Drivers and Connectors  : mySQL connector/J (JDBC)

   

    2) 설치

    mySQL을 설치 => GUI tools 설치 

    mySQL connector 압축 풀기

   

    3) 이클립스 연동

    프로젝트 Properties -> Java Build Path -> Libraries -> AddExternal JARs...

    mysql-connector-java 의 jar파일 추가.

 

    4) 연결 및 사용

     DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());

     Connection conn = DriverManager.getConnection(url, id, psw);

     Statement stmt = conn.createStatement();

     (url - jdbc:mysql://localhost:3306/xxxx)

 

     // insert,update

     stmt.executeUpdate(query);

 

     // select

     ResultSet rs = stmt.executeQuery(query);

 

     conn.close();

     stmt.close();

 

 

 

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

 

3. tomcat 설치

 

   1) 다운받기

   톰켓 -  http://tomcat.apache.org/

   플러그인 - http://www.sysdeo.com/eclipse/tomcatplugin

 

   2) 설치   

   톰켓 - 압축 풀기.

          - bin/startup.bat 실행 후

          - http://localhost:8080/   <== 되는지 확인 

          - shutdown.bat 으로 종료.

 

   플러그인

          - eclipse\plugins에 복사  

 

   3) 이클립스 연동

          고양이 아이콘이 추가 되었는지 확인

          메뉴 Window -> Show View -> Other -> Server -> Servers

          아래쪽에 Servers 탭 확인

          아래쪽에서 마우스 오른쪽 버튼 -> New -> Server

          Server 선택(Next) -> tomcat 위치 지정

          아래쪽 Server 추가된 것 확인.

 

 

 

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

 

4. Web Project  

 

   1) 프로젝트 생성

       Java Project 선택.

      

   2) 폴더 구성  

       src

       web - WEB-INF - classes

                              - lib

 

       src : 소스 폴더

       classes : out put

 

       apache-tomcat-5.5.17\webapps\ROOT\WEB-INF\web.xml을 복사하여

       WEB-INF 에 web.xml추가

 

       web 에 index.html 및 jsp 파일 추가.

       index.html에 아무말이나 작성.

 

       web.xml 수정.

      <servlet-mapping><url-pattern>을 참조하여 <servlet-mapping><servlet-name>과

      <servlet><servlet-name>을 매핑하여, <servlet><servlet-class>를 생성한다.

 

   3) 프로젝트와 톰켓 연결

       아래쪽 이전에 생성시킨 Server 더블 클릭

       modules 탭에서 Add External Web Module을 눌러 Web Module 추가.

       위에 생성한 프로젝트의 web 폴더를 Decoment base로 설정.

       Path는 /sss  <==암거나

 

    4) 서버구동

       Server -> 마우스 오른쪽 버튼 -> Start

       http://localhost:8080/sss

       확인


Posted by 아마데우스
JSP2008. 11. 6. 22:37
 String name = request.getParameter("name");
 name = new String(name.getBytes("8859_1"),"KSC5601");

Posted by 아마데우스
자바기초2008. 11. 6. 12:56

이클립스 잘 활용하여 개발자 노가다 줄이자!

-. snippets 에 개발소스 표준탬플릿을 등록하여 개발생산성 및 품질 향상

-. PMD 같은 소스품질 검사툴 도입검토

-. 프레임웍에 최적화된 이클립스 개발환경 구축

-. 이클립스 따라하기 기능을 활용한 교육

 

 

이클립스 시작

Eclipse 시작하기

Eclipse에 새로운 플러그인 설치하기

Eclipse 사용시 알아두면 좋은 유용한 단축키 모음

 

이클립스 기반 버전관리

CVS 설치와 Eclipse와의 연동
Eclipse와 CVS과 연결하여 사용하기
Subversion 설치 및 Eclipse와의 연동

Visual Source Safe 설치와 Eclipse와의 연동

 

이클립스 기반 개발

JUnit 사용 - Using JUint in Eclipse

리팩토링 - Refactoring in Eclipse

 

이클립스 강좌

Eclipse 사용을 위한 동영상 강좌

 

 

이클립스 노하우

Eclipse 사용시 알아두면 유용한 팁
Eclipse 성능 높히기
Eclipse 기반하에서 Remote Debugging 설정

 

 

이클립스 관련링크

이클립스 FAQ 페이지

jlab.net의 이클립스 FAQ 번역 페이지

jlab.net의 이클립스 소식 페이지

javajigi.net의 이클립스 페이지

javastudy 이클립스 게시판

이클립스 위키 페이지

이클립스 단축 키 목록 

[출처] 이클립스 활용|작성자 수아아빠


Posted by 아마데우스
PHP2008. 11. 6. 11:01


$start   = ($_GET['start']=='') ? 0 : $_GET['start'];

$scale = ($_GET['limitCnt']) ? $_GET['limitCnt'] : 20;
$page_scale = 20;
$page = floor($start / ($scale * $page_scale));

$tmp = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM member A , ".$zTb['mem']." B ".$opt, $connect));
$total = $tmp[0];

$sql = "SELECT * FROM member limit ".$start.",".$scale;
$rs = mysql_query($sql, $connect);
while($row = mysql_fetch_assoc($rs))
{
}

if($total > $scale){  // 검색 결과가 페이지당 출력수 보다 크면

 if($start+1 > $scale*$page_scale){
  $pre_start = $page * $page_scale * $scale - $scale;
  echo "<td><a href='".$_SERVER['PHP_SELF']."?p=".$_GET['p']."&start=".$pre_start.$optStr."' onfocus=this.blur() class=xyz><img src=ListSrc/005.gif width=14 height=11></a></td>";
 }

 echo "<td style='padding:3px 4px 0 4px;'>";

 for($vj=0; $vj < $page_scale ; $vj++){
  $ln = ($page * $page_scale + $vj)*$scale;
  $vk = $page * $page_scale + $vj + 1;
  if($ln<$total) {
   if($ln!=$start) {
    echo " <a href='".$_SERVER['PHP_SELF']."?p=".$_GET['p']."&start=".$ln.$optStr."' onfocus=this.blur() class=xyz> ".$vk." </a>";
   } else {
    echo " <span style='color:#990000;font-weight:bold;'> ".$vk." </span>";
   }
  }
 }

 echo "</td>";

 if($total > (($page+1)*$scale*$page_scale) ) {
  $n_start=($page+1)*$scale*$page_scale;
  echo "<td><a href='".$_SERVER['PHP_SELF']."?p=".$_GET['p']."&start=".$n_start.$optStr."' onfocus=this.blur() class=xyZ><img src=ListSrc/006.gif width=14 height=11></a></td>";
 }
}

Posted by 아마데우스
PHP2008. 11. 6. 10:56
<!--StartFragment-->$bbs_contents = '본문내용에 주민번호와 그렇지않은 번호를 넣어보세요....';


$pattern = '/^d{6}-d{7}$/';
$pattern = '/[0-9]{6}(-|*|_|=|[[:space:]])*[1|2|3|4][0-9]{6}/';
preg_match_all($pattern, $bbs_contents, $matches, PREG_SET_ORDER);

$i=0;
foreach ($matches as $val) {
    preg_match("/(d{6}).*(d{7})/",$val[0],$res);

    $chk_jumin =$res[1].$res[2];
    echo $chk_jumin.' => ';
    if(RegiNum($chk_jumin)) {
        echo ' true, ';
        $bbs_contents = str_replace($val[0],'<font color="#ff8800">'.$val[0].'</font>',$bbs_contents);
    } else {
        $bbs_contents = str_replace($val[0],'<font color="blue">'.$val[0].'</font>',$bbs_contents);
        echo ' false, ';
    }
    $i++;
}


function RegiNum($reginum) {
$weight = '234567892345'; // 자리수 weight 지정
$len = strlen($reginum);
$sum = 0;

if ($len <> 13) { return false; }

for ($i = 0; $i < 12; $i++) {
$sum = $sum + (substr($reginum,$i,1) * substr($weight,$i,1));
}

$rst = $sum%11;
$result = 11 - $rst;

if ($result == 10) {$result = 0;}
else if ($result == 11) {$result = 1;}

$jumin = substr($reginum,12,1);

if ($result <> $jumin) {return false;}
return true;
}

Posted by 아마데우스
MySQL2008. 11. 6. 09:52

IF(NOW() - date < 3600*24,DATE_FORMAT(date,'%H:%i'),DATE_FORMAT(date,'%y-%m-%d')) date
Posted by 아마데우스
MySQL2008. 11. 6. 09:40

4.0.x, 4.1.x, 5.0.x 버전 (거의 모든 버전)
select * from tb1 WHERE date_sub(now(),interval '1' month) < date;

4.1.x 이상 버전에서는
select * from tb1 where datediff(now(),date) < 31;

Posted by 아마데우스