Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/40: Рейтинг темы: голосов - 40, средняя оценка - 4.55
 Аватар для Dulliane
0 / 0 / 0
Регистрация: 02.04.2014
Сообщений: 72

Как прописать путь к сервлетам и jsp?

16.06.2015, 11:06. Показов 7776. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день.

очень интересует вопрос о том, как и где правилньо прописывать пути до jsp и сервлетов.
так получилось, что я 4 дня бьюсь головой, и не могу ничего внятного найти о том, почему мои сервлеты и jsp не видны из классов и jsp по своим именам, прописанным в web.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>mangou_travel_agency</display-name>
    <welcome-file-list>
        <welcome-file>/index.html</welcome-file>
    </welcome-file-list>
 
    <servlet>
        <description></description>
        <display-name>Controller_one</display-name>
        <servlet-name>Controller_one</servlet-name>
        <servlet-class>servlets.Controller_one</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Controller_one</servlet-name>
        <url-pattern>/Controller_one</url-pattern>
    </servlet-mapping>
 
    <jsp-config>
        <taglib>
            <taglib-uri>/WEB-INF/lib/clientslist.tld</taglib-uri>
            <taglib-location>/WEB-INF/lib/clientslist.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>/WEB-INF/lib/tourslist.tld</taglib-uri>
            <taglib-location>/WEB-INF/lib/tourslist.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>/WEB-INF/lib/tourshasclientslist.tld</taglib-uri>
            <taglib-location>/WEB-INF/lib/tourshasclientslist.tld</taglib-location>
        </taglib>
    </jsp-config>
 
    <servlet>
        <description></description>
        <display-name>Controller_two</display-name>
        <servlet-name>Controller_two</servlet-name>
        <servlet-class>servlets.Controller_two</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Controller_two</servlet-name>
        <url-pattern>/Controller_two</url-pattern>
    </servlet-mapping>
 
    <servlet>
        <description></description>
        <display-name>Controller_three</display-name>
        <servlet-name>Controller_three</servlet-name>
        <servlet-class>servlets.Controller_three</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Controller_three</servlet-name>
        <url-pattern>/Controller_three</url-pattern>
    </servlet-mapping>
 
    <servlet>
        <description></description>
        <display-name>Controller_admin</display-name>
        <servlet-name>Controller_admin</servlet-name>
        <servlet-class>servlets.Controller_admin</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Controller_admin</servlet-name>
        <url-pattern>/Controller_admin</url-pattern>
    </servlet-mapping>
 
    <servlet>
        <description></description>
        <display-name>Controller_four</display-name>
        <servlet-name>Controller_four</servlet-name>
        <servlet-class>servlets.Controller_four</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Controller_four</servlet-name>
        <url-pattern>/Controller_four</url-pattern>
    </servlet-mapping>
 
    <servlet>
        <servlet-name>admin.jsp</servlet-name>
        <jsp-file>/jsp/admin.jsp</jsp-file>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>admin.jsp</servlet-name>
        <url-pattern>/jsp/admin.jsp</url-pattern>
    </servlet-mapping>
 
    <servlet>
        <servlet-name>main.jsp</servlet-name>
        <jsp-file>/jsp/main.jsp</jsp-file>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>main.jsp</servlet-name>
        <url-pattern>/jsp/main.jsp</url-pattern>
    </servlet-mapping>
 
    <servlet>
        <servlet-name>ordering.jsp</servlet-name>
        <jsp-file>/jsp/ordering.jsp</jsp-file>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>ordering.jsp</servlet-name>
        <url-pattern>/jsp/ordering.jsp</url-pattern>
    </servlet-mapping>
 
    <servlet>
        <servlet-name>registration.jsp</servlet-name>
        <jsp-file>/jsp/registration.jsp</jsp-file>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>registration.jsp</servlet-name>
        <url-pattern>/jsp/registration.jsp</url-pattern>
    </servlet-mapping>
 
</web-app>
ЭТОГО НЕ ДОСТАТОЧНО? для и видимости в следующих случаях :

в некоторой jsp:
.....
XML
1
2
3
4
        
<form action="Controller_one" method="get">
<p> <input type="submit" value="stay guest" /> </p>
</form>
....


в некоторых сервлетах:
Java
1
request.getRequestDispatcher("admin.jsp").forward(request, response);
какого черта все это не работает? )))


может быть нужно дублировать сервлеты еще и в папки в web-inf (где-то такое вычитал)?

ткните меня в универсальное, однозначное руководство, что и как от и до нужно сделать, чтобы можно былло обращаться к этим долбаным классам и сервлетам! не используя всяких там конструкций подобного рода,
XML
1
2
3
<form action="${pageContext.request.contextPath}/registration.jsp">
    <input type="submit" value="sign up" />
</form>
, которые работают только с jsp ....


простите за эмоции... но так я лучше усвою
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.06.2015, 11:06
Ответы с готовыми решениями:

Подскажите хорошую литературу по сервлетам и .jsp (легко-нормально читаемую)
Если есть кто из родного Питера, то где такую можно купить ? !!!!

Как прописать путь?
Здравствуйте! Есть выражение ImageIO.read(this.getClass().getResource())Внутрь getResourse требуется вставить путь к файлу типа...

как прописать путь
в 57 строке скрипта прописываю путь к файлу index.php, лежащему в папке categories include $_SERVER . '/admin/categories/'; В ответ...

11
 Аватар для Alexis220382
0 / 0 / 1
Регистрация: 04.04.2015
Сообщений: 18
16.06.2015, 14:31
Если из jsp в сервлет, то можно так
Java
1
2
3
<body>
        <jsp:forward page="SeniorServlet" />
    </body>
или в форме поставте
Java
1
<form action="SeniorServlet">
или
Java
1
<form action="index.jsp">
а в web.xml у Вас путь не правильно прописан
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
        <servlet-name>SeniorServlet</servlet-name>
        <servlet-class>servlets.SeniorServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>SeniorServlet</servlet-name>
        <url-pattern>/SeniorServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>begin.jsp</welcome-file>
    </welcome-file-list>
</web-app>
Если необходимо определенный код отправить в jsp, то правильно у Вас было
Java
1
request.getRequestDispatcher("admin.jsp").forward(request, response);
Посмотрите мой пример с отправкой данных из сервлета в jsp
может поможет
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
package servlets;
 
import MyException.MyException;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import product_DAO.ProductDAO;
import products_SQL.Product;
 
public class SeniorServlet extends HttpServlet {
 
    PrintWriter out;
    RequestDispatcher dispatcher;
 
    protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws MyException {
 
        ProductDAO productDAO = new ProductDAO();
        response.setContentType("text/html;charset=UTF-8");
 
        try {
            out = response.getWriter();
            List<Integer> idList = new ArrayList<Integer>();
            List<String> descriptionList = new ArrayList<String>();
            List<Float> rateList = new ArrayList<Float>();
            List<Integer> quantityList = new ArrayList<Integer>();
            List<Integer> numberProductList = new ArrayList<Integer>();
            for (Product product : productDAO.getProduct()) {
                idList.add(product.getId());
                descriptionList.add(product.getDescription());
                rateList.add(product.getRate());
                quantityList.add(product.getQuantity());
                numberProductList.add(product.getNumberProduct());
            }
            if (request.getParameter("combobox") != null) {
                request.setAttribute("showProduct", productDAO.getProductById(
                        Integer.parseInt(request.getParameter("combobox"))));
            }
            if (request.getParameter("btnAdd") != null) {
                if (descriptionList.contains(request.getParameter("txtDescription"))
                        || numberProductList.contains(Integer.parseInt(request.getParameter("txtNumberProduct")))) {
                    request.setAttribute("notAdd", "message");
                    request.getRequestDispatcher("notadd.jsp").forward(request, response);
                } else {
                    Product product = new Product(Integer.parseInt(request.getParameter("txtNumberProduct")),
                            request.getParameter("txtDescription"),
                            Float.parseFloat(request.getParameter("txtRate")),
                            Integer.parseInt(request.getParameter("txtQuantity")));
                    productDAO.addProduct(product);
                }
            }
            if (request.getParameter("btnUpdate") != null) {
                if (idList.contains(Integer.parseInt(request.getParameter("txtId")))
                        && descriptionList.contains(request.getParameter("txtDescription"))
                        && numberProductList.contains(Integer.parseInt(request.getParameter("txtNumberProduct")))) {
                    Product product = new Product(Integer.parseInt(request.getParameter("txtId")),
                            Integer.parseInt(request.getParameter("txtNumberProduct")),
                            request.getParameter("txtDescription"),
                            Float.parseFloat(request.getParameter("txtRate")),
                            Integer.parseInt(request.getParameter("txtQuantity")));
                    productDAO.setProduct(product);
                } else {
                    request.setAttribute("notUpdate", "message");
                    request.getRequestDispatcher("notUpdate.jsp").forward(request, response);
                }
            }
            if (request.getParameter("btnDelete") != null) {
                if (idList.contains(Integer.parseInt(request.getParameter("txtId")))
                        && descriptionList.contains(request.getParameter("txtDescription"))
                        && rateList.contains(Float.parseFloat(request.getParameter("txtRate")))
                        && quantityList.contains(Integer.parseInt(request.getParameter("txtQuantity")))
                        && numberProductList.contains(Integer.parseInt(request.getParameter("txtNumberProduct")))) {
                    productDAO.removeProduct(Integer.parseInt(request.getParameter("txtId")));
                } else {
                    request.setAttribute("notDelete", "message");
                    request.getRequestDispatcher("notDelete.jsp").forward(request, response);
                }
            }
            request.setAttribute("productList", productDAO.getProduct());
            request.getRequestDispatcher("index.jsp").forward(request, response);
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            out.close();
            productDAO.conClose();
        }
    }
 
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (MyException ex) {
            ex.printStackTrace();
        }
    }
 
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (MyException ex) {
            ex.printStackTrace();
        }
    }
 
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
 
}
0
 Аватар для Dulliane
0 / 0 / 0
Регистрация: 02.04.2014
Сообщений: 72
16.06.2015, 15:04  [ТС]
Цитата Сообщение от Alexis220382 Посмотреть сообщение
ли в форме поставте
Код Java(TM) 2 Platform Standard Edition 5.0
1
<form action="SeniorServlet">
да вот не ввсегла так работает. например если к jsp , где эта форма добираемся разными путями. путь в иерархии меняется, и сервлет уже не найти. 404 not found

то же самое с
Цитата Сообщение от Alexis220382 Посмотреть сообщение
request.getRequestDispatcher("admin.jsp" ).forward(request, response);
Добавлено через 1 минуту
Цитата Сообщение от Alexis220382 Посмотреть сообщение
<session-config>
* * * * <session-timeout>
* * * * * * 30
* * * * </session-timeout>
* * </session-config>
и что без этих настроек не работает сервлет? только в этом моя неправильность?
0
 Аватар для Alexis220382
0 / 0 / 1
Регистрация: 04.04.2015
Сообщений: 18
16.06.2015, 15:17
Без этих настроек работает. Это просто мой пример.
Посмотрите настройки контейнера сервлетов, какой используете? У меня томкат.

А web.xml поправили?
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
17.06.2015, 07:24
Dulliane, для jsp --->>> servlet достаточно посмотреть на web.xml
а для servlet --->>> jsp то тогда если Ваша jsp страничка в корне то достаточно
Java
1
request.getRequestDispatcher("index.jsp").forward(request, response);
а если jsp страница находиться в какомто каталоге например в каталоге jspPages то
Java
1
request.getRequestDispatcher("jspPages/index.jsp").forward(request, response);
0
 Аватар для Dulliane
0 / 0 / 0
Регистрация: 02.04.2014
Сообщений: 72
17.06.2015, 08:58  [ТС]
Цитата Сообщение от asus Посмотреть сообщение
Dulliane, для jsp --->>> servlet достаточно посмотреть на web.xml
но дело в том, что мой web.xml почему то не хочет показывать пути до сервлетов.
мне где то призодится выходить из текущей папки , обращаясь action="../Servlet" в форме
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
17.06.2015, 09:18
Цитата Сообщение от Dulliane Посмотреть сообщение
<servlet>
* * * * <servlet-name>admin.jsp</servlet-name>
* * * * <jsp-file>/jsp/admin.jsp</jsp-file>
* * </servlet>
<servlet-mapping>
* * * * <servlet-name>admin.jsp</servlet-name>
* * * * <url-pattern>/jsp/admin.jsp</url-pattern>
* * </servlet-mapping>
<servlet>
* * * * <servlet-name>main.jsp</servlet-name>
* * * * <jsp-file>/jsp/main.jsp</jsp-file>
* * </servlet>
<servlet-mapping>
* * * * <servlet-name>main.jsp</servlet-name>
* * * * <url-pattern>/jsp/main.jsp</url-pattern>
* * </servlet-mapping>
<servlet>
* * * * <servlet-name>ordering.jsp</servlet-name>
* * * * <jsp-file>/jsp/ordering.jsp</jsp-file>
* * </servlet>
<servlet-mapping>
* * * * <servlet-name>ordering.jsp</servlet-name>
* * * * <url-pattern>/jsp/ordering.jsp</url-pattern>
* * </servlet-mapping>
<servlet>
* * * * <servlet-name>registration.jsp</servlet-name>
* * * * <jsp-file>/jsp/registration.jsp</jsp-file>
* * </servlet>
<servlet-mapping>
* * * * <servlet-name>registration.jsp</servlet-name>
* * * * <url-pattern>/jsp/registration.jsp</url-pattern>
* * </servlet-mapping>
попробуйте закомментировать.
0
 Аватар для Dulliane
0 / 0 / 0
Регистрация: 02.04.2014
Сообщений: 72
17.06.2015, 12:53  [ТС]
я их добавил напротив, когда увидел, что мапинг не работает . вообще никакой реакции, что есть, что нет этих строк
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
17.06.2015, 13:12
Dulliane, покажите что конкретно говорит сервер. а то я уже запутался т.к. у меня все так работает
0
 Аватар для Alexis220382
0 / 0 / 1
Регистрация: 04.04.2015
Сообщений: 18
20.06.2015, 23:02
Пока работал в нетбинсе еще сам пытался подсказать,
А в IDEA влез и у самого такая же штука случилась.

Создаю сервлет и такой пример настроек в вебе, как я во втором посте выкладывал....... не катит.
Сам сейчас пытаюсь сервлет свой найти, а его нет.
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
21.06.2015, 10:24
Alexis220382, попробуйте на jDeveloper'е тоже...
0
 Аватар для Alexis220382
0 / 0 / 1
Регистрация: 04.04.2015
Сообщений: 18
23.06.2015, 13:05
Господа, неужели никто не поможет.
Что только не делал, все равно сервлет не видит.
И в вебе в се нормально прописал
Java
1
2
3
4
5
6
7
8
    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>com.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/MyServlet</url-pattern>
    </servlet-mapping>
и пробовал через аннотацию
Java
1
@WebServlet(name = "MyServlet", urlPatterns = {"/redirect"})
до барабана.

Подскажите, когда я подключаю томкат к проекту, путь deployment какой ставить? Может в этом проблема.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.06.2015, 13:05
Помогаю со студенческими работами здесь

Как прописать путь?
Есть функция, находящаяся в Корень сайта/forum/include/functions_posting.php, в ней я подсоединяю файл следующим образом:require_once...

Как прописать путь к БД
Доброе время суток. Мне нужно создать кнопки в делфи, которые при нажатие открывали мою базу данных. Постскриптум: база данных...

Как прописать путь в require?
добрый день не подскажите как прописать путь в строке var mongoose = require('/lib/mongoose'), Выдает ошибку Cannot find module...

Как прописать путь - $directory?
Подскажите пожалуйста! При установке скрипта на локальном сервере, столкнулся с проблемой прописания пути к каталогу. $directory =...

как правильно прописать путь
Нужно прописать 2 пути к директории загрузки и директории opt как это сделать вызывая команды из любой папки??


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru