вызов сервлета из HTML-формы без дескриптора развертывания web.xml - PullRequest
1 голос
/ 04 августа 2010

Как вызвать сервлет из действия формы без использования дескриптора развертывания web.xml?

Ответы [ 2 ]

4 голосов
/ 04 августа 2010

Обновите до Java EE 6 / Servlet 3.0, и вы сможете зарегистрировать сервлет с помощью аннотации @WebServlet.

package com.example;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;

@WebServlet(urlPatterns={"/myServlet/*"})
public class MyServlet extends HttpServlet {
    // ...
}

Нет необходимости в web.xmlбольше.Вышесказанное делает в основном то же самое, что и следующее:

<servlet>
    <servlet-name>myServlet</servlet-name>
    <servlet-class>com.example.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>myServlet</servlet-name>
    <url-pattern>/myServlet/*</url-pattern>
</servlet-mapping>

На данный момент вы можете выбрать из каждого Glassfish v3 и Tomcat 7 в качестве реализаций Servlet 3.0.1015 *


До Servlet 3.0 лучше всего делать ставку на фронт-контроллер.В web.xml имеется один сервлет, который делегирует запросы / действия объектам домена на основе параметров запроса и / или pathinfo.Это также используется в средней структуре MVC.

1 голос
/ 04 августа 2010

Вы можете напрямую использовать имя класса для вызова сервлета в веб-сервере.
Если ваш URL-адрес равен http://myurl.com/
Затем добавление полного имени класса в URL-адрес вызовет сервлет.1005 * * 1006.URL становится грязным, хотя.Но вам не нужно использовать web.xml для вызова сервлета.

...