Top Xx Jump Mvc Interview Questions Too Answers For Coffee Programmers

The Spring MVC framework is ane of the most pop Java frameworks for developing web applications. If you lot convey been working inward Java in addition to the developing web-based application so in that location is a expert run a endangerment that you lot convey already used Spring MVC inward your project. In the final decade, it has overstep the defacto framework for developing Java web application. Spring MVC is based on classic MVC (Model-View-Controller) blueprint pattern but it is much to a greater extent than than that. It leverages, Spring framework's forcefulness inward price of dependency injection in addition to Inversion of control in addition to promotes loosely coupled architecture, similar to the Spring framework itself. Because of its immense popularity in addition to usefulness, most of the Java evolution job requires a good knowledge of Spring in addition to Spring MVC.

There is a lot of demand for expert Java developer with good knowledge and experience inward Spring in addition to Spring MVC. One way to prepare yourself for such task interviews is to expect for expert interview questions.

These questions non alone assist you lot to prepare good for interviews but likewise assist you lot to sympathise the key concepts ameliorate in addition to encourage you lot to larn to a greater extent than past times exploring in addition to that's why I am ever in search of expert Spring MVC Interview questions.

Recently I was preparing for Spring Core Professional Certification when I come upward across some Spring certification guides from Pivotal. These guides contain some interesting questions on Spring MVC.

Even though these questions are provided simply to give you lot an thought virtually the syllabus of Spring certification, I truly constitute many of such questions convey already been asked to myself in addition to friends inward diverse Spring task interviews.

On asking to a yoke of my friends, I thought to portion answers to these questions here. So, if you lot are preparing for either Spring Certification or Java Web Developer interview, you lot volition notice this listing of Spring MVC Interview Questions really useful for your preparation.




20 Spring MVC Interview Questions for Java Programmers

Without farther Ado, hither is my listing of some of the oftentimes asked Spring MVC questions from Java Interviews, especially from the spider web evolution positions.


1. MVC is an abbreviation for a blueprint pattern. What does it represent in addition to what is the idea behind it? (answer)
Answer - MVC is an abbreviation for Model-View-Controller blueprint pattern. This pattern is based upon the separation-of-concerns design principle which promotes handling different functionality at different layer in addition to loose coupling betwixt layers.

In MVC pattern, Model contains the information which is rendered past times View in addition to Controler assist inward asking processing in addition to routing.

Neither Model knows about View, nor View is theme upon Model, which agency the same model tin move rendered past times dissimilar views e.g. JSP, FreeMarker or it tin move fifty-fifty move written every bit JSON or XML inward instance of RESTful Web Services. You tin larn to a greater extent than virtually MVC inward my favorite course Spring Framework 5: Beginner to Guru. If you lot are serious virtually Spring, this is the class you lot should look.


 The Spring MVC framework is ane of the most pop Java Top xx Spring MVC Interview Questions in addition to Answers for Java Programmers



2. Do you lot demand spring-mvc.jar inward your classpath or is it component division of spring-core? (answer)
The spring-mvc.jar is non component division of spring-core, which agency if you lot desire to occupation Spring MVC framework inward your Java project, you lot must include spring-mvc.jar inward your application's classpath. In Java spider web application, spring-mvc.jar is unremarkably placed within /WEB-INF/lib folder.


3. What is the DispatcherServlet in addition to what is it used for? (answer)
The DispatcherServlet is an implementation of Front Controller blueprint pattern which handles all incoming spider web asking to a Spring MVC application. H5N1 Front Controller pattern (see Enterprise application blueprint pattern) is a mutual pattern inward spider web applications whose task is to have all asking in addition to road it to dissimilar components of the application for actual processing.

In instance of Spring MVC, DispatcherServlet road spider web requests to Spring MVC controllers.

In Spring MVC, DispatcherServlet is used for finding the right Controler to procedure a request, which it does amongst the assist of handler mapping e.g. @RequestMapping annotation.

It is likewise responsible for delegating logical thought yell to ViewResolver in addition to so sending the rendered response to the client.


4. Is the DispatcherServlet instantiated via an application context? (answer)
No, DispatcherServlet is instantiated past times Servlet containers like Tomcat or Jetty. You must define DispatcherServlet into the web.xml file every bit shown below.

You tin meet that load-on-startup tag is 1 which agency DispatcherServlet is instantiated when you lot deploy Spring MVC application to Tomcat or whatever other Servlet container. During instantiation, it looks for a file servlet-name-context.xml in addition to so initializes beans defined inward this file.


5. What is the root application context inward Spring MVC? How is it loaded? (answer)
In Spring MVC, the context loaded using ContextLoaderListener is called the "root" application context which belongs to the whole application piece the ane initialized using DispatcherServlet is truly specific to that servlet.

Technically, Spring MVC allows multiple DispatcherServlet in a Spring MVC spider web application in addition to so multiple such contexts each specific for respective servlet but having the same root context may exist. You tin farther check answer)
The @Controller is a Spring MVC musical note to define Controller but in reality, it's simply a stereotype annotation. You tin fifty-fifty do a controller without @Controller past times annotating the Spring MVC Controller classes using @Component annotation. The existent task of asking mapping to the handler method is done using @RequestMapping annotation.


7. What is the ContextLoaderListener in addition to what does it do? (answer)
The ContextLoaderListener is a listener which helps to bootstrap Spring MVC. As the name suggests it loads in addition to do ApplicationContext, so you lot don't convey to write explicit code to do do it.

The application context is where Spring edible bean leaves. For a Web application, in that location is is a subclass called WebAppliationContext.

The ContextLoaderListener likewise necktie the lifecycle of the ApplicationContext to the lifecycle of the ServletContext. You tin acquire the ServletContext from WebApplicationContext using getServletContext() method.


8. What are you lot going to do inward the web.xml? Where do you lot house it?
The ContextLoaderListener is configured inward web.xml every bit listener in addition to you lot seat that within a tag every bit shwon below:
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>

When the Spring MVC web application is deployed, Servlet container created an instance of ContextLoaderListener shape which loads the Spring's WebApplicationContext. You tin likewise see Spring MVC For Beginners to larn to a greater extent than virtually ContextLoaderListener in addition to WebApplicationContext in addition to their role inward Spring MVC.

 The Spring MVC framework is ane of the most pop Java Top xx Spring MVC Interview Questions in addition to Answers for Java Programmers



9. How is an incoming asking mapped to a controller in addition to mapped to a method? (answer)
Sometimes this inquiry is likewise asked How does DispatcherServlet knows which Controller should procedure the request? Well, the answer lies in something called handler mappings.

Spring uses handler mappings to associate controllers amongst requests, 2 of the commonly used handler mappings are BeanNameUrlHandlerMapping in addition to SimpleUrlHandlerMapping.

In BeanNameUrlHandlerMapping, when the asking url matches the yell of the bean, the shape inward the edible bean Definition is the controller that volition have got the request.

On the other hand, In SimpleUrlHandlerMapping, the mapping is to a greater extent than explicit. You tin specify the number of URLs and each URL tin move explicitly associated amongst a controller.

Btw, if you lot are using annotations to configure Spring MVC, which you lot should so @RequestMapping annotations is used to map an incoming request to a controller and a handler method.

You tin likewise configure @RequestMapping musical note past times URI Path, past times query parameters, past times HTTP methods of a request and past times HTTP headers introduce inward the request.


10. What is the @RequestParam used for? (answer)
The @RequestParam is a Spring MVC musical note which is used to extract asking parameter or query parameters from URL inward Controller's handler method every bit shown below:

public String personDetail(@RequestParam("id") long id){
  ....
  homecoming "personDetails";
}

The @RequestParam musical note likewise supports information type conversion e.g. you lot tin meet hither a String is converted to long automatically but it tin likewise number inward an exception if the query parameter is non introduce or inward instance of a type mismatch. You tin likewise brand the parameter optional past times using requried=false e.g. @RequestParam(value="id", required=false )


11. What are the differences betwixt @RequestParam in addition to @PathVariable? (answer)
Even though both @RequestParam in addition to @PathVariable annotations are used to extract some information from the URL, in that location is a key deviation betwixt them.

The @RequestParam is used to extract query parameters e.g. anything after "?" inward URL piece @PathVariable is used to extract the part of the URI itself. For example, if the given URL is http://localhost:8080/SpringMVC/books/3232233/?format=json

Then you lot tin access the query parameter "format" using @RequestParam musical note in addition to /books/{id} using @PathVariable, which volition give you lot 3232233.

Here is some other illustration of @PathVariable,

@RequestMapping("/persons/{id}" )
public String personDetail (@PathVariable ("id" ) long id) {...}

This code tin extract somebody id=123 from /persons/123. It is especially used inward RESTful Web Services because their id is unremarkably component division of URI or URL path.

 The Spring MVC framework is ane of the most pop Java Top xx Spring MVC Interview Questions in addition to Answers for Java Programmers



12. What are some of the valid homecoming types of a controller method? (answer)
There are many homecoming types are available for a controller method inward Spring MVC which is annotated past times @RequestMapping within the controller. Some of the pop ones are:
  1. String
  2. void
  3. View
  4. ModelAndView (Class)
  5. Model (Interface)
  6. Map
  7. HttpEntity<?> or ResponseEntity<?>
  8. HttpHeaders


You tin meet the total listing of valid homecoming types for a Spring MVC controller here. http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-ann-return-types

Every homecoming type has its specific use. For example, if you lot are using String so it agency Controller simply homecoming View Name in addition to this thought yell will resolve by ViewResolver.

If you lot don't desire to homecoming whatever thought yell advert homecoming type void. If you lot desire to laid thought yell every bit good every bit desire to post some object occupation ModelAndView every bit a homecoming type.


13. What is a View in addition to what's the thought behind supporting dissimilar types of View? (answer)
H5N1 View is an interface inward Spring MVC application whose implementations are responsible for rendering context and exposing the model. H5N1 unmarried thought exposes multiple model attributes. Views inward Spring MVC tin move beans also.

They are probable to move instantiated every bit beans past times a ViewResolver. As this interface is stateless, thought implementations should move thread-safe. past times using ViewResolver, a logical yell of thought tin move resolved into dissimilar types of View implementation e.g. JstlView for displaying JSP or other thought implementations for FreeMarker in addition to Velocity.

If you lot are novel to Spring MVC in addition to non familiar amongst these basic classes, so I advise you lot larn Spring past times joining ane of the free Spring courses I convey shared earlier.

 The Spring MVC framework is ane of the most pop Java Top xx Spring MVC Interview Questions in addition to Answers for Java Programmers



14. How is the right View chosen when it comes to the rendering phase? (answer)
The right View is chosen past times ViewResolver inward Spring MVC. When Controller returns a logical thought yell to DispatcherServlet, it consults to ViewResolver to notice the right View.

The ViewResolver depending upon its implementation resolves the logical thought into a physical resources e.g. a JSP page or a FreeMarker template.

For example, InternalResourceViewResolver is a default thought resolvers which converts logical thought yell e.g. "hello" to "/WEB-INF/hello.jsp" using prefix in addition to suffix.


15. What is the Model? (answer)
Model is ane time again a reference to encapsulate information or output for rendering. Model is ever created in addition to passed to the thought inward Spring MVC. If a mapped controller method has Model every bit a method parameter, so a model instance is automatically injected past times Spring framework to that method.

Any attributes assault the injected model are preserved in addition to passed to the View. Here is an illustration of using Model inward Spring MVC:

public String personDetail(Model model) {
...
model.addAttribute("name", "Joe");
...
}

16. Why do you lot convey access to the model inward your View? Where does it come upward from? (answer)
You demand to convey access tot he model inward your View to homecoming the output. It's the model which contains the information to move rendered. The Model comes with the Controller, which process their client asking in addition to encapsulate the output into a Model object.


17. What is the purpose of the session scope? (answer)
The purpose of the session reach is to do an instance of the edible bean for an HTTP Session. This agency the same bean tin serve multiple requests if it is scoped inward session. You tin define the scope of a Spring edible bean using reach attribute or @Scope annotation in Spring MVC application.


18. What is the default reach inward the spider web context? (answer)
The singleton reach is the default reach for a Spring edible bean fifty-fifty inward the spider web context. The other 3 Web context-aware scopes are a request, session, in addition to global-session, which are alone available inward a spider web application aware ApplicationContext object. See Spring Master Class - Beginner to Expert to larn to a greater extent than virtually ApplicationContext inward Spring.

 The Spring MVC framework is ane of the most pop Java Top xx Spring MVC Interview Questions in addition to Answers for Java Programmers


19. Why are controllers testable artifacts? (answer)
In Spring MVC Controllers are testable artifacts because they are non straight coupled amongst whatever View technology. They simply homecoming a logical View name, which tin move easily tested.


20. What does the InternalResourceViewResolver do? (answer)
In Spring MVC, H5N1 ViewResolveer returns View to have got to output rendering based on the Logical View Name (provided past times the controller) in addition to locale. This way controller is non coupled to specific thought engineering e.g. JSP or FreeMarker it alone returns the logical thought name.

InternalResourceViewResolver is the default View resolver configured inward Spring MVC in addition to DispatcherServlet uses it to notice the right view. InternalResourceViewResolver is used to homecoming JSPs (JstlView).

It Configures prefix in addition to suffix to logical thought yell which so results inward a path to specific JSP every bit shown below:
<bean class= "org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name= "prefix" value= "/WEB-INF/" />
<property yell ="suffix" value =".jsp" />
</bean>

So if Controller returns "hello" every bit logical thought name, the InternalViewResolver volition homecoming /WEB-INF/hello.jsp in addition to DispatcherServlet will forrard the request to this JSP page for rendering.

That's all virtually some of the frequently asked Spring MVC Interview Questions. If you lot know answers to these questions agency you lot convey expert cognition of Spring MVC framework, its different components e.g. DispatcherServlet, handler mappings, Controllers, Views in addition to Model in addition to tin explicate to anyone.

Sometime, you lot may acquire questions from Spring total in addition to Spring safety every bit well, thus it's likewise advisable to prepare for them. You tin notice some Spring Security Interview inquiry hither in addition to Some Core Spring questions here.


Further Reading
Spring Framework 5: Beginner to Guru
Spring Master Class - Beginner to Expert
Spring Framework Interview Guide - 200+ Questions & Answers


Other Spring related articles you lot may similar to explore this blog
  • 15 Spring Boot Interview Questions for Java Developers (questions)
  • 3 ways to larn Spring Framework ameliorate (article)
  • How Spring MVC industrial plant internally? (answer)
  • What is the occupation of DispatcherServlet inward Spring MVC? (answer)
  • How to enable Spring safety inward Java application? (answer)
  • Does Spring certification assist inward Job in addition to Career? (article)
  • How to prepare for Spring Certification? (guide)
  • 3 Best Practices Java Developers Can larn from Spring (article)
  • Difference between @Autowired in addition to @Injection annotations inward Spring? (answer)
  • 5 Spring in addition to Hibernate online courses for Java developers (list)
  • 5 Spring Boot courses for Java developers (courses)
  • 5 courses to larn Microservices amongst Spring Boot in addition to Spring Cloud (courses)

Thanks for reading this article. If you lot similar these questions in addition to my answers in addition to explanations so delight portion amongst your friends in addition to colleagues, it does brand a difference. If you lot convey whatever questions which are non answered inward this list, experience costless to drib a comment in addition to I'll travail my best to notice an respond for you.

P.S. - If you lot desire to larn how to educate RESTful Web Services using Spring Framework, banking concern check out Eugen Paraschiv's REST amongst Spring course. He has latterly launched the certification version of the course, which is total of exercises in addition to examples to farther cement the existent basis concepts you lot volition larn from the course.

0 Response to "Top Xx Jump Mvc Interview Questions Too Answers For Coffee Programmers"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel