Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
9 / 9 / 2
Регистрация: 02.11.2012
Сообщений: 153

Maven web archtype не видит сервлет

22.11.2014, 21:19. Показов 4238. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Использую Intellij idea 14. Создаю пустой проект. Затем добавляю веб модуль архетип мавена. Затем создаю простенькую Jsp, которая редиректит на сервлет
HTML5
1
2
3
4
5
6
7
8
9
10
11
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title></title>
</head>
<body>
<form method="get" action="helloworld">
    <input type="submit" value="Say Hello"/>
</form>
</body>
</html>
Вот куда дальше совать сервлет?
Насколько я понял в src/main/resources. Кроме того это единственное место где можно клацнуть правой кнопкой и нажать Create - Servlet.
В src/main/webapp/WEB-INF/ изменяю файл web.xml
XML
1
2
3
4
5
6
7
8
<servlet>
        <servlet-name>HelloWorldServlet</servlet-name>
        <servlet-class>servlets.HelloWorldServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorldServlet</servlet-name>
        <url-pattern>/helloworld</url-pattern>
    </servlet-mapping>
Сервлет вот такой
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package servlets;
 
import mybeans.HelloWorldBean;
 
import javax.ejb.EJB;
import java.io.IOException;
 
@javax.servlet.annotation.WebServlet(name = "HelloWorldServlet", urlPatterns = "/helloworld")
public class HelloWorldServlet extends javax.servlet.http.HttpServlet {
    protected void doPost(javax.servlet.http.HttpServletRequest request,
                          javax.servlet.http.HttpServletResponse response)
            throws javax.servlet.ServletException, IOException {
 
    }
    @Override
    protected void doGet(javax.servlet.http.HttpServletRequest request,
                         javax.servlet.http.HttpServletResponse response)
            throws javax.servlet.ServletException, IOException {
        String hello=helloWorldBean.sayHello();
        request.setAttribute("hello",hello);
        request.getRequestDispatcher("hello.jsp").forward(request,response);
    }
}
Файл "hello.jsp" очевидный.
Но дело в том, что Servlet распознается как обычный файл. То есть если я делаю синтаксическую ошибку - это нигде не отображается. Хотя когда добавляю информацию о сервлете в web.xml оно его находит.
Запускается на GlassFish, открывается index.jsp. Я жму кнопку и оно редиректит на сервлет, но тут оно говорит, что wrapper не способен найти класс HelloWorldServlet. Маюсь с этим уже около 12 часов.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.11.2014, 21:19
Ответы с готовыми решениями:

Сервлет не видит jar-ников
Подключаюсь в сервлете к базе с помощью jdbc/hibernate - выдает море ошибок. Делаю то же в мейне - все ок. Неделю рылся в гугле, вроде как...

Jboss/Tomcat не видит сервлет
Здравствуйте! Суть проблемы: ejb-приложение под Jboss. Вроде бы Прописал все -xml, а браузер все равно не выдает ответ на запрос....

Сервлет, периодически загружающий web-страницу
помогите. как сделать сервлет, который каждые два часа качает страницу с прогнозом погоды. конкретно, как этот срок установить?

7
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
22.11.2014, 23:35
kebal, я использую спринг и его удобный диспатчер, но такие джавовские сервлеты использовал только когда начинал учить.
То как вы объявили сервлет в web.xml - лишнее. Я не уверен, но кажись с 3-ей версии спеки по сервлетам можно просто юзать аннотацию - так как вы и сделали. То есть запись в web.xml лишняя.
Насчет пути в action на форме, то это должно быть примерно так - "{contextPath}/helloworld"
Можете заюзать jstl чтобы контекстный путь динамически подставлялся, вот так - ${pageContext.request.contextPath}/helloworld"
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
22.11.2014, 23:36
kebal, сервлет кладите в ваш пакет в папке java
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
22.11.2014, 23:36
И создавать сервлет в resources это вы куда то не туда пошли
0
9 / 9 / 2
Регистрация: 02.11.2012
Сообщений: 153
23.11.2014, 14:12  [ТС]
Ну вот, если архетип maven-webapp, то папки java там нет. Если создавать как архетип javaee-webapp, то появляется папка java, но проблема абсолютно та же, оно не видит
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
23.11.2014, 14:16
ну так создайте сами

Добавлено через 2 минуты
Цитата Сообщение от kebal Посмотреть сообщение
то появляется папка java, но проблема абсолютно та же, оно не видит
в идеи, правая кнопка мыши на "java", "make directory as", "generated source root"

Добавлено через 36 секунд
но если у вас мавен, так зачем вы паритесь, собирайте мавеном
1
9 / 9 / 2
Регистрация: 02.11.2012
Сообщений: 153
23.11.2014, 19:04  [ТС]
Окей, если я например разместил сервлет в web модуле, а он ссылается на бины из ejb модуля, то я должен добавить зависимость в pom.xml веб модуля?
Я собираю мавеном таким образом - в ear кладутся ejb.jar и web.war. И потом запускаю ear-exploded на glassfish.
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
23.11.2014, 19:07
kebal, извините, но этого я не знаю.
Если честно ejb вообще не знаю и ear-ник собирал только раз.
Просто использую спринг.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.11.2014, 19:07
Помогаю со студенческими работами здесь

Maven не видит java
usr@work:~$ which Java usr@work:~$ echo $JAVA_HOME :/usr/lib/jvm/java-1.8.0-openjdk-amd64 usr@work:~$ echo $PATH...

Web проект с Spring и Maven
Хочу создать проект типа ВЕБ с поддержкой Spring и Maven. В netBeans или простой веб с Spring или Maven Веб вижу как создать. А как...

Не загружает и не видит класс (Maven, Graddle)
Использую в проекте ORMLite. Падает на строчке ниже с ошибкой: java.lang.ClassNotFoundException: org.sqlite.JDBC ...

Как правильно оформить web.xml (мой первый сервлет)
Доброго времени, Изучаю сервлеты, Подскажите или дайте пример того, как правильно оформить свой дескриптор (web.xml) дело в...

Maven в IDEA и Maven в системе
Только начинаю разбираться с Maven, возник вопрос. Для того, чтобы работать с Maven в eclipse, нужно скачать дистрибутив apache и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru