>  기사  >  Java  >  Struts 사용자 및 개발 가이드(1부)

Struts 사용자 및 개발 가이드(1부)

黄舟
黄舟원래의
2016-12-17 10:54:001096검색


0.1 개요
이 사용자 가이드는 웹 개발에 관심이 있는 사람들과 Java를 사용하여 웹 애플리케이션을 개발하려는 사람들을 위해 작성되었습니다. 읽기를 시작하기 전에 다음 핵심 기술에 대한 기본 지식이 있어야 합니다.
HTTP 요청 응답 주기
.JavaBeans;
.JSP 및 JSP 태그 라이브러리
. 귀하의 편의를 위해 이에 대해 자세히 알아볼 수 있는 몇 가지 유용한 링크를 제공합니다.
이미 Java 언어 자체에 익숙하지만 이러한 기술을 모르는 경우 이 가이드인 Java Web Services Tutorial을 잘 살펴보시기 바랍니다. PDF 버전은 여기에서 다운로드할 수 있습니다.
이미 다른 플랫폼용 웹 애플리케이션 개발 경험이 있다면 여기에서 필요한 정보를 찾을 수도 있습니다. Struts에서 사용되는 기술은 다른 Java 웹 제품에서도 사용될 수 있으므로 이러한 배경 지식은 모든 Java 프로젝트에 유용합니다.
아직 Java 언어에 대해 잘 모른다면 다른 가이드인 The Java Tutorial을 살펴보는 것이 좋습니다. Java Tutorial과 Java Web Services Tutarial의 내용이 겹칠 수 있으므로 함께 읽는 것이 가장 좋습니다.
일반적인 Java 애플리케이션 개발 방법을 알고 싶다면 여기로 가서 http://developer.java.sun.com/developer/onlineTraining/new2java/divelog/part1/toc.jsp를 살펴보세요.' TARGET= _blank>Java를 처음 접하시는 분에게 큰 도움이 될 수 있습니다.
 
 0.2 HTTP, HTML 및 사용자 에이전트
  우리 모두 알고 있듯이 인터넷은 HTTP 프로토콜과 HTML 언어를 기반으로 구축되었습니다. 사용자 에이전트는 HTTP 프로토콜을 사용하여 웹 브라우저처럼 HTML 문서를 요청하며, 브라우저는 HTML 문서를 형식화하고 사용자에게 표시하는 역할을 합니다. HTTP 프로토콜은 전송에 사용되는 반면 HTML은 웹 및 웹 응용 프로그램에서 사용되는 범용 언어입니다.
웹 애플리케이션을 개발할 때 일부 Java 프로그래머는 HTML 언어를 직접 작성하는 반면 다른 프로그래머는 이를 전문 페이지 디자이너에게 작성하도록 맡깁니다.
HTTP, HTML 및 사용자 에이전트에 대한 자세한 내용은
, Dave Raggett의 HTML 시작하기
HTTP 개요를 참조하세요. /1.1 사양;
.HTTP 기본 및 다이제스트 인증 사양;
.상태 관리 메커니즘 사양(쿠키)
0.3 HTTP 요청 응답 주기
웹 개발자에게 가장 중요한 것은 HTTP입니다. 요청 응답 주기, HTTP를 사용하여 요청을 제출한 다음 HTTP 서버(예: 웹 서버)가 응답을 반환합니다. 웹 개발 및 디자인을 할 때 HTTP 응답을 반환하도록 HTTP 요청을 디자인합니다. Struts 프레임워크는 이 주기를 추상화하며, 우리에게 더 중요한 것은 뒤에서 무슨 일이 일어나고 있는지 알아야 한다는 것입니다.
HTTP 요청 응답 주기에 익숙하지 않은 경우 Java 웹 서비스 튜토리얼(http://java.sun.com/webservices/docs/1.0/tutorial/doc)에서 HTTP 개요를 읽어 보시기 바랍니다. / HTTP.html#63796
 
 0.4 자바 언어 및 애플리케이션 프레임워크
Struts 프레임워크는 요즘 가장 널리 사용되는 다목적 프로그래밍 언어입니다. (역자 주: Java를 설명하는 것은 적절하지 않다고 생각합니다. 이런 언어는 전혀
(이상) Java로 작성되었습니다. Java는 객체 지향 프로그래밍 언어이며 Struts는 객체 지향 기술을 활용합니다. 또한 Java 자체는 스레드를 잘 지원하며 동시에 여러 작업을 수행할 수 있습니다. Java 언어, 객체 지향 프로그래밍 및 스레드에 대한 좋은 이해는 Struts를 마스터하고 이 사용자 가이드를 사용하는 데 큰 도움이 될 것입니다.
Java 언어 및 스레드를 배우려면 다음 자료를 참조할 수 있습니다.
. Java 언어 자습서의 Java 언어 학습
.
이미 Java 및 객체 지향 프로그래밍을 사용해 본 적이 있더라도 애플리케이션 프레임워크를 만들고 사용하는 것은 프로그래밍에 큰 도움이 될 것입니다. 애플리케이션 프레임워크에 대한 자세한 내용은 Ralph E. Johnson 및 Brian Foote의 재사용 가능한 클래스 설계, Mohamed Fayad 및 Douglas C. Schmidt의 객체 지향 애플리케이션 프레임워크 두 가지 백서를 참조하세요. -side 프레임워크라면 다음 두 페이지가 도움이 될 수 있습니다: 1과 2
 
 0.5 JavaBeans
많은 Java 애플리케이션과 마찬가지로 대부분의 Struts 객체는 JavaBeans로 설계되었습니다. JavaBean 디자인 패턴을 사용하면 Java 개발자 및 Java 배포 도구가 Struts 클래스에 더 쉽게 액세스할 수 있습니다.
JavaBan은 원래 시각적 요소 프로그래밍만을 위해 만들어졌습니다. 이제 이 객체 디자인 패턴은 Struts 프레임워크와 같이 재사용 가능한 구성 요소의 기본 디자인에 널리 사용되었습니다.
JavaBeans에 대한 자세한 내용은 다음을 참조하세요.
.java.sun.com의 JavaBeans 구성 요소 아키텍처 문서. tion 및 JavaBeans 1.01 사양
 .Java Tutorial의 JavaBean Trail
Java 웹 서비스 자습서의 JSP 페이지에 있는 JavaBeans 구성 요소
0.5.1 반사 및 자체 검사 메커니즘

반사는 개체의 어떤 멤버 변수나 메서드를 사용할 수 있는지 결정하는 처리 메커니즘입니다. 자체 검사는 JavaBean API에서 사용되는 특수한 형태의 반사입니다. 자체 검사를 사용하면 다른 객체가 액세스할 수 있는 JavaBean의 메소드를 알 수 있습니다.
Struts 프레임워크는 자체 검사 메커니즘을 사용하여 HTTP 매개변수를 JavaBean 속성으로 변환하고 JavaBean 속성을 사용하여 HTML 양식 필드를 조합합니다. 이 기술을 사용하면 JavaBeans와 HTML 양식 필드 간의 속성에 "양방향으로 액세스"하는 것이 더 쉬워집니다.
반영 및 내부 검사에 대한 자세한 내용은
을 참조하세요. JavaBeans API 사양의 8장
0.5.2 맵
JavaBeans는 데이터를 저장하기 위해 속성을 사용합니다. 그리고 다른 방법으로 이 데이터를 조작합니다. JavaBean은 편리하고 강력한 개체이지만 프로그래머가 데이터를 저장하는 데 사용할 수 있는 유일한 선택은 아닙니다. 또 다른 인기 있는 객체는 Map [java.util.map]입니다. 맵은 이름-값 쌍의 간단한 모음입니다. 매핑은 동적 데이터를 저장하는 편리한 방법으로 "백그라운드에서" 작동하는 경우가 많습니다.
 
 0.5.3 Dynamic Beans(DynaBeans)
 
  Dynamic Beans는 JavaBeans의 확장성과 Maps의 유연성을 결합합니다. 간단한 JavaBean을 정의하려는 경우에도 새 클래스를 생성하고, 속성 변수를 정의하고, 각 속성에 해당하는 두 개의 액세스 메소드(setXXX 및 getXXX)를 작성해야 한다는 것을 알고 있습니다. 동적 Bean은 XML 구성 파일을 통해 속성을 정의할 수 있습니다. 동적 Bean의 가상 속성은 일반 Java 메서드처럼 호출할 수 없으며 대신 리플렉션 및 자체 검사 메커니즘을 사용하여 구성 요소에 액세스해야 합니다.
Struts 프레임워크에서는 동적 Bean을 사용하여 HTML 양식을 설명할 수 있습니다. 이 전략을 사용하면 간단한 양식 필드에 대해 공식적인 JavaBean 하위 클래스를 생성할 필요가 없습니다.

위 내용은 Struts User and Development Guide(Part 1)의 내용입니다. 더 많은 관련 글은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.