Подтвердить что ты не робот

Servlet JSP web.xml

Я вижу функцию в NetBeans для выбора JSP для Servlet, а XML-результат в web.xml выглядит следующим образом:

<servlet>
    <servlet-name>TestServlet</servlet-name>
    <jsp-file>/index.jsp</jsp-file>
</servlet>

Что это значит? И для чего это? Является ли это как код архитектуры в ASP.NET?

4b9b3361

Ответ 1

Что это значит? и для чего это?

Он используется для сопоставления канонического имени для сервлета (не фактического класса сервлета, который вы написали) для JSP (который является сервлетом). Само по себе это не очень полезно. Вам часто нужно сопоставить сервлет с шаблоном url как:

<servlet>
    <servlet-name>TestServlet</servlet-name>
    <jsp-file>/index.jsp</jsp-file>
</servlet>
<!--mapping-->
<servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/test/*</url-pattern>   
</servlet-mapping>

Теперь все запросы, поступающие на /test/*, будут обслуживаться JSP.

Кроме того, спецификация сервлета также указывает:

Элемент jsp-file содержит полный путь к JSP файлу в Интернете приложение начинается с "/". Если jsp-file, и Элемент load-onstartup присутствует, то JSP следует предварительно скомпилировать и загружен.

Таким образом, он может использоваться для предварительной компиляции сервлетов, если ваш процесс сборки не прекомпилировал их. Имейте в виду, что прекомпиляция JSP таким образом не является лучшей практикой. В идеале ваша сборка script должна заботиться о таких вещах.

Является ли это кодом архитектуры в ASP.NET?

Нет, если вы ищете архитектуру с кодом, наиболее близкую к таковой, находится в поддержке Managed Beans, предлагаемой JSF.

Ответ 2

JSP - это сервлеты. JSP - это технология шаблонов, которая анализирует файл .jsp и генерирует файл сервлета .java. После этого файл .java скомпилирован в файл .class, который запускается в контексте ядра сервлета /JSP.

Все, что делает файл web.xml, это связать файл .jsp с именем сервлета. Там еще: вы должны сопоставить этот .jsp с URL-адресом, чтобы сервлет/JSP-движок мог знать, когда его вызывать.

Я не знаю ASP или .NET достаточно хорошо, чтобы сказать, является ли это таким же, как "код позади".

Ответ 3

JSP - это своего рода сервлет. Страницы JSP скомпилированы в сервлет. Этот сервлет выполняется в контейнере сервлетов, предоставляемом любым веб-сервером Java.

В теге web.xml, <servlet>, который используется для обозначения класса сервлета имени и файла jsp. Затем вы можете сопоставить эти файлы сервлета и jsp в соответствии с вашими собственными URL-адресами.

<servlet>
   <servlet-name>hello</servlet-name>
   <jsp-file>/jsp/hello.jsp</jsp-file>
</servlet>
<servlet-mapping>
  <servlet-name>hello</servlet-name>
  <url-pattern>/helloworld</url-pattern>
</servlet-mapping>

Если ваш файл hello.jsp находится в папке JSP. Когда вы пытаетесь открыть URL-адрес с /helloworld. Он откроет страницу hello.jsp.