Да.во время загрузки вашего приложения контейнер загрузит web.xml и извлечет данные для
определенного шаблона URL в сервлет.когда приходит запрос, он проверяет из памяти, что для этого шаблона какой сервлет вызывать, а затем, если сервлет уже загружен, он возьмет его из памяти, в противном случае он создаст экземпляр сервлета и вызовет doGet()
или doPost()
в зависимости оттип запроса.
и существует другой способ сопоставления URL delcare, начиная с JAVAEE-6, с помощью аннотации
что-то вроде
import javax.servlet.annotation.InitParam;
import javax.servlet.annotation.WebServlet;
@WebServlet(
name = "SimpleServlet",
urlPatterns = {"/login"},
initParams = {
@InitParam(name = "param1", value = "value1"),
@InitParam(name = "param2", value = "value2")}
)
public class SimpleServlet {
}
в Face-Configuration.xml мы приводим варианты навигации следующим образом:
<to-view-id>failure.jsp </to-view-id>
Почему нам не нужно указывать имя представления как fail.jsf?Мы просто даем * .jsp в face-config.xml.Как это обрабатывается внутри?
это view identifier
, а не URL
FacesServlet загрузит это представление при вызове этого навигационного случая.