Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с JSP, не загружается jsp 
:(
    Опции темы
chaineg
  Дата 4.3.2009, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.2.2009

Репутация: нет
Всего: нет



Почему при загрузке main.jspx 
Код

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:c="http://java.sun.com/jsp/jstl/core" version="2.0">
    <jsp:directive.page contentType="text/html; charset=Uft-8"/>
    <html>
    <head><title>Welcome</title></head>
    <body>
    <h3>Welcome</h3>
    <hr>
        <c:out value="${user}, Hello!"/>
        <a href="http://127.0.0.1:8082/Web/jsp/login.jsp">Return to login page</a>
    </hr>
    </body>
    </html>
</jsp:root>

выскакивает эксэпшин 
Код

java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator


В либах томката класс 
Код

javax.servlet.jsp.tagext.TagLibraryValidator
 лежит в C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\jsp-api.jar  smile 

Это сообщение отредактировал(а) chaineg - 4.3.2009, 12:33
PM MAIL   Вверх
mbasil
Дата 4.3.2009, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 399
Регистрация: 4.5.2007
Где: Москва

Репутация: 9
Всего: 13



Код

<jsp:directive.taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"/>

PM MAIL   Вверх
chaineg
  Дата 4.3.2009, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.2.2009

Репутация: нет
Всего: нет



Цитата(mbasil @ 4.3.2009,  14:16)
Код

<jsp:directive.taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"/>

Код

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:c="http://java.sun.com/jsp/jstl/core" version="2.0">
    <jsp:directive.taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"/>
    <html>
    <head><title>Welcome</title></head>
    <body>
    <h3>Welcome</h3>
    <hr>
        <c:out value="${user}, Hello!"/>
        <a href="http://127.0.0.1:8082/Web/jsp/login.jsp">Return to login page</a>
    </hr>
    </body>
    </html>
</jsp:root>


Тот же эскэпшин и к тому же получаю: "Element jsp:directive.taglib is not allowed here"  smile 
PM MAIL   Вверх
bvfalcon
Дата 5.3.2009, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 4.8.2008

Репутация: нет
Всего: 0



Цитата

<jsp:directive.taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"/>

Вас обманули, в XML-разметке JSP-страницы директива taglib записывается в элементе jsp:root, как и было изначально. И ошибка похоже не в JSP-странице вовсе, не там копаете. Обрисуйте ситуацию более подробно (версия Tomcat например и проч.), может и получится помочь.
PM   Вверх
chaineg
Дата 5.3.2009, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.2.2009

Репутация: нет
Всего: нет



Цитата(bvfalcon @ 5.3.2009,  13:13)
Цитата

<jsp:directive.taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"/>

Вас обманули, в XML-разметке JSP-страницы директива taglib записывается в элементе jsp:root, как и было изначально. И ошибка похоже не в JSP-странице вовсе, не там копаете. Обрисуйте ситуацию более подробно (версия Tomcat например и проч.), может и получится помочь.

Версия томката 5.5, щас запустил томкат как службу через администрирование, набрал в браузере урл к своей jspx, при этом максимально упростил jspx:
Код

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:c="http://java.sun.com/jsp/jstl/core" version="2.0">
    <jsp:directive.taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"/>
    <html>
    <head><title>Welcome</title></head>
    <body>
    <h3>Welcome</h3>
    <hr>
        <c:out value="Abcd, Hello!"/>
    </hr>
    </body>
    </html>
</jsp:root>


И в итоге получился такой эксэпшин:
Код

org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:114)
    org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:316)
    org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:147)
    org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
    org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
    org.apache.jasper.compiler.Parser.parse(Parser.java:126)
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   smile

Добавлено через 1 минуту и 42 секунды
Пробовал в браузере набрать http://java.sun.com/jsp/jstl/core, есс-но его браузер не нашёл.
PM MAIL   Вверх
Samotnik
Дата 5.3.2009, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 5
Всего: 191



chainegweb.xml имеется  ? 
PM MAIL   Вверх
chaineg
  Дата 5.3.2009, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.2.2009

Репутация: нет
Всего: нет



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

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        processRequest(req, resp);
    }

    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        processRequest(req, resp);
    }

    private void processRequest(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String page = null;
        try {
            Command command = reqHelper.getCommand(req);
            page = command.execute(req, resp);
        } catch (ServletException ex) {
            ex.printStackTrace();
            req.setAttribute("errormessage", MessageManager.getInstance().getProperty(MessageManager.SERVLET_EXCEPTION_ERROR_MESSAGE));
            page = ConfigurationManager.getInstance().getProperty(ConfigurationManager.ERROR_PAGE_PATH);
        } catch (IOException ex) {
            ex.printStackTrace();
            req.setAttribute("errormessage", MessageManager.getInstance().getProperty(MessageManager.IO_EXCEPTION_ERROR_MESSAGE));
            page = ConfigurationManager.getInstance().getProperty(ConfigurationManager.ERROR_PAGE_PATH);
        }
        System.out.println(page);
        RequestDispatcher disp = getServletContext().getRequestDispatcher("/jsp/main.jsp");
        disp.forward(req, resp);
    }

то на строке 
Код
disp.forward(req, resp);
 вылетает эксэпшин 
Код

java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator
    java.lang.ClassLoader.defineClass1(Native Method)
    java.lang.ClassLoader.defineClass(ClassLoader.java:620)
    java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    java.security.AccessController.doPrivileged(Native Method)
    java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    java.lang.ClassLoader.defineClass1(Native Method)
    java.lang.ClassLoader.defineClass(ClassLoader.java:620)
    java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    java.security.AccessController.doPrivileged(Native Method)
    java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    java.lang.ClassLoader.loadClass(ClassLoader.java:299)
    sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
    java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1247)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181)
    org.apache.jasper.compiler.TagLibraryInfoImpl.createValidator(TagLibraryInfoImpl.java:645)
    org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:246)
    org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:179)
    org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
    org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
    org.apache.jasper.compiler.Parser.parse(Parser.java:126)
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    by.bsu.famcs.jspservlet.Controller.processRequest(Controller.java:53)
    by.bsu.famcs.jspservlet.Controller.doGet(Controller.java:30)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
  smile 
PM MAIL   Вверх
garbuz
Дата 5.3.2009, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 677
Регистрация: 22.1.2008

Репутация: 8
Всего: 11



Попробуйте так
Код

<%@page session="false" contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>



Если не получится, скачайте tld файлы, положите в WEB-INF/tld
Код

<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c" %>



Возможно в web.xml придется прописать след. ...или это в случе своих тегов...не помню  smile 
Код

<taglib>

            <taglib-uri>
                  http://www.someurl.ru
            </taglib-uri>

            <taglib-location>
                  /WEB-INF/myTag.tld
            </taglib-location>

      </taglib>

PM MAIL   Вверх
chaineg
Дата 5.3.2009, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.2.2009

Репутация: нет
Всего: нет



Перепробовал, всё тот же эксэпшин. А могут ли версия томката 5.5.8 и версия jstl 1.1.2 несовместимы?  smile 
PM MAIL   Вверх
garbuz
Дата 5.3.2009, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 677
Регистрация: 22.1.2008

Репутация: 8
Всего: 11



Покажите весь код жсп.
PM MAIL   Вверх
chaineg
  Дата 5.3.2009, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.2.2009

Репутация: нет
Всего: нет



Весь код jsp:
Код

<%@page session="false" contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="/WEB-INF/tld/c.tld" prefix="c" %>
<html>
<head><title>Welcome</title></head>
<body>
<h3>Welcome</h3>
<hr>
    <c:out value="Abcd Hello!"/>
    <a href="http://127.0.0.1:8082/Web/jsp/login.jsp">Return to login page</a>
</hr>
</body>
</html>
   smile 

Это сообщение отредактировал(а) chaineg - 5.3.2009, 19:30
PM MAIL   Вверх
garbuz
Дата 5.3.2009, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 677
Регистрация: 22.1.2008

Репутация: 8
Всего: 11



Еще раз стектрейс и web.xml. tld-хи скачал и положил куда надо?

ЗЫ. А если jstl не использовать, то все нормально?

Это сообщение отредактировал(а) garbuz - 5.3.2009, 19:43
PM MAIL   Вверх
chaineg
Дата 5.3.2009, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.2.2009

Репутация: нет
Всего: нет



Если не использовать jstl, то всё ОК, однако при использовании jstl, disp обращается к странице main.jsp и потом метод forward считывает весь код страницы main.jsp и лезет к классу TagLibraryValidator, который по каким-то причинам не может найти
PM MAIL   Вверх
garbuz
Дата 5.3.2009, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 677
Регистрация: 22.1.2008

Репутация: 8
Всего: 11



Цитата(chaineg @  5.3.2009,  20:24 Найти цитируемый пост)
Если не использовать jstl, то всё ОК, однако при использовании jstl, disp обращается к странице main.jsp и потом метод forward считывает весь код страницы main.jsp и лезет к классу TagLibraryValidator, который по каким-то причинам не может найти 

Значит у вас что-то с jstl не так, скорее всего что-то неправильно делаете. Попробуйте погуглить на эту тему, перекачайте jstl-ные либы, можете сюда структуру приложения привести. 


http://www.developer.com/java/ejb/article.php/1447551
http://www.ibm.com/developerworks/java/lib...j-jsp05273.html

Это сообщение отредактировал(а) garbuz - 5.3.2009, 22:58
PM MAIL   Вверх
skhilkov
Дата 6.3.2009, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 371
Регистрация: 11.4.2006
Где: TOMSK

Репутация: 2
Всего: 7



chaineg,  а можно все-таки WEB.xml показать?


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1273 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.