Issue
Is there is any way to call a servlet on index.jsp
? My welcome file is index.jsp
. I need to populate dropdown list values by a servlet when index.jsp
is opened.
I tried to set <load-on-startup>
in web.xml
, but it didn't have any effect. How do I get the welcome file index.jsp
to call the servlet?
Solution
Just change the welcome file URL to be the one of the servlet.
Given this servlet mapping,
<servlet-mapping>
<servlet-name>indexServlet</servlet-name>
<url-pattern>/index</url-pattern>
</servlet-mapping>
just have this welcome file list:
<welcome-file-list>
<welcome-file>index</welcome-file>
</welcome-file-list>
Don't forget to move the /index.jsp
into /WEB-INF
folder to prevent it from being accessed directly by endusers guessing its URL (and don't forget to alter the forward call in the index servlet to point to /WEB-INF/index.jsp
).
Or if you solely intend to have a "home page servlet" and not an "index servlet", then map the servlet to the empty string URL pattern instead of as welcome file.
<servlet-mapping>
<servlet-name>indexServlet</servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
See also:
Answered By - BalusC
Answer Checked By - Gilberto Lyons (JavaFixing Admin)