반응형

헤더값에 대한 정보를 알 수가 없어서...

FORM액션으로 그냥 쏘고 소켓 서버로 받아보았다.


========= post.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>Insert title here</title>
</head>
<body>

<form action = "http://127.0.0.1:9000" method="post">

<input type="text" name ="id" value="srzero">
<input type="submit" value="submit">

</form>
</body>
</html>
===============================




======= Server.java =============
import java.net.*;
import java.io.*;

public class Server {
   public static void main(String[] args){
      try{


         ServerSocket server = new ServerSocket(9000);
         System.out.println("Client Wait..");


         while(true){
            Socket sock = server.accept();
            EchoThread echothread = new EchoThread(sock);
            echothread.start();
         }
      }
      catch(Exception e){
         System.out.println(e);
      }
   }
}

class EchoThread extends Thread{
   // 연결된 소켓을 받을 소켓멤버변수.
   private Socket sock;

   // 생성자.
   public EchoThread(Socket sock)
   {
      this.sock = sock;
   }

   public void run()
   {
      try
      {

      byte [] data = new byte[2000];
      
         InetAddress addr = sock.getInetAddress();
        
         System.out.println(addr.getHostAddress() + "Connected..");
        
         InputStream input = sock.getInputStream();       
        
         input.read(data);
        
         System.out.println("수신데이터 : \n" + new String(data));
        
       
         OutputStream output = sock.getOutputStream();
        
         //output.write(msg.getBytes());
        
         //System.out.println("송신 데이터 : " + msg);

      }
      catch(Exception ex)
      {
         System.out.println(ex);
      }
   }
}
==================================================================



===== 결과값 -========================================
Client Wait..
127.0.0.1Connected..
수신데이터 :
POST / HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer:
http://127.0.0.1:8080/post.jsp
Accept-Language: ko
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; InfoPath.2)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: 127.0.0.1:9000
Content-Length: 9
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: JSESSIONID=AEA647A934D946049669DF94A7337F0B

id=srzero



해당 값에 대해 ... 조사해보자~~ ^^

반응형

'Program > JSP' 카테고리의 다른 글

2차 도메인 Cookie 공유  (0) 2014.02.03
[ JSTL 문법 정리 ]  (0) 2011.01.07
JSPF 를 이용한 INCLUDE 설명  (5) 2010.05.03
JSP에서 Servlet 이외의 URL 접급 차단법  (0) 2010.03.05
[펌] MINE TYPE 정보  (0) 2010.02.18
반응형

회사에서 가끔 ASP를 개발할 경우가 있다.

ASP 개발에서 우선적으로 해야할 IIS 설치방식을 맨날 까먹는다.

한번씩밖에 설치할 기회가 없었는데 집에서 해볼겸 함해본다.

ㅋㅋㅋㅋㅋ

1. WINDOWS CD 를 갖고있거나 ISO 데몬파일을 가지고 있어야한다.
   ( 구지 정품이 아니라도 상관없음 또한 CD-KEY가없어도 상관없다.)

2. 시작 -> 제어판 ->프로그램 추가제어 -> WINDOWS 구성요소 로 이동한다.

3. 인터넷 정보서비스 (iis)를 체크한다.


4. World Wide Web 서비스를 선택후 자세히 보기 버튼을 클릭한다.



5. FTP도 써야하므로 FTP 서비스를 체크한다.



6. 이까지만 하면 문제없다.


이까지가 IIS설치과정을 일련으로 나열한것이다.

다들 참조해서 볼수있도록 한다. ㅋㅋㅋ
반응형

'Program > ASP' 카테고리의 다른 글

ASP w3socket.dll library를 이용한 소켓전송방식  (2) 2009.11.29
반응형
=============================================================================

if(confirm('진실로 \n\n성랑이가 천재라고 생각하시나요????')==true) {
         alert("Your think is right!!!");
}else{
          return;
}

=============================================================================

좀더 자세히 찾아보니 vbscript를 쓰지않고도 쉽게 할수 있는 방법이많았당.ㅋㅋㅋ
반응형
반응형

메모리 릭에 대해서

인터넷에 끄적끄적 대어 알아낸 결과에 대해 간단히 적어본다.

이거 몰라서 차장님한테 욕먹음 ㅠㅠ;


[1] 메모리릭 이란 ? (정의를 알아야 뭐든안다)

 - 우선 말로 설명 하면 메모리 릭이란 한글로 메모리 "누수" 이다.
    누수란것은 어디론가 흘러간다는 뜻!!!! 일반적으로 개발자가 프로그램 작업시에 어떠한 객체 또는 변수에
    특정 메모리를 참조할수 있도록 할당한 다음에 해당 변수에대한 참조를 해지 핮지않고 프로그램을 종료한다.
    프로그램이 종료후에도  변수에 참조된 값은 해제가 되지 않거나, 참조 주소가 바뀌어서 영원히 해제가 되지
    않을때 생기는 문제이다.
    즉, 쉽게 말해서 gc가 처리해야할 대상에서 제외되는 것들이 생기는 현상을 말한다.
   
    말로하니깐 참 드럽게 어렵기도 하다.
    대충 소스를 보자 (랑이의 수도코드)

   

================================ A_Test.java ========================================
public class A_Test {
 public static void main(String[] args) {

  A_Test a = new A_Test(); // 요기서 a를 메모리 할당한다. 객체에 heap메모리의 주소값 참조함.
 
  B_Test b = new B_Test();

  b.rang(a); // call by reference로 a를 넘겨준다.
 
  a= null; // a에 참조된 객체값을 null로 하여 gc가 처리할수 있도록 해준다.
 }
}
======================================================================================

================================ B_Test.java ========================================

public class B_Test {
 private A_Test test = null;
 
 public void rang(A_Test a){
  test = a; // 내부에서 새로운 test라는 객체에 주소값을 복사해버린다.
 }
}

======================================================================================


위 소스를 보면 대~~~충 이해는 간다. B_Test 클래스에서 멤버변수에 새로운 주소값을 복사해 버린후에

test라는 객체는 주소값을 없애지 않고 날려버린다. 즉!!!!

test 라는 객체는 이제 오갈때 없는 heap영역안의 낙동강 오리알이 되어버린 것이다.

이런 오리알 들이 많이많이 쌓이면 heap라는 강물이 꽉차버린다. 그럼 어찌 되겠는가?

삐용삐용 장애발생이 되는것이다.

휴~~~~~~ 손가락 무지아프네..


[2] gc는 왜 처리를 못하는가?


자바에서 이론적으로 가비지 컬렉터 요놈이 알아서 ... 저러한 것들을 처리한다고 책에서 많이들 봐왔을것이다.
그럼 왜 이놈은 저런놈을 처리못하고 릭 상태로 해버리는것일까?

우선적으로 gc가 호출되어 메모리를 날려버리지 않는 대상에는 어떤놈이 있는지알아보자

- Http Session에 넣는 데이터..(세션 타임아웃 또는 invilidate 씨 까지 제외됨)
- Static 변수
- 서블릿 또는 jsp의 멤버변수 ( WAS 기동 후 최초 호출 시 인스턴스 화 되어 WAS가 내려 갈 때 까지 사라지지 않음 )


요3개는 나도 퍼왔다 . 모르는거니 퍼오는수밖에 ㅋㅋㅋ

보통 gc는 메모리를 알아서 관리해 주는 놈이라고 이론적으로 알고 있다.

하지만 gc는 신이아니다 . 개발자가 변수하나 설정 잘못해도 gc는 절대절대.... 그 해당 메모리를 해제하지못한다.
그렇기 때문에 개발자가 gc를 좀 도와줘야한다. 예를들어


Test test = new Test();
.
.
.
test = null;


이렇게 프로그램 좀 다 끝났다싶으면 null로 gc가 찾아내기 쉽게 바꿔주는것이바람직한 코딩법인것이다.


휴~~ 너무 많이썼더니 손가락 터지겠음.

다음시간에는 현재 메모리를 얼마나 잡아먹고 있고 / 메모리릭 이 일어나는 부분을 찾아내는 방법에 대해

툴 / 코딩법 등에 대해서 정리해서 올려보도록 하자!!!



- ps : 요거요거 엄청 빡세네 -.

                                                                        - 2009/11/15 신국의 화랑 성랑 랑이 씀 -

반응형

'Program > JAVA' 카테고리의 다른 글

JAVA - LINUX 명령어 실행하는 방법  (0) 2010.02.06
자바 메일 강의자료 Sendmail  (0) 2010.01.27
String Class 사용시 주의사항  (2) 2010.01.21
자바 특별한 Exception  (0) 2010.01.11
Class File Version Check  (0) 2009.12.18

+ Recent posts