Можете ли вы опубликовать свой текущий web.xml? Вы должны иметь возможность добавить отображение сервлета, например:
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.example.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Затем вы бы написали простой сервлет, например:
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException {
getServletConfig().getServletContext().getRequestDispatcher(
"/MyApplication.html").forward(request,response);
}
}
Или вы также можете генерировать контент динамически, либо непосредственно в сервлете, либо в JSP, либо используя любую технику, которую вы предпочитаете - это часто очень полезно в любом случае!
В ответ на ваш комментарий:
Поскольку вы хотите отобразить каждый путь к сервлету, вы получаете бесконечный цикл. Решение с InputStream может выглядеть следующим образом:
public class SomeServlet extends HttpServlet {
@Override
protected void doGet(final HttpServletRequest request, final HttpServletResponse response)
throws ServletException,
IOException {
final InputStream is = getClass().getClassLoader().
getResourceAsStream("/com/example/MyApplication.html");
final byte[] buffer = new byte[255];
int len = 0;
while ((len = is.read(buffer)) != -1) {
response.getOutputStream().write(buffer, 0, len);
}
response.flushBuffer();
}
}
Поместите файл MyApplication.html в исходную папку в пакете com.example.
Если вы не хотите помещать html-файл в исходную папку, вы также можете использовать любые другие средства для создания InputStream (например, из любого файла, использующего FileInputStream).