상위 50개 Struts 인터뷰 질문 및 답변(2024)

꿈의 직업을 갖기 위한 신입 지원자와 경력 지원자를 위한 Struts 인터뷰 질문과 답변은 다음과 같습니다.


1. Struts Framework의 구성요소는 무엇입니까?

Struts 프레임워크는 다음 구성 요소로 구성됩니다.

  1. 자바 서블릿
  2. JSP(자바 서버 페이지)
  3. 맞춤 태그
  4. 메시지 리소스

무료 PDF 다운로드: Struts 인터뷰 질문 및 답변


2. MVC 기반 애플리케이션에서 핸들러의 역할은 무엇입니까?

요청이 MVC 아키텍처의 모델 계층에 바인딩되어 있으므로 적절한 모델로 요청을 전송하는 것이 핸들러의 임무입니다. 핸들러는 요청 전송을 위해 구성 파일의 매핑 정보를 사용합니다.


3. Struts 기반 애플리케이션의 요청 흐름은 무엇입니까?

Struts 기반 애플리케이션은 MVC 디자인 패턴을 사용합니다. 요청 흐름은 다음과 같습니다.

  • 사용자는 링크를 클릭하거나 양식을 제출하여 View와 상호 작용합니다.
  • 사용자의 상호 작용 시 요청이 컨트롤러로 전달됩니다.
  • 컨트롤러는 요청을 적절한 조치로 전달할 책임이 있습니다.
  • Action은 모든 비즈니스 로직이 구현된 Model의 함수를 호출하는 역할을 담당합니다.
  • 모델 계층의 응답은 작업에 의해 다시 수신된 다음 사용자가 응답을 볼 수 있는 뷰로 전달됩니다.

4. 컨트롤러가 요청 라우팅에 대한 매핑 정보를 얻기 위해 사용하는 파일은 무엇입니까?

컨트롤러는 “struts-config.conf” 구성 파일을 사용합니다.XML 사용자 요청 라우팅에 사용할 작업을 결정하기 위해 모든 매핑 정보를 가져오는 파일입니다.


5. Struts에서 Action Class의 역할은 무엇입니까?

Struts에서 Action Class는 컨트롤러 역할을 하며 다음과 같은 주요 작업을 수행합니다.

  • 사용자의 요청을 받은 후 사용자의 요청을 처리합니다.
  • 적절한 모델을 사용하고 모델에서 데이터를 가져옵니다(필요한 경우).
  • 사용자에게 응답을 보여주기 위해 적절한 보기를 선택합니다.
스트럿츠 인터뷰 질문
스트럿츠 인터뷰 질문

6. actionForm 빈은 어떻게 생성됩니까?

대리

actionForm 빈은 클래스를 확장하여 생성됩니다. org.apache.struts.action.ActionForm

In the following example we have created an actionForm bean with the name 'testForm':

import javax.servlet.http.HttpServletRequest; 
import org.apache.struts.action.*; 
public class testForm extends ActionForm { 
private String Id=null; 
private String State=null; 
public void setId(String id){
this.Id=id; 
} 
public String getId(){
return this.Id;
}
public void setState(String state){ 
this.State=state; 
} 
public String getState(){ 
return this.State; 
}

7. Validator FrameWork가 지원하는 두 가지 유형의 검증은 무엇입니까?

Validator Framework는 양식 데이터 유효성 검사에 사용됩니다. 이 프레임워크는 두 가지 유형의 검증을 제공합니다.

  1. 사용자 브라우저의 클라이언트 측 유효성 검사
  2. 서버측 검증

8. Struts 설치 단계는 무엇입니까?

Struts 프레임워크를 사용하려면 개발 환경에 Struts.Jar 파일만 추가하면 됩니다. CLASSPATH에서 jar 파일을 사용할 수 있게 되면 프레임워크를 사용하고 Strut 기반 애플리케이션을 개발할 수 있습니다.

스트럿츠 인터뷰 질문
스트럿츠 인터뷰 질문

9. JSP 양식에서 클라이언트 측 유효성 검사가 어떻게 활성화됩니까?

Struts에서 클라이언트 측 유효성 검사를 활성화하려면 먼저 struts-config.xml 파일에서 유효성 검사기 플러그인을 활성화해야 합니다. 이 파일에 다음 구성 항목을 추가하면 됩니다.

<!--  Validator plugin -->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
</plug-in>

그런 다음 유효성 검사 규칙은 유효성 검사.xml 파일에 정의됩니다. 양식에 이메일 필드가 포함되어 있고 이 필드에 대해 클라이언트측 유효성 검사를 활성화하려는 경우 다음 코드가 유효성 검사.xml 파일에 추가됩니다.

<form name="testForm">
<field  property="email"
depends="required">
<arg key="testForm.email"/>
</field>
</form>

10. Struts 구성 파일에서 요청 전달에 작업 매핑 태그가 어떻게 사용됩니까?

Struts 구성 파일(struts-config.xml)에서 전달 옵션은 action-mapping 태그 아래에 정의됩니다.

다음 예에서는 사용자가 하이퍼링크를 클릭할 때 test.do, 요청이 다음으로 전달됩니다. /페이지/testing.jsp struts-config.xml 파일에서 다음 구성을 사용합니다.

<action  path="/test" forward="/pages/testing.jsp">

이 전달은 사용자가 jsp 페이지에서 다음 하이퍼링크를 클릭할 때 발생합니다.

<html:link</strong> page="/test.do</strong>">Controller Example</html:link>

11. Struts에서 중복 양식 제출을 어떻게 제어할 수 있습니까?

Struts에서 액션 클래스는 중복된 양식 제출을 방지하는 데 사용할 수 있는 두 가지 중요한 방법을 제공합니다.

액션 클래스의 saveToken() 메소드는 고유한 토큰을 생성하여 사용자 세션에 저장합니다. isTokenValid() 메소드를 사용하여 토큰의 고유성을 확인합니다.


12. Struts에서 Java Bean과 해당 속성에 어떻게 액세스할 수 있습니까?

Bean 태그 라이브러리는 Java Bean에 액세스하는 데 사용할 수 있는 Struts 라이브러리입니다.


13. Struts에서 JSP 구성 정보를 저장하는 데 사용되는 구성 파일은 무엇입니까?

JSP 구성 세부사항에는 Web.xml 파일이 사용됩니다.


14. 액션 클래스의 Execute 메소드의 목적은 무엇입니까?

액션 클래스의 Execute 메소드는 비즈니스 로직의 실행을 담당합니다. 사용자의 요청에 대한 처리가 필요한 경우 이 방법으로 수행됩니다. 이 메소드는 애플리케이션을 적절한 페이지로 라우팅하는 actionForward 객체를 반환합니다.

다음 예제에서 실행 메소드는 "exampleAction"이라는 이름으로 struts-config.xml에 정의된 actionForward 객체를 반환합니다.

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class actionExample extends Action
{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception{
return mapping.findForward("exampleAction");
}
}

15. Struts 유효성 검사 프레임워크에서 유효성 검사.xml과 validator-rules.xml 파일의 차이점은 무엇입니까?

Validation.xml에서는 특정 Java Bean에 대한 유효성 검사 규칙을 정의하고, validator-rules.xml 파일에서는 표준 및 일반 유효성 검사 규칙이 정의됩니다.


16. JSP 페이지에서 사용자에게 모든 유효성 검사 오류를 어떻게 표시할 수 있습니까?

유효성 검사.xml 파일에 정의된 유효성 검사 규칙을 기반으로 모든 유효성 검사 오류를 표시하려면 다음을 사용합니다. JSP 파일에 태그를 추가하세요.


17. Struts의 선언적 예외 처리란 무엇입니까?

예외 처리 논리가 struts-config.xml 또는 작업 태그 내에 정의된 경우 이를 Struts에서는 선언적 예외 처리라고 합니다.

다음 예에서는 NullPointerException에 대한 struts-config.xml 파일에 예외를 정의했습니다.

<global-exceptions>

<exception key="test.key"

Type="java.lang.NullPointerException"

Path="/WEB-INF/errors/error_page.jsp"

</global-exceptions>

18. DynaActionForm이 무엇인가요?

DynaActionForm은 Form Bean을 동적으로 생성하는 데 사용되는 특수 유형의 actionForm 클래스(ActionForm 클래스의 하위 클래스)입니다. 이는 Form Bean 생성을 위해 구성 파일을 사용합니다.


19. Struts에서 Tiles를 사용하려면 어떤 구성 변경이 필요합니까?

Tiles 프레임워크로 재사용 가능한 구성 요소를 만들려면 struts-config.xml 파일에 다음 플러그인 정의 코드를 추가해야 합니다.

<plug-in className="org.apache.struts.tiles.TilesPlugin" >

<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />

<set-property property="moduleAware" value="true" />

</plug-in>

20. Jakarta Struts와 Apache Struts의 차이점은 무엇입니까? 어느 것을 사용하는 것이 더 낫습니까?

둘 다 동일하며 차이점이 없습니다.


21. Struts.xml 구성 파일의 용도는 무엇입니까?

Struts.xml 파일은 URL과 액션 간의 매핑을 정의하는 데 사용되는 Struts 프레임워크의 주요 구성 파일 중 하나입니다. 컨트롤러가 사용자의 요청을 받으면 컨트롤러는 이 파일의 매핑 정보를 사용하여 적절한 작업 클래스를 선택합니다.


22. Struts에서는 태그 라이브러리가 어떻게 정의됩니까?

태그 라이브러리는 내부 구성 파일(web.xml)에 정의되어 있습니다. 다음과 같이 태그를 지정하세요.

<taglib>

<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>

<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>

</taglib>

23. Struts에서 논리 태그의 중요성은 무엇입니까?

Struts에서 로직 태그를 사용하면 스크립틀릿을 사용하지 않고도 프리젠테이션 계층에서 깔끔하고 효율적인 코드를 작성할 수 있습니다.


24. formbeans의 두 가지 범위 유형은 무엇입니까?

  • 요청 범위: Formbean 값은 현재 요청에서만 사용할 수 있습니다.
  • 세션 범위: Formbean 값은 현재 세션의 모든 요청에 ​​사용할 수 있습니다.

25. Struts에서 관련 작업을 하나의 그룹으로 그룹화하려면 어떻게 해야 합니까?

여러 관련 작업을 하나의 그룹으로 그룹화하려면 DispatcherAction 클래스를 사용할 수 있습니다.


26. SwtichAction은 언제 사용해야 합니까?

SwitchAction 클래스를 사용하는 가장 좋은 시나리오는 여러 모듈이 개별적으로 작동하는 모듈식 애플리케이션이 있는 경우입니다. SwitchAction 클래스를 사용하면 한 모듈의 리소스에서 애플리케이션의 다른 모듈에 있는 다른 리소스로 전환할 수 있습니다.


27. Struts 프레임워크의 이점은 무엇입니까?

Struts는 MVC를 기반으로 하므로 Struts 애플리케이션 개발 및 사용자 정의를 쉽게 만드는 Struts의 다양한 계층이 잘 분리되어 있습니다. 다양한 구성 파일을 사용하면 Struts 애플리케이션을 쉽게 구성할 수 있습니다. 또한 Struts는 오픈 소스이므로 비용 효율적입니다.


28. Struts1에서 Struts2로 애플리케이션을 마이그레이션하려면 어떤 단계가 필요합니까?

Struts1에서 Struts2로 마이그레이션하려면 다음 단계가 필요합니다.

  1. Struts1 actionForm을 Struts2 POJO로 이동합니다.
  2. Struts1 구성 파일(struts-config.xml)을 Struts2 구성 파일(struts.xml)로 변환

29. Struts에서는 폼의 속성을 어떻게 검증합니까?

채워진 속성의 유효성을 검사하기 위해 Action 클래스에 대한 formbean 제어를 처리하기 전에 ActionForm 클래스의 verify() 메서드를 사용합니다.


30. ActionForm 클래스의 Reset 메소드는 어떤 용도로 사용되나요?

actionForm 클래스의 재설정 메소드는 새 요청을 시작하기 전에 양식 값을 지우는 데 사용됩니다.


31. Struts의 단점은 무엇입니까?

Struts에는 많은 장점이 있지만 더 큰 학습 곡선이 필요하고 개발 프로세스의 투명성도 감소합니다.

Struts에는 적절한 문서가 부족하며 많은 구성 요소에 대해 사용자는 도움을 받을 수 있는 적절한 온라인 리소스를 얻을 수 없습니다.


32. Struts Validation 프레임워크에서 resourcesbundle.properties 파일의 용도는 무엇입니까?

resourcesbundle.properties 파일은 코드에서 발생할 수 있는 오류에 대한 키 값 쌍의 특정 오류 메시지를 정의하는 데 사용됩니다.

이 접근 방식은 개발자가 코드 내에 모든 오류 메시지를 포함할 필요가 없으므로 코드를 깔끔하게 유지하는 데 도움이 됩니다.


33. 내가 가질 수 있습니까? HTML 연관된 getter 및 setter formbean 메소드가 없는 양식 속성이 있습니까?

각 html 양식 속성에 대해 formbean의 getter 및 setter 메소드를 정의해야 합니다. 그렇지 않으면 애플리케이션에서 오류가 발생합니다.


34. Struts 애플리케이션에는 몇 개의 서블릿 컨트롤러가 사용됩니까?

Struts 프레임워크는 중앙 집중식 제어 접근 방식의 개념으로 작동하며 전체 애플리케이션은 단일 서블릿 컨트롤러에 의해 제어됩니다. 따라서 서블릿 애플리케이션에는 서블릿 컨트롤러가 하나만 필요합니다.


35. 단일 Struts 애플리케이션의 경우 여러 개의 struts-config.xml 파일을 가질 수 있습니까?

단일 애플리케이션에 대해 Struts-config.xml 파일을 원하는 수만큼 가질 수 있습니다.

이를 위해서는 다음 구성이 필요합니다.

<servlet>

<servlet-name>action</servlet-name>

<servlet-class>

org.apache.struts.action.ActionServlet

</servlet-class>

<init-param>

<param-name>config</param-name>

<param-value>

/WEB-INF/struts-config.xml

/WEB-INF/struts-config_user.xml

/WEB-INF/struts-config_admin.xml

</param-value>

</init-param>

.............

.............

</servlet>

36. Struts는 어떤 모델 구성 요소를 지원합니까?

Struts는 Java Bean, EJB, CORBA를 포함한 모든 유형의 모델을 지원합니다. 그러나 Struts에는 특정 모델에 대한 기본 지원이 없으며 모든 모델을 선택하는 것은 개발자의 선택입니다.


37. 언제 includeAction을 사용하는 것이 유용합니까?

includeAction은 Struts와 Servlet 기반 애플리케이션 간의 통합이 필요할 때 유용한 Struts에서 제공하는 액션 클래스입니다.


38. Struts 스레드는 안전한가요?

예, Struts는 스레드로부터 안전합니다. Struts에서는 각 요청을 처리하는 데 새 서블릿 객체가 필요하지 않습니다. 오히려 각 새 요청에 대해 작업 클래스 개체의 새 스레드가 사용됩니다.


39. Struts에서 리소스 파일을 사용하려면 어떤 구성 변경이 필요합니까?

리소스 파일(.properties 파일)은 struts-config.xml 파일에 다음 구성 항목을 추가하여 Struts에서 사용할 수 있습니다.

<message-resources parameter="com.login.struts.ApplicationResources"/>

40. Struts 애플리케이션에서 중첩된 Bean을 어떻게 사용할 수 있습니까?

Struts는 이러한 목적을 위해 별도의 태그 라이브러리(Nested Tag Library)를 제공합니다. 이 라이브러리를 사용하면 Struts 기반 애플리케이션에 빈을 중첩할 수 있습니다.


41. Struts Framework의 핵심 클래스는 무엇입니까?

다음은 Struts Framework에서 제공하는 핵심 클래스입니다.

  • 액션 클래스
  • ActionForm 클래스
  • ActionMapping 클래스
  • ActionForward 클래스
  • ActionServlet 클래스

42. Struts에서 프로그래밍 방식으로 예외를 처리할 수 있습니까?

예, 코드에서 try, catch 블록을 사용하여 Struts에서 프로그래밍 방식으로 예외를 처리할 수 있습니다.

try {

// Struts code

}

Catch (Exception e) {

// exception handling code

}

43. Struts 프레임워크는 다음 중 일부인가요? J2EE?

Struts 프레임워크는 JSP, Java Beans, Servlet 등과 같은 J2EE 기술을 기반으로 하지만 J2EE 표준의 일부는 아닙니다.


44. Struts에서는 액션 매핑이 어떻게 구성됩니까?

작업 매핑은 태그 아래의 구성 파일 struts-config.xml에서 구성됩니다. 다음과 같이:

<pre><action-mappings>
<action path="/login"
type="login.loginAction"
name="loginForm"
input="/login.jsp"
scope="request"
validate="true">
<forward name="success" path="/index.jsp"/>
<forward name="failure" path="/login_error.jsp"/>
</action>
</action-mappings>

45. 언제 Struts Framework를 선택해야 합니까?

다음 조건 중 하나 또는 일부가 참일 때 Struts를 사용해야 합니다.

  • 매우 강력한 엔터프라이즈 수준의 애플리케이션 개발이 필요합니다.
  • 재사용 가능하고 구성 가능성이 높은 애플리케이션이 필요합니다.
  • 느슨하게 결합된 MVC 기반 애플리케이션에는 서로 다른 계층이 명확하게 분리되어 있어야 합니다.

46. ​​ActionServlet이 Struts에서 싱글톤인 이유는 무엇입니까?

Struts 프레임워크에서 actionServlet은 컨트롤러 역할을 하며 사용자의 모든 요청은 이 컨트롤러에 의해 제어됩니다. ActionServlet은 이 컨트롤러 클래스에 대해 하나의 객체만 생성하면 되므로 싱글톤 디자인 패턴을 기반으로 합니다. 나중에 각 사용자 요청에 대해 여러 스레드가 생성됩니다.


47. Struts에서 유효성 검사기 프레임워크를 설정하는 데 필요한 단계는 무엇입니까?

Struts에서 유효성 검사기 프레임워크를 설정하려면 다음 단계가 필요합니다. – 잘못된 철자법

  1. WEB-INF 디렉토리에 valdator-rules.xml 및 유효성 검사.xml 파일을 배치합니다.
  2. 다음을 추가하여 struts-config.xml 파일에서 유효성 검사 플러그인을 활성화합니다.
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml"/>
</plug-in>

48. Struts의 View Layer에서는 어떤 기술을 사용할 수 있나요?

Struts에서는 뷰 계층에서 다음 기술 중 하나를 사용할 수 있습니다.

  • JSP
  • HTML
  • XML/XSLT
  • WML 파일
  • 속도 템플릿
  • 서블릿

49. actionForm이 올바르게 작동하기 위한 조건은 무엇입니까?

ActionForm이 올바르게 작동하려면 다음 조건을 충족해야 합니다.

  • 인수가 없는 생성자가 있어야 합니다.
  • 모든 속성에 대해 공용 getter 및 setter 메서드가 있어야 합니다.

50. 확인란, 텍스트 상자 등과 같은 양식 요소에 대해 Struts에서 제공하는 라이브러리는 무엇입니까?

Struts는 텍스트 필드, 텍스트 상자, 라디오 버튼 등과 같은 양식 요소를 추가하는 데 사용할 수 있는 HTML 태그 라이브러리를 제공합니다.


이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.

공유

댓글 3

  1. 화신 스미스타 말한다 :

    정말 감사합니다 선생님, 대단해요 ;):)PDF 다운로드 링크가 작동하지 않습니다. 감사합니다

    1. 화신 Guru99 말한다 :

      오류가 수정되었습니다! 신고해 주셔서 감사합니다.

      1. 화신 스미스타 말한다 :

        감사합니다 선생님 :) :)

댓글을 남겨주세요.

귀하의 이메일 주소는 공개되지 않습니다. *표시항목은 꼭 기재해 주세요. *