|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
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. |
|
|
|
 |
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 |
|
|
|
 |
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 указать полное имя класса (вместе с пакетом) |
|
|
|
 |
Check : 56 Новичок
|
Янв 13, 2007 16:41 |
|
|
К сожалению, ни первый ни второй вариант не помог (( |
|
|
|
 |
gosha : 1 Новичок
|
Июн 29, 2007 18:25 |
|
|
| Удалось ли и как победить? |
|
|
|
 |
ymka : 19 Новичок
|
Фев 05, 2012 13:27 |
|
|
| столкнулся с такой же проблемой. может у кого тоже была и нашел кто решение? |
|
|
|
 |
|
|
|