Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

проблема с бином в JSP
Список форумов
 ->  Основы веб-программирования на Java


 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
Check : 56
Новичок

СообщениеДек 26, 2006 21:28 
Ответить с цитатой
Бин предназначен для получения данных из GET и POST запросов.

Его код на данный момент выглядит так.
Код:
public class ReqDisp {

  String mod;

  public void setMod(String value) {
     mod = value;
  }

  public String getMod() {
     return mod;
  }
}

Этого должно быть достаточно, чтобы получить значение параметра mod (у меня он передается в GET-запросе)


JSP-страница
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<jsp:useBean id="HttpReq" class="ReqDisp"/>
<jsp:setProperty name="flds" property="*"/>
<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <link rel="stylesheet" type="text/css" href="./@/news_style.css">
</head>

<body>
<table width="100%">
<tr><td><a href="http://localhost:8080/news/index.jsp">Статистика</a></td>
     <td><a href="http://localhost:8080/news/index.jsp?mod=addnews">Добавить</a></td>
      <td><a href="http://localhost:8080/news/index.jsp?mod=editnews">Редактировать</a></td>
       <td><a href="">Настройки</a></td>
        <td><a href="">Помощь</a></td>
</tr>
</table>
<br/><br/>

 ...
 ...

<%-- получаем значение параметра mod --%>
<%= HttpReq.getMod() %>

 ...
 ...

</body>
</html>



Выдается ошибка:
Unable to compile class for JSP
или как вариант Unable to load class for JSP

Бин упакован в JAR и помещен в папку
D:\apache-tomcat-5.5.20\webapps\newsApp\WEB-INF\lib

Путь D:\apache-tomcat-5.5.20\webapps\newsApp\WEB-INF\lib\ReqDisp.jar прописан в CLASSPATH.


Путь к jsp-файлу
D:\apache-tomcat-5.5.20\webapps\ROOT\news\index.jsp

JDK 1.5.0_07

В чем может быть проблема? Для меня этот вопрос очень важен, поскольку бины в jsp планирую использовать и для многих других целей.
К началу Посмотреть профиль Отправить личное сообщение
gesser : 3589
JavaTalks Team Member

СообщениеДек 28, 2006 18:41 
Ответить с цитатой
Напишите стактрейс, когда ошибка - Unable to compile class for JSP.
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Check : 56
Новичок

СообщениеДек 30, 2006 18:52 
Ответить с цитатой
Сейчас ошибка другая
Код:
30.12.2006 18:25:57 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: /news/index.jsp(4,0) The value for the useBean class attribute news.logic.ReqDisp is invalid.
   at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
   at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
   at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:146)
   at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1174)
   at org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)
   at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
   at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
   at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
   at org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
   at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
   at org.apache.jasper.compiler.Generator.generate(Generator.java:3320)
   at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
   at org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
   at org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
   at org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
   at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
   at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
   at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
   at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
   at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
   at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
   at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
   at java.lang.Thread.run(Thread.java:595)



Сейчас заметил что при запуске Tomcat выдает довольно странное сообщение
Код:
INFO: The Apache Tomcat Native library which allows optimal pe
ction environments was not found on the java.library.path: D:\
\jdk1.5.0_07\bin;.;D:\WINNT\system32;D:\WINNT;D:\jet4.5-eval\b
s\Borland\Delphi7\Bin;D:\Program Files\Borland\Delphi7\Project
Files\Common Files\Borland Shared\BDE\;D:\Program Files\Borlan
INNT\system32;D:\WINNT;D:\WINNT\System32\Wbem;D:\Program Files
e\AGL;D:\Documents and Settings\LфьшэшёЄЁрЄюЁ.EUGENE-720EFF42\
and Studio Projects\Bpl;D:\Program Files\Java\jdk1.5.0_07\bin


Путь D:\Program Files\Java\jdk1.5.0_07\bin прописан у меня в переменной окружения PATH.
D:\Documents and Settings\Администратор.EUGENE-720EFF42\Мои документы\Borland Studio Projects\Bpl; тоже оттуда. Что такое java.library.path? Все переменные окружения у меня установлены правильно.
К началу Посмотреть профиль Отправить личное сообщение
gesser : 3589
JavaTalks Team Member

СообщениеДек 30, 2006 21:13 
Ответить с цитатой
Есть подозрение, что Tomcat не может найти библиотеку tools.jar, которую он использует для компиляции JSP страниц и сервлетов. Нужно проверить что tools.jar (из вашего JDK) доступно через переменную PATH или, как крайний вариант, попробовать скопировать tools.jar в папку <TOMCAT_HOME_FOLDER>/common/lib
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Check : 56
Новичок

СообщениеДек 30, 2006 23:55 
Ответить с цитатой
Попробовал добавить в PATH путь D:\Program Files\Java\jdk1.5.0_07\bin.
Не помогло. Попробовал также скопировать tools.jar в apache-tomcat-5.5.20\common\lib.
Не помогло и это. И потом ведь если эта либа нужна для компиляции JSP и сервлетов и она была недоступна, то как тогда они вообще компилировались?

Я тут подумал, некоторые вещи, которые я не мог сделать руками, получалось сделать средствами IDEA. В частности это как раз относится к подключению библиотек к проекту.
К началу Посмотреть профиль Отправить личное сообщение
gesser : 3589
JavaTalks Team Member

СообщениеДек 31, 2006 2:02 
Ответить с цитатой
Unable to compile class for JSP - какраз и говорит о том, что Tomcat не может откомпилировать JSP страницу.

Судя из последней ошибки проблема не в этом.

1. Попробуйте создать явный public конструктор без параметров в вашем бине - public ReqDisp() {...}. Все бины должны иметь дефолтный конструктор, так как тег jsp:useBean пытается создать его для вас, если bean еще небыл инициализирован. (Да-да, не бейте - по идее там уже должне быть дефотный конструктор (его по идее должен был неявно добавить компилятор) но всеже ... )

2. Попробуйте в аттрибуте class указать полное имя класса (вместе с пакетом)
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Check : 56
Новичок

СообщениеЯнв 13, 2007 16:41 
Ответить с цитатой
К сожалению, ни первый ни второй вариант не помог Sad((
К началу Посмотреть профиль Отправить личное сообщение
gosha : 1
Новичок

СообщениеИюн 29, 2007 18:25 
Ответить с цитатой
Удалось ли и как победить?
К началу Посмотреть профиль Отправить личное сообщение
ymka : 19
Новичок

СообщениеФев 05, 2012 13:27 
Ответить с цитатой
столкнулся с такой же проблемой. может у кого тоже была и нашел кто решение?
К началу Посмотреть профиль Отправить личное сообщение
 
Начать новую тему  Ответить на тему
Страница 1 из 1
Список форумов
 -> Основы веб-программирования на Java


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru