Apache Tapestry Interview Questions And Answers

Apache Tapestry introduction

Apache Tapestry is a component-oriented framework for creating highly scalable web applications in Java.

Features of Apache Tapestry

Java Power

Tapestry pages and components are simple Java POJOs, with easy access to all Java language features and the vast Java ecosystem. Thanks to Java’s advanced concurrency API, Tapestry handles requests fast without sacrificing security or stability.

Scripting Ease

Tapestry features live class reloading: change your Java code, refresh the browser and see the changes… instantly! Have your cake and eat it too: the speed and depth of Java, the agile development style of Ruby or Python.

Super Productivity

 Simple POJO classes, streamlined templates, live class reloading, state-of-the-art exception reporting, first-class Ajax support, and a big library of built-in components: Tapestry is designed from the ground up to give you great productivity.

1) What is Apache Tapestry?

It is an open source web framework written in Java and can work under any application server. It is easily integrate with back ends like Hibernate and Spring etc. It is a component based web framework.

2) What are the benefits of Apache Tapestry?

Benefits of Apache Tapestry are:

  • Adaptive API
  • Fast framework
  • Build-in Inversion Control
  • Highly scalable web applications
  • Storage management of Persistent state

3) What are the features of Apache Tapestry?

Features of Apache Tapestry are:

  • Live class reloading
  • Code less, deliver more
  • Static structure and dynamic behavior
  • Detailed and clear exception reporting
  • Extensive use of POJOs (Plain Old Java Objects)

4) Who is the developer of Apache tapestry?

Apache Tapestry is developed by “Howard Lewis Ship”.

5) What is the component annotations used in Apache Tapestry?

Component annotations used in Apache Tapestry are:

  • @Log
  • @Path
  • @import
  • @Property
  • @Parameter
  • @Environmental

6) What is IoC annotation?

IoC annotation: It is used to inject objects into IoC Container. Type of IoC annotation are:

  • @Value
  • @Inject

7) What is CleanupRender?

CleanupRender: It is used to release the objects created during rendering process. It is the counterpart of the SetupRender.

8) What is Two-way Data Binding?

In Two-way data binding, we can communicate and transfer data with the use of parameters, components and its corresponding page.

9) What is Validate expansion?

Validate expansion: It is a specialized string that is used to specify the validation rule of an object.

10) What is Form Component?

It is used to create a form in the tapestry page for user input. A form can contain text fields, checkbox fields, date fields, submit button, select options and more.

11) Does Apache Tapestry use JSP Tag libraries?

No, It does not use JSP Tag library.

12) What is TextField Component?

TextField Component: It is used to edit a single line of text.

13) What are the significant parameters used in Form Validation?

Significant parameters used in Form Validation are:

  • Min
  • Max
  • Email
  • MaxDate
  • MaxLength
  • MinLength

14) What are the ways provided by Apache Tapestry to persist the data?

There are two ways provided by Apache Tapestry to persist the data are:

  • Session Storage
  • Persistence page data

15) What is SSO?

SSO stands for Session Store Object. It is a specialized store that is used to store complex / special object. Data types can also be stored using SSO.

16) I Have To Restart My Application To Pick Up Changes To Specifications And Templates, How Can I Avoid This?

Start your servlet container with the JVM system parameter org.apache.tapestry.disable-caching set to true, i.e., -Dorg.apache.tapestry.disable-caching=true. 

Tapestry will discard cached specifications and templates after each request. You application will run a bit slower, but changes to templates and specifications will show up immediately. This also tests that you are persistent server-side state correctly. 

17) I Have A Form With A Submit Button. On The Form And The Submit Button Are Two Separate Listeners. Which Is Invoked First?

The button’s listener should get invoked when the form encounters your button during the rewind. the form’s submitListener should get invoked after the form has completed its rewind, and thus after all other listeners have been invoked. note – this can mean that the listener for a button can be invoked BEFORE the form has ’submitted’ all its values – it depends where your input fields are relative to your button.

18)  Is Tapestry A Jsp Tag Library?

Tapestry is not a JSP tag library; Tapestry builds on the servlet API, but doesn’t use JSPs in any way. It uses it own HTML template format and its own rendering engine. Starting with release 3.0, Tapestry includes a simple JSP tag library to allow JSP pages to create links to Tapestry pages.

19) Is There A Wysiwyg Editor For Tapestry, Or An Ide Plugin?

Currently, no WYSIWYG editor is available for Tapestry; however, the design of Tapestry allows existing editors to work reasonably well (Tapestry additions to the HTML markup are virtually invisible to a WYSIWYG editor).Spindle is a Tapestry plugin for the excellent open-source Eclipse IDE. It adds wizards and editors for creating Tapestry applications, pages and components.

20) How Is The Performance Of Tapestry?

Although straight JSPs have a slight edge in demo applications, in real applications with a database or application server backend, the performance curves for equivalent Tapestry and JSP applications are identical. Don’t think about the performance of Tapestry; think about the performance of your Java developers.

Click here to read more blogs

Click here to read more Interview Questions and Answers

About Author

After years of Technical Work, I feel like an expert when it comes to Develop wordpress website. Check out How to Create a Wordpress Website in 5 Mins, and Earn Money Online Follow me on Facebook for all the latest updates.

1 thought on “Apache Tapestry Interview Questions And Answers”

Leave a Comment