이클립스 글씨체 (추천)

Web/Basic 2012. 5. 23. 13:52 Posted by Request

courier New

 

windows/fonts/

에서

 

숨겨져 있는 것을 표시로 바꾼후 설정하면 된다.

 

나눔고딕보다 훨씬 잘 보인다.

(기초) 썸네일 이미지

Web/Basic 2012. 5. 23. 11:22 Posted by Request

1)JAI(Java Advanced Imaging) API 개요

- http://www.oracle.com/technetwork/java/current-142188.html

(java advanced imaging 1.1.3 다운로드)

 

2)cos.jar 라이브러리 추가

-http://www.servlets.com

> com.oreilly.servlet (링크 클릭)

> cos-26Dec2008.zip (다운로드)

 

 

 

 

 

 

(소스)

thumbnailForm.jsp
<center>
<h3>썸네일 이미지 폼 예제</h3>
<form action ="thumbnail.jsp" method="post" enctype="multipart/form-data">
이미지 : <input type="file" name="filename"/><p>
<input type="submit" value="전송"/>
</form>
</center>

 

 

 

 

thumbnail.jsp

String imagePath = request.getRealPath(\\image);  //프로젝트 내 가상경로 패스

 

int size = 1*1024*1024;

String filename = "";

 

MultipartRequest multi = new MultipartRequest(request, imagePath, size, "euc-kr", new DefaultFileRenamePolicy());   // 중복된 파일이 있을 경우 새이름으로

 

Enumeration files = multi.getFileNames();   //Enumeration 파일 객체 생성

 

String file = (String)files.nextElement(); //해당되는  파일

filename = multi.getFilessystemName(file);  //해당 파일명

 

ParameterBlock pb = new ParameterBlock();    //작업공간 객체 생성

pb.add(imagePath+"/sm_"+filename);             //작업공간에 새이름으로 썸네일 생성

RenderdOp rOp=JAI.create("fileload",pb);      //PlanarImage클래스 상속, 이미지에 방금수행된 연산의 정보를 포함.

JAI.create("fileload",pb)로부터 RendereOp객체가 리턴이 되면 RenderedOp 클래스의 planarImage클래스의 getBufferedImage() 메소드로부터 BufferedImage 객체를 얻어 올수 있다. BufferedImage객체를 사용해서 메모리에 이미지를 생성한 후 그 이미지를 화면에 표출할수 있고, 파일로 저정 가능하다.

 

BufferedImage bi  = rOp.getAsBufferdImage();

BufferedImage thumb=new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);

 

Graphics2d g = thumb.createGraphics();

g.drawImage(bi,0,0,100,100,null);

 

File file = new FIle(imagePath+"\sm_"+filename);

ImageIO.write(thumb,"JPG",file);

 

 

-원본 이미지 <br>

<img src="../image/<%=filename%>">

<p/>

-썸네일 이미지<br>

<img src="../image/sm_<%=filename%>">

 

 

 

(기초) 서블릿으로 세션의 살펴보기

Web/Basic 2012. 5. 22. 11:04 Posted by Request

1.세션의 개념

HTTP프로토콜의 특징 중의 하나는 상태를 유지하지 않는다는 것이다.

즉, 클라이언트가 한번 요청을 하고 서버에서 응답을 하면 HTTP프로토콜은 상태를 유지하지 않는 속성이 있기 때문에 첫 번째 요청을 한 클라이언트임을 인식하지 못한다.

이를 보완하기 위한 방법이 바로 세션이다.

 

쿠키세션 아이디를 저장하여 클라이언트가 다시 요청을 하면 세션 아이디요청에 같이 전송된다.

 

 

 

(기초) 서블릿의 동작 원리

Web/Basic 2012. 5. 21. 17:25 Posted by Request

서블릿의 동작 원리

 

1. 사용자의 URL 요청

-어떤 사용자의 URL 요청이 서블릿 요청이라는 것을 웹 서버가 알기 위해서는 사전에 웹 서버 측에 URL과 서블릿 클래스를 미리 매핑시켜 놓은 배포 서술자가 필요하다.

 

배포서술자(Deployment Descriptor) : 웹서버가 알아 챌 수 있도록 적어 놓은 파일(web.xml)

 

 

2. request, response 객체 생성

-웹 컨테이너는 일단 지금 받은 요청을 처리하기 위해 HTTP 요청(Request)을 처리하기 위한 request 객체와 HTTP 응답(Response)를 위한 response 객체를 생성한다.

 


3.서블릿 인스턴스와 스레드 생성

-request, response 객체가 생성된 뒤 사용자의 URL 요청이 어떤 서블릿 클래스를 필요로 하는지 배포 서술자를 통해 알아낸다.

만일 그 클래스가 웹 컨테이너에서 한 번도 실행된 적이 없거나 현재 메모리에 생성된 인스턴스(프로세스)가 없다면 새로 인스턴스를 생성하고(메모리에 로드하고) init()메소드를 실행하여 초기화 한 뒤 스레드를 하나 생성한다.

 

이미 인스턴스가 존재할 경우에는 새로 인스턴스를 생성하지 않고 기존의 인스턴스에 스레드만 하나 새로 생성한다.

각 서블릿 인스턴스는 웹 컨테이너당 하나만 존재하기 때문에 init() 메소드는 각 서블릿 당 한 번씩만 호출된다.

 

4.service() 메소드 호출과 서블릿 클래스 실행

-스레드가 생성되면 각 스레드에서 service() 메소드가 호출된다.

service()메소드가 호출되면 HTTP요청 방식이 GET방식일 경우에는 서블릿 클래스의 doGet()메소드가,

POST방식일 경우에는 doPost()메소드가 request, response 객체를 인자로 자동으로 호출된다.

 


 

5.응답과 스레드의 소멸

doGet() 또는 doPost() 메소드가 호출되어 사용자의 요청에 따른 동적인 웹 페이지를 생성하면 그 결과물이 담긴 reponse 객체를 웹 컨테이너가 HTTP 응답(Response) 형태로 바꾸어 웹 서버로 전송하게 된다.

그리고 사용이 끝난 Request와 Response 객체를 소멸시키고 스레드를 종료하게 된다.

 

 

 

클라이언트  -->   1.http://www.servlet.com/servlet요청      -->   

 웹 서버   -->   2.요청된 서블릿 확인 후 컨테이너로 요청   -->

컨테이너  -->

  3.컨테이너에서 request와 response 생성 후 web.xml(배포서술자)을 참조하여 해당 서블릿의 스레드 생성 후 service 메소드 호출

 

  4.service() 메소드에서는 요청 방식에 따라 doGet이나 doPost() 메소드 호출

  5.doGet() 이나 doPost() 메소드에서 응답 생성                         

 

 

 

출처 : [ jsp 2.2&servlet3.0(오정원지음) 내용입니다. ]

(기초) 웹 컨테이너란?

Web/Basic 2012. 5. 21. 16:14 Posted by Request

『JSP와 서블릿을 사용한 웹 서버』는 크게  URL 주소의 해석을 맡아 주는 HTTP 서버서블릿 클래스 또는 JSP 파일의 실행 요청을 처리해주는 웹 컨테이너(Web Container)로 구성된다.

 

 

웹 컨테이너란?

웹서버의 내부에서 서블릿 클래스 또는 JSP 파일을 실행하기 위한 실행 환경을 제공하는 역할을 하며

특히

서블릿 클래스에 대한 웹 컨테이너를 서블릿 컨테이너,

JSP 파일에 대한 웹 컨테이너를 JSP 컨테이너라고 한다.

위와 같이 두 타입의 서블릿 컨테이너, JSP 컨테이너를 통칭하여 웹 컨테이너라 한다.

 

 

 

출처 : [ jsp 2.2&servlet3.0(오정원지음) 내용입니다. ]

(기초)HTTP 프로토콜의 이해

Web/Basic 2012. 5. 21. 16:02 Posted by Request

HTTP 프로토콜의 이해

 인터넷 통신에는 TCP/IP, FTP, SMTP,HTTP등 많은 종류의 프로토콜이 있다.

우리는 JSP와 서블릿을 사용한 웹프로그램밍을 작성할 때 사용하는 프로토콜이 HTTP프로토콜이므로 HTTP가 어떤 구조를 가지고 어떤 연관성을 지녔는지 알아보도록 하자.

 

프로토콜이란?

-데이터를 주고 받는 방법을 약속할 필요가 있는데 이것이 바로 프로토콜이다.

한마디로 컴퓨터 상호간의 대화에 필요한 통신 규약을 의미한다.

 

 

HTTP 프로토콜의 구조

-요청과 응답의 형태로 이루어졌다고 볼수 있다.

 

시작(요청)라인

시작(응답) 라인

헤더(Header)

(일반 헤더/요청 헤더)

 

헤더(Header)

(일반 헤더/응답 헤더)

본문(Body)

(요청 메세지)

 

본문(Body)

(응답 메세지)

HTTP 요청 메세지

 

HTTP 응답 메세지

 

 


HTTP 요청(Request) 메세지 구성

기본적으로 HTTP 메소드(Method)와 접근할 주소(URL) 정보 그리고 서버에 전달할 데이터인 폼 파라미터로 구성된다.

 

Get메소드, Post 메소드 사용 요청 및  HTTP 응답 정의  생략.

 

 

 

출처 : [ jsp 2.2&servlet3.0(오정원지음) 내용입니다. ]

(기초) Servlet의 개요

Web/Basic 2012. 5. 21. 15:36 Posted by Request

Servlet이란?

- 웹서버 상에서 실행되는 자바의 클래스 파일이라 할수 있다.

- 서블릿(Server Side Applet) 즉, 서버 사이드의 자바 응용 프로그램이란 뜻이다.

 

특징)

javax.servlet.Servlet을  인터페이스 구현해서 작성해야만 입력과 출력을 HTTP 프로토콜의 요청(Request)와 응답(Response)의 형태로 다룬다.

 

 

애플릿(Applet)이란: Panel을 상속하는 클래스로 웹브라우저에 담겨서 실행되는 작은 자바 응용프로그램을 말한다.

 

 

 

 

출처 : [ jsp 2.2&servlet3.0(오정원지음) 내용입니다. ]

(기초) JSP의 특징

Web/Basic 2012. 5. 21. 15:21 Posted by Request

JSP(JAVA Server page)의 특징

 

1)강력한 이식성 :

 

2)서버 자원의 효율적인 사용

  • 기존 CGI방식의 가장 큰 단점 중의 하나는 바로 프로세스 관리의 어려움으로 인한 서버 자원의 낭비였다고 볼수 있다. 사용자가 웹 서버에 요청을 보내면 서버는 각 요청 당 하난의 프로세스를 생성하고 해당 프로세스를 통해 결과를 생산하면 프로세스가 종료되는 구조를 가지고 있었기 때문이다.

-JSP는 이러한 문제점을 스레드(Thread)기반의 아키텍처(컴퓨터 시스템의 하드웨어 구조)를 사용하여 개선시켰다.

 즉, 최초의 요청이 웹 서버에 들어오면 서버는 그 요청에 맞는 JSP 페이지에 대한 서블릿 인스턴스(자바에서는 클래스로부터 만들어진 객체를 뜻함, 실제 사용 할수 있게 메모리에 생성된 객체를 인스턴스라고 하는 경향이 있다.)

 

3)간편한 MVC 패턴 적용

  • Model : 실제 비즈니스 로직이 들어가는 부분
  • View : 사용자에게 보여지는 화면
  • Controller : 서블릿, (디자인 패턴)

 

 

 

 

출처 : [ jsp 2.2&servlet3.0(오정원지음) 내용입니다. ]

(기초) Web 애플리케이션의 구조

Web/Basic 2012. 5. 21. 11:41 Posted by Request

일반적인 웹 애플리케이션은 클라이언트/서버 방식으로 이루어진다.

 

클라이언트는 사용자의 요청을 뜻한다.

 

서버

웹서버 : 사용자의 요청을 받아들이고 결과 페이지를 전송담당

애플리케이션서버 : 사용자의 요청을 실질적으로 처리할수 있는 비즈니스 로직 구현담당.

이러한 웹 애플리케이션의 구조3-tier(티어)구조라 한다.

 

 

 

 

 

출처 : [ jsp 2.2&servlet3.0(오정원지음) 내용입니다. ] & 구글링 이미지 검색

[CSS] input style 정리.

Web/Basic 2011. 9. 16. 10:48 Posted by Request
1)ime-mode:disabled  : 영문자만 입력 가능하도록 설정

  • auto : 기존값
  • normal   : 기본값
  • active     : 활성화, IME 기본 설정 언어(한글로 되어 있으면 한글)로 입력 됨.
  • inactive  : 비활성화, 영문이 기본으로 입력됨.
  • disabled : 한/영 전환키를 사용해도 영문으로만 입력됨.

<input type="text" style="ime-mode:disabled">


2)onfocus="this.blur()"
사용으로 키보드 이동시 포커스 불가능