Шаблон 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>