스프링 또는 최대 절전 모드 또는 기타 Java 웹 프레임 워크를 배우려면 서블릿과 JSP를 알아야합니까? [닫은]


17

나는 자바 웹 개발을 배우기 시작하는 곳을 많은 사람들에게 물었다. 나는 이미 핵심 자바 (Threading, Generics, Collections, (JDBC)에 대한 약간의 경험)를 알고 있지만 JSP와 서블릿을 모른다. 서버쪽에는 PHP를 사용하고 클라이언트쪽에는 HTML, CSS, Javascript, HTML5를 사용하는 여러 웹 기반 응용 프로그램으로 개발에 대한 공정한 공유를했습니다.

필자가 요청한 대부분의 사람들은 Hibernate로 바로 뛰어 들라 고 말했지만 일부는 서블릿과 jsp를 배울 필요가 없으며 Spring 프레임 워크를 즉시 연구해야한다고 말했습니다. 이것이 사실입니까? 최대 절전 모드 또는 Spring을 배우기 위해 서블릿 및 JSP를 배울 필요가 없습니까?

그들의 대답은 모두 혼란 스러웠으며 이제는 배우거나 공부할 내용이 완전히 없어졌습니다. JSP와 서블릿 학습을 건너 뛰면 앞으로 나에게 꼭 도움이 될 중요한 개념을 많이 놓칠 것이라고 생각합니다.

질문은 스프링 또는 최대 절전 모드 또는 다른 Java 웹 프레임 워크를 배우기 위해 Foundation / know 서블릿과 JSP가 필요합니까?


3
최대 절전 모드는 데이터베이스 추상화 계층 일 뿐이며, 웹 응용 프로그램이 아닌 모든 종류의 Java 응용 프로그램에 데이터 소스를 연결하는 데 사용할 수 있습니다.
Ed Griebel

1
서블릿과 JSP에 대해 아는 것은 "헤드 우선-서블릿과 JSP"를 살펴보십시오. 이해하기 쉽지만 많은 내용을 다루고 있습니다.
Jaydee

@Jaydee 저는 현재 Marty Hall + Murach의 서블릿과 JSP가 코어 서블릿과 JSP를 이끌고 있습니다.
KyelJmD

이 질문에 대한 답변이 적절하지 않다고 생각합니다. Bear Bibeault잘 알려진 개발자와 저자는 모든 프레임 워크를 배우기 전에 JSP와 서블릿을 배우라고 주장합니다. 오늘 왜 그것이 적용 가능하거나 적용되지 않는지 보여줄 사람이 있습니까? 여기에 자신의 게시물입니다 - coderanch.com/t/521300/JSP/java/JSP-servlets-struts
보랏 Sagdiyev

좋아요,에서 답변을 받았습니다 Bear Bibeault. -이 두 링크를 참조하십시오 coderanch.com/t/633527/Spring/...coderanch.com/t/633526/JSP/java/...
보랏 Sagdiyev

답변:


17

HTML, CSS 및 JavaScript에 대해 잘 알고 있다면 웹 개발을하는 많은 사람들에게 도움이 될 것입니다. JSP의 개념은 PHP와 매우 유사합니다. 기발한 차이가 있습니다. 서블릿은 요청을 처리하는 Java 코드 청크의 이름입니다. 그게 다야. 전체 원본 Struts 프레임 워크는 단일 서블릿이었습니다.

배운 기술 목록에 Tomcat 또는 Jetty 를 추가하겠습니다 . Tomcat은 원래 Java Servlet Container 구현이며 완전한 기능을 갖춘 다소 인기있는 웹 서버이기도합니다. GlassFish는 그 위에 구축됩니다. 새 프로젝트에서 Tomcat 대신 Jetty를 사용하고 있습니다. 더 단순하고 유연하며 빠르기 때문입니다. Jetty는 웹 앱과 달리 웹 서비스를 만들도록 설계되었습니다. 그러나 웹 응용 프로그램은 원시 HTTP 요청에 대한 응답으로 HTML을 제공하는 웹 서비스이므로 HTTP (몇 시간에서 하루에 중요한 부분을 배울 수 있음)를 이해하면 작업하기가 매우 쉽습니다.

Tomcat 및 JSP ( 자습서 또는 JSF)를 사용하여 알고있는 내용 만 알고 자습서를 진행하는 데 몇 시간을 소비 하는 작은 웹 사이트를 만들 수 있습니다 . 그렇게하면 스트레칭을하기 전에 편안한 곳에서 시작할 수 있습니다. 그런 다음 "<html> <head> <title> Hi </ title> </ head> <body> <h1> Hello World </ h1> </ body> </ html을 작성 하는 javax.servlet.http.HttpServlet 을 작성하십시오. > "을 응답 객체에 추가하고 Tomcat web.xml에 나열한 다음 웹 브라우저에서 HTTP 요청을 보냅니다. 로켓 과학이 아닙니다. 모든 Java 웹 프레임 워크는이 두 가지 기본 활동에 대한 변형입니다.

제티 루트로 가면 구조가 훨씬 줄어 듭니다. 이 Hello Jetty 예제를 확인하십시오 .

블로그 나 표준 전자 상거래 사이트를 만들려면 SquareSpaceWordpress 등으로 시작 합니다. 당신은 선반에서 많은 것을 얻습니다. 더 이상 사용자 지정 코딩을 정당화 할 수있는 방법이 없습니다.

웹 애플리케이션을위한 Java의 강점은 안정성, 유지 보수성 및 성능입니다. PHP 또는 Ruby / Rails는 더 간단하지만 Java는 원하는만큼 확장 할 수 있습니다. Java 웹 프레임 워크에 얽매이지 않습니다. 대규모 웹 애플리케이션을 작업하는 사람들이 있거나 최대 절전 모드를 사용해야하는 경우 Spring과 같은 프레임 워크가 실제로 빛납니다. 봄이 가장 인기가 있습니다. 서블릿 및 JSP / JSF에 대해 잘 알고 있다면 Spring이 데이터 모델과 이들을 어떻게 연결하는지 학습하십시오.

블로그 나 컨텐츠 관리 시스템을 만드는 경우 NoSQL 데이터베이스를 사용하여 벗어날 수 있습니다. 그러나 NoSQL 데이터베이스는 기본적으로 관계형 데이터베이스를 대체하는 것이 아니라 파일 시스템의 캐싱 계층 일 뿐이라고 주장합니다. NoSQL 데이터베이스에 적합한 프로젝트가 Java로 개발하기에 적합한 경우는 드 rare니다.

여전히 커스텀 고성능 코드 (Java, PHP 등)가 필요한 것은 아마도 관계형 / SQL 데이터베이스를 제공 할 것입니다. 먼저 SQL 및 JDBC (Java Database Connectivity)에 대한 기본 지식을 얻는 것이 좋습니다. Java 객체의 세계, 관계형 데이터베이스 및 SQL의 세계에 익숙해 지면 객체 세계를 관계형 세계에 연결하는 Ebean / JPA (Java Persistence API) / ORM (Object to Relational Mapping)을 배울 수 있습니다.

ORM은 까다 롭고 이상합니다. 대부분은 결국 투쟁 할 가치가 있습니다. 에빈은 내가 아는 가장 간단한 것입니다. 나는 12 년 후 최대 절전 모드보다 8 개월 후에 더 편안합니다. 나는 Hibernate와 함께 Spring을 사용하는 많은 사람들을 알고 있으며 아무런 문제가없는 것 같고 심지어 Hibernate가 무엇인지 또는 무엇인지 특히 알고있는 것 같습니다. 봄을 통해. 어쩌면 내가 더 오래 일했기 때문에 테스트를 위해 두 개의 해시 맵으로 Hibernate를 완전히 스터브 아웃했습니다.

가장 중요한 기술이 이미 있습니다. 한 번에 하나씩 다른 사람들을 데려 가서 압도하지 마십시오.


상기 기술을 배우기 시작할 수있는 링크 나 튜토리얼이 있습니까? 또는 책에 대한 좋은 제안입니다. 내가 만든 대부분의 응용 프로그램은 SQL Server에서 간단한 MySQl에 이르기까지 RDBMS를 사용합니다.
KyelJmD

답변을 정리하고 요청에 따라 링크를 추가했습니다. Hibernate / JPA 및 다양한 웹 프레임 워크는 배우고 마스터하는 데 시간이 걸립니다. 다른 기술의 대부분은 이미 몇 시간 또는 하루 안에 일할 수 있어야한다는 사실을 충분히 알고 있습니다. Spring을 모르지만 웹 사이트에서 설명서를 확인하거나 Amazon에서 높은 등급의 책을 얻으십시오.
GlenPeterson

이것이 어떻게 질문에 대답하는지 모르겠습니다. Bear Bibeault잘 알려진 개발자와 저자는 모든 프레임 워크를 배우기 전에 JSP와 서블릿을 배우라고 주장합니다. 이것이 오늘날 적용 가능하거나 그렇지 않은 이유를 보여줄 수 있습니까? 여기에 자신의 게시물입니다 - coderanch.com/t/521300/JSP/java/JSP-servlets-struts
보랏 Sagdiyev

@GlenPeterson, "전체 Struts 프레임 워크는 단일 서블릿이었습니다." 의미? 모든 http 호출이 느리지 않습니까?
Pacerier

@Pacerier 우리는 Tomcat에 Struts 1을 서블릿으로로드하는 데 사용했습니다. Struts Controller 서블릿은 컨테이너 레벨 대신 서블릿 레벨에서 웹 서버와 동일한 방식으로 다른 요청을 다른 스레드에 보냅니다. 오버 헤드가 최소화되었다고 생각합니다. 가장 느린 것은 데이터베이스 호출입니다. 두 번째로 느리게 HTML을 빌드하여 클라이언트에 반환합니다. 당시에는 정적 콘텐츠를 위해 별도의 서버를 사용하여 속도가 빨 랐기 때문에 문제가 해결되었습니다.
GlenPeterson

4

스프링에서 단순화 된 개념을 이해하는 데 도움이되는 기본 JSP 및 서블릿에 대해 배우는 것이 좋습니다. PHP 기반 CGI에 대한 경험이 있기 때문에 대부분의 JSP / 서블릿은 익숙한 작업을 수행하는 방식이 다르기 때문에 상당히 빠르게 진행됩니다. 가장 어려운 것은 자바 세계에서 독특한 관용구를 집어 올리는 것입니다.

최대 절전 모드가 진행되는 한 MebAlone에 동의하고 필요한 경우 학습한다고 말하지만 이미 설정되어 있으면 다른 사람이 수행 한 작업을 수행하여 필요한 것의 90 %를 수행 할 수 있습니다.


2

Java로 서버 측 웹 개발을 배우려는 것처럼 들립니다. 많은 프레임 워크가 있습니다. Spring MVC는 실제로 가장 인기가 많으며 성숙하고 기능이 풍부하며 알기 좋은 프레임 워크입니다. Spring MVC 및 기타 Java 웹 프레임 워크는 프로그래머로부터 Java 서블릿 API를 추상화하므로 기술적으로 알 필요가 없습니다. 그러나 기초, 특히 핵심 수업을 배우는 것이 좋습니다. 공부의 하루가 거기에 도착해야합니다.

JSP의 경우, PHP를 알고 있다면 이미 필수 사항을 이해하고 있습니다. JSP는 Java 버전의 서버 측 스크립팅입니다.

최대 절전 모드는 JPA의 구현 (가장 인기있는)으로 RDBMS에 객체를 유지하기위한 Java 사양입니다. NOSQL db (Hadoop, Mongo 등)의 인기가 폭발적으로 증가함에 따라 Hibernate는 18 개월 전보다 '알아야 할 사항'이 훨씬 적습니다. 개인적으로 스토리지 기술은 알고 있기 때문에 알아야 할 필요가 있습니다. 사용하지 않는 것을 잃어 버리기 때문입니다.


Spring MVC에 대해 어떤 책을 제안 할 수 있습니까? Spring과 Spring MVC의 차이점은 무엇입니까?
KyelJmD

Spring은 다양한 프로젝트를 포함하는 Java 기술 스택입니다. Spring MVC는 서버 측 웹 프레임 워크입니다. Spring의 온라인 문서 및 샘플 애플리케이션은 Spring MVC를 배우는 가장 좋은 방법입니다.
MebAlone

2

짧은 대답 : 아니요, 필요 하지 않습니다 Spring MVC 및 기타 많은 Java 웹 프레임 워크의 전제 조건으로 서블릿과 JSP 배울 .

먼저 그림에서 최대 절전 모드를 해제합시다. 지속성 계층 프레임 워크이며 서블릿 및 JSP와 관련이 없습니다.

서블릿 API는 거의 모든 Java 웹 프레임 워크에서 가장 낮은 레벨입니다. JSP조차 서블릿으로 컴파일됩니다.

Spring MVC는 많은 유용한 확장 기능과 Spring Core와의 통합 기능을 갖춘 Servlet API 위에있는 계층입니다. JSP를 Spring MVC의 렌더링 메커니즘으로 사용할 수 있습니다. Spring MVC 튜토리얼은 웹 앱을 만들기 위해 처음부터 끝까지 안내합니다. 계속 진행하면서 JSP에 대해 배우고 서블릿 API도 이해할 수 있습니다.


Spring MVC를 배우기 위해 어떤 책이나 비디오 튜토리얼을 제안 하시겠습니까?
KyelJmD


1
@YuriyZubarev-이것이 어떻게 질문에 대답하는지 모르겠습니다. Bear Bibeault잘 알려진 개발자와 저자는 모든 프레임 워크를 배우기 전에 JSP와 서블릿을 배우라고 주장합니다. 이것이 오늘날 적용 가능하거나 그렇지 않은 이유를 보여줄 수 있습니까? 여기에 자신의 게시물입니다 - coderanch.com/t/521300/JSP/java/JSP-servlets-struts
보랏 Sagdiyev

-1

내가 최근에 직면 한 문제에 갇힌 것 같습니다. 저의 목표는 Java로 서버 측 개발을 배우는 것이 었습니다. 그래서 서블릿으로 시작해서 그들의 작업을 이해하고 TomCat 서버에서 실행할 간단한 프로그램을 작성했습니다. TomCat은 필수 구성 요소입니다. 더 진행하려면 TomCat에 대해 잘 알고 있어야합니다. struts2 또는 Spring에 관한 한, struts2 및 spring은 서블릿에 빌드 된 프레임 워크이므로 기본 사항을 강하게하려면 서블릿에 대한 깊은 이해가 필수적입니다. Java Brains 튜토리얼부터 시작했습니다. 초보자에게는이 자습서가 훌륭합니다. 그의 블로그에서 Jakob Jenkov의 일부 작품은 정말 놀랍습니다. 서블릿을 알면 Struts2와 Spring이 더 단순 해집니다. 최대 절전 모드에 관한 한, JDBC에 대해 잘 알고있는 것으로 시작하는 것이 좋습니다. 단계적으로 서블릿, struts, JDBC, Spring, Hibernate로 이동하십시오. 내 대답이 도움이되기를 바랍니다 :).


이 게시물은 읽기 어렵습니다 (텍스트의 벽). 더 나은 형태로 편집 하시겠습니까 ?
gnat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.