2009-10-20 3 views
4

저는 오랫동안 서버 측 자바 스크립트를 알고 있었지만 어떻게 작동하는지에 대한 단서가 없습니다. 누군가가 올바른 방향으로 나를 가리킬 수 있을까요?서버 쪽 자바 스크립트는 어떻게 사용/구현 되었습니까?

나는 서버 측을 사용하는 방법에 관심이 자바 스크립트 + 자바 서블릿 기술

편집

좋아! 이전에 그러한 기술을 보았지만 어떤 이유로 "서버 측"javascript (doh!)와 연결하지 않았습니다.

무료 질문 : 콘텐츠를 만들려면 자바 스크립트 라이브러리를 사용하고 싶습니다 (예 : ExtJs), 나는 클라이언트에서와 같이 서버 측에서 수정할 "문서"를 가질 수 있습니까?

+0

더 나은 질문은 왜 그것을 사용하고 싶습니까? –

+0

@ 엘리자베스 : 의견을 보내 주셔서 감사합니다. 짧은 이야기가 있습니다 : JavaScript 라이브러리에서 생성 된 HTML을 클라이언트 측에서 시도한'application/vnd.ms-excel'으로 제공해야하지만 작동하지 않습니다 (왜냐하면'text/html 만 사용할 수 있기 때문입니다. ') 완전한 이야기는 여기에있다. http://stackoverflow.com/questions/1479020/save-the-document-generated-by-javascript – OscarRyz

답변

6

자바 스크립트 서버 측을 실행하려면 삽입 할 수있는 자바 스크립트 엔진이 필요합니다. 이 "embeddable"엔진의 대부분은 실행중인 javascript 코드와 자신의 객체/메소드 사이에서 인터페이스 할 수있는 API를 제공합니다. 예를 들어 자바 또는 C#으로 작성된 함수를 실행하도록 자바 스크립트 코드를 연결하거나 시스템의 비 자바 스크립트 객체에 대한 액세스를 포함하도록 스크립트의 기호 테이블을 보강 할 수 있습니다.

이 엔진 중 일부를 살펴 보았습니다. Rhino가 Java로 작성된 것처럼 가장 적합하다고 생각합니다. 이 자습서에서는 Rhino를 Java 환경에 임베드하는 방법에 대해 설명합니다.

  1. 코뿔소 내장 튜토리얼 : http://www.mozilla.org/rhino/tutorial.html
  2. V8 구글의 엔진입니다. V8은 현재 스레드 세이프가 아니므로 서버 환경에서 필요로하는 것은 아닙니다. http://code.google.com/p/v8/
  3. SpiderMonkey는 Firefox의 JavaScript 실행을 강화하는 엔진입니다. 그것은 당신의 두 번째 질문에 대한 응답으로 편집 직선 C.에게 http://www.mozilla.org/js/spidermonkey/

을합니다.

javascript 라이브러리에 의해 생성 된 콘텐츠가 무엇을 의미하는지 정확히 모르겠습니다. 그러나 ExtJS는 HTML 컨텐트를 암시합니다. DOM (Javascript는 읽고 수정할 수 있지만 Javascript 자체의 "일부"는 아님)과 Javascript 언어의 차이점을 이해하는 것이 중요합니다. DOM 서버 측의 아이디어가 다른 이야기 인 경우, 자바 스크립트 이 필요하면 위의 옵션이 도움이 될 것입니다.

2

ASP 및 ASP.NET 서버 측 자바 스크립트를 지원 (난 내 첫 번째 시도에서 찾을 수 있습니다 생각). ASP의 경우 :

<%@LANGUAGE=JAVASCRIPT%> 

ASP 파일 맨 위에 JavaScript로 코딩하고 있습니다. ASP.NET은 기본적으로 .NET 프레임 워크에 대한 액세스 권한을 얻는 것을 제외하고는 동일합니다.

자바 서블릿 앞에서 도움을 얻을 수 없으며 경험이 없습니다.

3

모질라의 Rhino 자바 스크립트 엔진은 아주 쉽게 삽입 할 수 있습니다. Java 클래스의 하위 클래스 화 및 인터페이스 구현은 물론 빠른 JavaScript 객체 속임수를 빠르게 수행 할 수 있습니다. 나는 이것을 2 개월 동안 떨어져있는 순간에 GeoServer에 끼워 넣기 위해 노력해 왔습니다. Rhino가 내장 된 Java 코드와 SVN 저장소에 JavaScript examples 몇 개를 살펴볼 수 있습니다. Rhino에는 시작하기에 꽤 좋은 guide도 있습니다.

1

"Helma는 웹 사이트 및 인터넷 응용 프로그램을 빠르고 효율적으로 스크립팅하고 제공하기위한 서버 측 자바 스크립트 환경 및 웹 응용 프로그램 프레임 워크입니다." - http://helma.org/

1

Windows 환경에서 서버 측 Javascript를 사용하여 광범위한 경험을했습니다. 모든 Windows 시스템의 Windows Scripting Host는 Javascript를 기본 언어 중 하나로 제공합니다. COM을 지원하는 모든 언어에서 COM 개체와 인터페이스 할 COM 개체를 만들 수 있습니다. 나는이 접근법을 사용하고자한다면 this MSDN page을 시작할 것이라고 생각한다.

내 직감은 COM과 관련이없는 것을 선택하면 더 행복해집니다. 난 네가 너 앞에서 모든 옵션을 갖고 있는지 확인하고 싶었어.

1

당신은 Excel과 같은 당신의 HTML을 축복하기 만하면 모두가 당신이 더 나은 서버에 HTML을 보내는 제공 될 수 있으며이 콘텐츠와 함께 다시 제공 한 경우 -disposition 헤더와 적절한 MIME 유형. 서버 측 JS는 일반적으로 브라우저와 유사한 DOM을 구현하지 않으므로 Ext는 서버 측에서 작동하지 않습니다.

또는 HTML 서버를 생성하고 왕복을 건너 뛸 수 있습니다. 예를 들어 POI Java 라이브러리는 여러 개의 시트와 셀 기능을 가진 실제 바이너리 Excel 파일을 생성 할 수 있습니다.

실제로 응용 프로그램 서버로 서버 측 JS를 사용하려면 Myna을 고려하십시오. 이 글에서이 장점 중 일부는 question에 대해 언급했습니다.