How load servlet on index.jsp

DarkVision picture DarkVision · Apr 5, 2013 · Viewed 28.6k times · Source

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?

Answer

BalusC picture BalusC · Apr 5, 2013

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: