Apache Tomcat не видит класс Java

234
06 апреля 2017, 18:07

Всем доброго времени суток! Разрабатываю сервлет (Eclipse Indigo, Apache Tomcat, J2EE), опыта очень мало. В сервлете надо задействовать метод Java-класса, который находится на той же машине, что и сам Tomcat. Какие есть способы заставить сервлет дополнительный класс ? Листинг сервлета:

public class PrepayServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
 * @see HttpServlet#HttpServlet()
 */
public PrepayServlet() {
    super();
    // TODO Auto-generated constructor stub
}
/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String host = "xxx";
    String port = "xxx";
    String login = "xxx";
    String password = "xxx";   
    boolean isRMIHttp = true;

   LogonInfo log = Session.createSession(host, port, login, getEncryptedPassword(password, false, 0),false);
   PrintWriter pw = response.getWriter();
   pw.print(Session.getServerPurpose());
   stations.service.StationsIface stationServer;
   stationServer = (stations.service.StationsIface) Session.getService("gbas.tvk.nsi.stations.service.StationsServer");

Проблема с видимостью stations.service.StationsIface, он находится вне класса сервлета в другом классе. Спасибо за помощь.

Answer 1

Добрый день. Я не могу добавить комментарий, потому что у меня не хватает репутации :) Поэтому отвечаю отдельным ответом: Вот за эту фразу нужно зацепиться:

Сложность в том, что подключаемый класс не является частью фактически веб-приложения, а другого java-приложения и размещен вне структуры текущего веб-проекта

Если подключаемый класс лежит в отдельном проекте, то внимание: 1. Этот отдельный проект для Вашего приложения с сервлетом должен стать внешней библиотекой. 2. Для этого отдельный проект нужно скомпилировать в JAR-файл. 3. А полученный на шаге-2 JAR-файл нужно положить в проект с Вашим сервлетом - внимание - в папку WEB-INF\lib

Второй способ - если Вы собираете приложение Maven-ом, то проект с внешним классом - должен стать Maven-модулем и подключаться к проекту с сервлетом, как Maven-dependency.

Третий способ - Любая IDE умеет подключить один проект к другому. Но, во-первых, Вы должны сказать, какую IDE используете. А, Во-вторых, это самый не приемлемый, можно сказать, - школьный способ.

Если где наврал, пожалуйчта, уточняйте.

READ ALSO
Почему центор и изображение в окне изменяет свой размер относительно размера окна?

Почему центор и изображение в окне изменяет свой размер относительно размера окна?

до этого использовал отрисовку AWTGraphics2d по мере разработки моего приложения столкнулся с проблемой сильных тормозов и пришлось браться за opengl...

178
помогите наить ошибку Форма jframe

помогите наить ошибку Форма jframe

я работаю в NetBeans IDE 82 в этом программе должно показать время и секунды в jLabel1

203
Приложения автопостинг на jave

Приложения автопостинг на jave

Всем добрый день) Прошу сразу не ругать меня и не оскорблять за столь тупые вопросы) Я новичок в JAVA и хочется что-то практиковатьОчень хочется...

175
ViewPager передача данных

ViewPager передача данных

Использую ViewPager с тремя фрагментамиКак сделать так чтоб при перелистывание с первого на второй фрагмент передавались туда данные

190