기본 콘텐츠로 건너뛰기

아파치, 톰캣

톰캣

[ Tomcat ]
 웹서버에서 서블릿(servlet), JSP, 빈즈와 같은 자바 코드를 이해하기 위해서는 톰캣 같은 자바를 이해하는 엔진이 있어야 한다. 비용이나 성능면에서는 자바 기반 웹서버를 구성할 때 리눅스(Linux), 아파치, 톰캣 조합을 많이 사용한다.

웹프로그램은 순수한 프로그램 언어로만 이루어진 것이 아니라 클라이언트 언어인 HTML이 혼용되었는데, 톰캣은 자바 파일만 해석할 수 있다. HTML과 혼용된 경우 컴파일 과정을 거친다. JSP페이지는 서블릿 형태로 일단 변형되어 완벽한 자바 파일로 변형된 뒤 컴파일된다.

자바 서블릿과 JSP 규격의 '참조용 구현'으로 평가되고 있는 톰캣은, 개발자들의 개방적 협력 작업의 산물로 아파치 웹사이트에서 받을 수 있다. 톰캣을 실행시키기 위해서는 JRE1.1 이상에 부합되는 자바 런타임 환경이 필요하다.
 
[네이버 지식백과] 톰캣 [Tomcat] (두산백과)
:설치 주소: http://tomcat.apache.org
:JDK 버전에 맞는 버전을 선택하여 다운로드

아파치

[ Apache ]

1995년 처음 발표된 월드와이드웹(WWW:World Wide Web) 서버용 소프트웨어이다. NCSA(National Center for Supercomputing Applications:미국국립수퍼컴퓨터활용센터) 소속 개발자들이 개발한 NCSA httpd 1.3 웹서버를 자신들이 개량한 것으로 소스코드까지 공개되고 있다.
NCSA httpd 1.3 서버에 패치(patch)파일을 제공했던 개발자들이 'A PAtCH server'라는 용어에서 아파치라는 이름을 따왔다. 1995년 3월 18일 공개된 아파치0.2가 NCSA httpd 1.3에 패치파일을 제공하였다.
패치파일을 꾸준히 개선해 제공하고 있으며, 최고 수준의 성능을 발휘하기 때문에 월드와이드웹 서버용 소프트웨어로 가장 많이 사용되고 있다. 오픈소스(open source) 라이선스에 따라 무료로 배포되어 원하는 사람들이 자유롭게 사용할 수 있다. 유닉스·윈도 등을 비롯해 거의 모든 운영체제와 시스템에서 운용이 가능하다.
아파치소프트웨어재단(Apache Software Foundation)이라는 단체가 오픈소스 프로젝트의 아파치 커뮤니티를 지원하고 있다. 이 재단은 아파치 인큐베이터 프로젝트·아파치 앤트 프로젝트 등의 아파치 프로젝트를 진행중이다.
u
[네이버 지식백과] 아파치 [Apache] (두산백과)

댓글

이 블로그의 인기 게시물

[Java] Http File Download 이어받기

Http 서버로부터 다운로드 받는 파일을 이어받기 위해서는 Http Header에 아래 두가지 정보를 추가해 주면 된다. URLConnection conn = url.openConnection(); conn.setRequestProperty("Accept-Ranges", "bytes"); conn.setRequestProperty("Range", "bytes=" + mOffset + "-"); 그러면 서버에서는 해당 Offset으로부터 File을 다운로드 시켜준다. 클라이언트가 요청헤더에 Range 필드를 포함 시켜서 보내면, 서버는 그 정보를 가지고 어디서 부터 파일을 보낼지 판단을 합니다. 하지만 클라이언트가(브라우저) Range 필드를 포함 시켜야 할지를 판단하는 기준은 최초 다운로드 요청시 서버의 응답헤더에 따라 다음 요청헤더에 Range 헤더를 생성할지 않할지 판단하게 됩니다. 그걸 당락짓는 응답 헤더 필드는 다음과 같습니다. Accept-Ranges , ETag, Last-Modified 반드시 위 필드를 응답 헤더에 같이 보내줘야 클라이언트는 다음 요청시 Range헤더를 포함시켜 보내게 됩니다. 참고로 말씀 드리면 위 필드를 포함 시켜서 보내더라도 value는 반드시 " " 로 묶어서 보내야 합니다. 안그러면 브라우저는 죽어도 Range 필드를 생성시키지 않습니다. HTTP 1.1 스펙은 따옴표를 강제적으로 해줘라 이런 내용 없습니다. 자바기준 40byte의 파일이라치면 클리이언트 요청을 두번으로 나누었다치면 이케 connection.setRequestProperty("Range", "bytes=0-20"); connection.setRequestProperty("Range", "bytes=20-40"); 단 co...

java 특정 디렉토리에 있는 파일 목록을 읽어내기, 정렬해서 가져오기

폴더 리스트 가져오기 String path="C:\"; File dirFile=new File(path); File []fileList=dirFile.listFiles(); for(File tempFile : fileList) {   if(tempFile.isFile()) {     String tempPath=tempFile.getParent();     String tempFileName=tempFile.getName();     System.out.println("Path="+tempPath);     System.out.println("FileName="+tempFileName);     /*** Do something withd tempPath and temp FileName ^^; ***/   } } 정렬해서 가져오기 import java.io.FileFilter; import java.io.IOException; import java.util.Arrays; import java.util.Date; import org.apache.commons.io.comparator.LastModifiedFileComparator; import org.apache.commons.io.filefilter.FileFileFilter; public class LastModifiedFileComparatorTest { public static void main(String[] args) throws IOException { File directory = new File("."); // get just files, not directories File[] files = directory.listFiles((FileFilter) FileFileFilter.FILE); System.out.println("Defaul...