I know that in spring I must define welcome-file, which should be outside of WEB-INF folder, so I define it like this:
web.xml:
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
But actually my real code is in WEB-INF/jsp/contact.jsp
So I always have to do this:
<jsp:forward page="/index"></jsp:forward>
And in my controller this means:
@RequestMapping("/index")
public String listContacts(Map<String, Object> map) {
map.put("contact", new Contact());
map.put("contactList", contactService.listContact());
return "contact";
}
How can I make it this way, that welcome-file always goes to my index mapping, which leads to contact.jsp?
Feel free to ask questions, if this was confusing...
and
worked for me.
See my answer: https://stackoverflow.com/a/15551678/173149 or just:
Try using
In case of java configuration you can override two methods in class that extends WebMvcConfigurerAdapter
If you wanna serve index.html explicitly, turn it into a resource override a method in the same class as below:
Of course
addResourceLocations
must follows the folder choosen to hold your views.See these samples