Отображение сервлета

Я создал Sample.java сервлет, он находится в папке src.

и создал HTML-страницу в каталоге страниц, то есть страницы /First.html

Теперь мне нужно предоставить в сервлет-сопоставление как страницы/образец, которые я не получаю, почему имя каталога страниц должно упоминаться в картографировании url сервлета.

Как в корневой папке.

Ответы

Ответ 1

Вы не должны класть какой-либо класс в корневой пакет.

После того, как вы поместили свой класс Sample в пакет (пример: com.foo.andy.sample), вам нужно объявить сервлет в web.xml вашего веб-приложения и объявить одно (по крайней мере) сопоставление для этого сервлета.

Вы можете следовать этому руководству, чтобы знать, как это сделать.

Вам нужны эти строки в файле web.xml:

<servlet>
    <servlet-name>SampleServlet</servlet-name>
    <servlet-class>com.foo.andy.sample.Sample</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>SampleServlet</servlet-name>
    <url-pattern>/pages/Sample</url-pattern>
</servlet-mapping>

И ваш сервлет будет доступен в.../yourWebApp/pages/Sample

Ответ 2

Нам нужно отобразить сервлет, чтобы гарантировать, что какой сервлет будет вызываться при запросе URL-адреса. Для этого вам нужно написать файл web.xml. позволяет предположить, что ваш класс находится в пакете com.example.

<servlet>
    <servlet-name>SampleServlet</servlet-name>
    <servlet-class>com.example.Sample</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>SampleServlet</servlet-name>
    <url-pattern>/Sample</url-pattern>
</servlet-mapping> 

когда вы заполните этот код, поместите url (/Sample) на ваш <form action="/Sample"> на странице HTML. убедитесь, что вы не должны класть класс в корневой каталог.