Шаблон URL для HTML-файла в web.xml

Мы знаем, как установить шаблон URL для сервлета, но я не могу установить шаблон URL для html в web.xml, можете ли вы помочь мне найти решение, я погуглил, но не могу его найти, пожалуйста, найдите ниже мою проблему,

<servlet>
    <servlet-name>Login</servlet-name>
    <servlet-class>auth.Login</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Login</servlet-name>
    <url-pattern>/login</url-pattern>
</servlet-mapping>

в приведенном выше коде я устанавливаю шаблон URL для **Login** класс сервлетов в web.xml, как и я, могу ли я установить шаблон URL для файла html в web.xml, пожалуйста, помогите найти решение, спасибо заранее

3 ответа

Если вы хотите защитить файлы *.html от прямого доступа (поместив файлы *.html в WEB-INF), вы можете использовать сервлет, который будет отвечать только за пересылку всех таких запросов в предназначенные файлы HTML.

<servlet>
    <servlet-name>HTMLServlet</servlet-name>
    <servlet-class>my.package.HTMLServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>HTMLServlet</servlet-name>
    <url-pattern>/somepath/*.html</url-pattern>
</servlet-mapping>

Код в классе сервлетов может выглядеть так

...
protected void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws ServletException, IOException {
  String requestedPath = //... code for getting requested HTML path
  request.getRequestDispatcher(requestedPath).forward(request, response);
}
...

Шаблон URL для сервлетов и фильтров. Для сервлета

<servlet-mapping>
    <servlet-name>Servlet-name</servlet-name>
    <url-pattern>/< Pattern ></url-pattern>
</servlet-mapping>

Для фильтра

<filter-mapping>
    <filter-name>Filter-Name</filter-name>
    <url-pattern>/< Pattern ></url-pattern>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>

Это не для HTML-файла. Infact нет конфигурации шаблона для JSP тоже.

Если вы не возражаете изменить свою HTML-страницу на JSP, вы можете установить для нее шаблон url следующим образом:

<servlet>
    <servlet-name>Error</servlet-name>
    <jsp-file>/pages/error.jsp</jsp-file>
</servlet>
<servlet-mapping>
    <servlet-name>Error</servlet-name>
    <url-pattern>/error</url-pattern>
</servlet-mapping>
Другие вопросы по тегам