I want to set one of jsp files in my jsps folder as the default view for the application. Is there any way we can tell in <welcome-file-list>
that abc.jsp
needs to be default and it can be found in such and such path. Also the url pattern is html so is there a way it can be mapped in Spring MVC.
For example - When a user types www.example.com
, I want the application to direct to abc.jsp
page and also when someone types www.example.com/something
, even then application should direct to abc.jsp
, but the url pattern shouldnt be compromised.
Add
<mvc:view-controller path="/" view-name="abc"/>
to the config file. Then the ROOT will resolve to the abc view. Then add
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
to the config file. This will resolve the view to /WEB-INF/view/abc.jsp.
For example - When a user types www.example.com , I want the application to direct to abc.jsp page
Configure it as a <welcome-file>
in the web.xml
like follows:
<welcome-file-list>
<welcome-file>/abc.jsp</welcome-file>
</welcome-file-list>
and also when someone types www.example.com/something, even then application should direct to abc.jsp, but the url pattern shouldnt be compromised.
In other words, you'd like to forward non-existing resources (which thus would result in a HTTP 404 Page Not Found error) to the same file? Then define it as an <error-page>
in the web.xml
as well:
<error-page>
<error-code>404</error-code>
<location>/abc.jsp</location>
</error-page>
But your question is actually a bit ambiguous. If you actually didn't mean the above and actually want to use /abc.jsp
as the "page controller", then you need to define it as a <servlet>
in web.xml
instead:
<servlet>
<servlet-name>controller</servlet-name>
<jsp-file>/abc.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>controller</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
(both the <welcome-file>
and the <error-page>
are not needed here)
This is however a flaw in the MVC design (using a view as controller). But if you're actually asking for it..
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With