Как исправить развертывание сервлета с помощью аннотации и Tomcat - PullRequest
0 голосов
/ 05 января 2019

Мой сценарий операции такой ->

У меня есть код сервлета с использованием аннотации:

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import javax.servlet.annotation.WebServlet;


@WebServlet (name="MyAnnotationServlet", urlPatterns={"/hello"})


public class MyAnnotationServlet extends HttpServlet

{

public void service (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException

{

    res.setContentType ("text/html");

    PrintWriter out = res.getWriter();

    out.println ("<h2> Hello World </h2>");

    out.close();

}

}

Ожидаемая O / P: Hello World

Я создаю вышеупомянутую программу сервлета в контейнере Tomcat после создания файла war.

Мой первый вопрос: какие файлы я должен хранить в файле войны. Либо только MyAnnotationServlet.class, либо только MyAnnotation.java, либо оба.

и если ответ на первый вопрос только MyAnnotationServlet.class тогда где он должен храниться либо в WEB-INF / классах, либо просто так открываться, а не в какой-либо подпапке.

1 Ответ

0 голосов
/ 05 января 2019

Вам не нужны файлы .java, которые находятся до компиляции (будут игнорироваться), только скомпилированные файлы .class

Обычно классы должны быть под WEB-INF/classes

Обратите внимание, что лучше использовать пакеты, отличные от пакет по умолчанию , ниже папки основных классов

...