|
|
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
Для создания и тестирования сайта изначально использовал для вызова сервлета в web.xml url-pattern в виде "/main". Таким образом, вызов осуществлялся как http://localhost:8080/myApp/main (ну, или аналогия на серваке). Все работало отлично, никаких нюансов или недоразумений не было. Соответственно, во всех jsp-шках тэг <form> имел параметр action=main. Однако работа над проектом подошла к концу, был куплен свой домен и приспичила необходимость отказаться от "/main". В web.xml url-pattern поменян с "/main" на "/". В тэге <form> параметр action ставил равным "/", "", "http://localhost:8080/myApp/", но страница не грузится. Точнее, грузится все, что не имеет ссылок, то есть все элементы показываются, но не подгружается *.сss, все картинки, флешки и т.д. - все то, что имеет ссылки. Естественно, Томкет перегружался, его manager тоже, но результат остался прежним. Поскажите, пожалуйста, почему перестало работать отображение страниц? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 17:34:37 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
А, да, забыл ... Если установить чекпоинт в сервлете, то дебаггинг показывает, что вызов сервлета происходит бесконечное количество раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 17:36:56 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
<link href="<%=request.getContextPath()%>/css/style.css" rel="stylesheet" type="text/css"> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 20:17:32 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
Спасибо, но, к сожалению, этот вариант не подходит. Он добавляет фактически "/webApp" к пути. Реакция та же самая. Я просмотрел все топики, которые тем или иным образом могут относиться к моей проблеме и нашел несколько сходных. Но ни в одном не было дано решения. То есть если из маппинга убраны служебные слова, то сразу же автоматически прекращает подгружать сорс. Плиз, помогите: время поджимает, а уделять такой проблеме пару дней просто нет возможности. Возможно, кто-то использует "пустой" маппинг. Возможно, где-то есть заковырка. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2007, 16:18:37 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
а где лежат css-ки? как к ним прописан путь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 02:45:10 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
Структура стандартная: /myApp/, в ней styles, pages, images, META-INF, WEB-INF и т.д. В системе адресации, построения сайтов и т.д. я разбираюсь неплохо. Суть именно в том, что я хочу вызвать главный сервлет БЕЗ ключевых слов, только localhost:8080/myApp (браузер автоматически добавляет в конце "/"), а не так как раньше: localhost:8080/myApp/ключевое_слово_вызова_сервлета. Сервлет вызывается, но вызывается много раз, а сорс не хочет ... ни картинки, ни флешки, ни стили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 03:24:28 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
ну прально, он же у тебя подмепливается на рутовый контекст с которого все грузится, и картинки и стили и т.д... естественно, каждый реквест продергивает и твой сервлет тоже, он же у тебя туда подмеплен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 04:59:07 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
Это я понял, судя по количеству обращений, но проблема не решилась. Я пробовал указать вручную: href = "http://localhost:8080/myApp/styles/main.css" href = "myApp/styles/main.css" href = "/myApp/styles/main.css" (тот же вариант, что и href="<%=request.getContextPath()%>") Хотя попробовал такую, на первый взгляд, абсурдную структуру: <%@ include file="<%=request.getContextPath()%>/include/global.inc" %> и на стадии компиляции страницы выдало ошибку о неправильности адреса как <%@ include file="pages/myApp/include/global.inc" %> - то есть начинает строить путь из текущей, где лежит сама jsp-шка. Возможно, это чем-то может помочь. Хотя не очень понимаю смысла в вызове сервлета при обращении к, например, картинке: если бы в маппинге стояло <url-pattern>/*</url-pattern>, то тогда да, а так ... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 11:57:57 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
может фильтр поставить? и отправлять картинки и проч. куда-то... куда не соображу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2007, 11:38:38 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
./css/test.css ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 14:53:25 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
Извините, но снова возвращаюсь к этому вопросу ... ничего не помагает. В web.xml поменял mapping с "/main" на "/" и все ... все ресурсы, которые вызываются из jsp, не грузятся. Я сверял все параметры в обоих случаях - они идентичны. Возникло подозрение, что каким-то образом поменялся scope - ресурсы перестали быть видными для приложения. Возможно ли это? В описании web.xml в папках tomcat есть такое описание: <!-- The mapping for the default servlet --> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> Но не работает! Спасибо за содействие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 14:30:55 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
Оставить /main в покое никак нельзя? Вы считаете это неправильным или некрасивым? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 15:02:52 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
Есть купленный домен www.{myApp}.com, поэтому хотелось бы, чтобы все вертелось просто на этом адресе. Естественно, возможен "выход" - ставить окно приветствия на <welcome-page>, а из него вызывать уже сервлет посредством www.{myApp}.com/main - естественно, это выход, и мне, возможно, придется им воспользоваться, но а) считаю это не очень красивым; б) как программиста меня интересует вопрос - почему? Я даже указывал URI буквально - через application.getRealPath("") - не загружает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 16:30:30 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
IDVsbruckЕсть купленный домен www.{myApp}.com, поэтому хотелось бы, чтобы все вертелось просто на этом адресе. Естественно, возможен "выход" - ставить окно приветствия на <welcome-page>, а из него вызывать уже сервлет посредством www.{myApp}.com/main - естественно, это выход, и мне, возможно, придется им воспользоваться, но а) считаю это не очень красивым; б) как программиста меня интересует вопрос - почему? Логичный выход ставить index.htm (index.html, index.jsp и так далее), в котором приписан редирект на вашу первую страницу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 16:36:46 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
Выход-то выход, и очень даже логичный, но ПОЧЕМУ не работает именно так, как я этого хочу? - Тем более, что упоминание о таком варианте есть наже в самом первоисточнике. Да и к тому же я дебаггил сервлет - вызов странички есть, подгрузка jsp есть, даже тэги выполняются (например, в <BODY> фон закрашивается в некий цвет) - все есть, текущее местонахождение такое же, как и с "/main", но не грузятся внешние ресурсы. Парадокс! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 20:16:48 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
Менять <url-pattern>/</url-pattern> на <url-pattern></url-pattern> тоже пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 20:19:54 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
Да, еще момент интересный: на первой странице у меня 5 внешних подзагрузки: css-файл, png-файл и 3 swf-файла. Если сделать дебаггинг сервлета, то при загрузке этой страницы идет 6 обращений к нему: 1 директ и 5 внешних файла. Соответственно, меняются и параметры: к примеру, у переменной request типа HttpServletRequest поле coyoteRequest при первом обращении (вызове страницы) имеет значение "/myApp/", а при втором (когда доходит до строки <link href="styles/main.css" rel=stylesheet type="text/css">) уже "/myApp/styles/main.css". Вот и возникает логичный вопрос: как обратиться к данным, не обращаясь к сервлету? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 20:32:58 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
raidanМенять <url-pattern>/</url-pattern> на <url-pattern></url-pattern> тоже пробовали? Нельзя. Непопустимо пустое поле Illegal.... (не помню точно название exception) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 20:40:05 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
Чтобы не начинать новую тему ... А можно для всех "www.mywebsite.com" указать вызов "www.mywebsite.com/main"? - Надо полагать, это не редирект, так как от "/main" надо избавиться ... Возможно, добавить что-то в mod_jk или вообще через Apache (new Alias) ... очень мелко тут плаваю. Но понимаю, что решить эту проблему можно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 12:50:25 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
1. В Apache для этого есть mod_rewrite 2. Вы можете использовать фильтры в web-приложении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 13:07:14 |
|
||
|
Изменение вызова сервлета - перестало работать
|
|||
|---|---|---|---|
|
#18+
Я использую фильтр для изменения кодировки. А как фильтр может помочь в моей проблеме? - Что "фильтровать"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 20:49:26 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34240670&tid=2146544]: |
0ms |
get settings: |
17ms |
get forum list: |
25ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
59ms |
get topic data: |
20ms |
get forum data: |
5ms |
get page messages: |
96ms |
get tp. blocked users: |
3ms |
| others: | 298ms |
| total: | 537ms |

| 0 / 0 |
