2013-11-23 4 views
0

я делаю this tutorial, и я получаю следующее сообщение об ошибке весной зимует проект MySQL:HTTP Status 500 - javax.el.PropertyNotFoundException: Свойство не найдено по типу

HTTP Status 500 - javax.el.PropertyNotFoundException: 
Property 'id' not found on type net.viralpatel.docmanager.model.Document 

Что другой информации сделать я нужно отправить, чтобы люди знали, как помочь мне исправить ошибку, чтобы мое приложение запустилось?

Вот класс Документ:

@Entity 
@Table(name="documents") 
public class Document { 

    @Id 
    @GeneratedValue 
    @Column(name="id") 
    private Integer id; 

    @Column(name="name") 
    private String name; 

    @Column(name="description") 
    private String description; 

    @Column(name="filename") 
    private String filename; 

    @Column(name="content") 
    @Lob 
    private Blob content; 

    @Column(name="content_type") 
    private String contentType; 

    @Column(name="created") 
    private Date created; 

    //Getter and Setter methods 
    public Integer getID(){return id;} 
    public Blob getContent(){return content;} 
    public String getContentType(){return contentType;} 
    public String getDescription(){return description;} 
    public String getFileName(){return filename;} 
    public String getName(){return name;} 
    public Date getCreated(){return created;} 

    public void setID(Integer i){id=i;} 
    public void setContent(Blob ct){content=ct;} 
    public void setContentType(String ctype){contentType=ctype;} 
    public void setDescription(String desc){description=desc;} 
    public void setFileName(String fn){filename=fn;} 
    public void setName(String nm){name=nm;} 
    public void setCreated(){created=new java.sql.Date(System.currentTimeMillis());} 
} 

Здесь часть дорожки стека, начиная с первой СУРОВОЙ:

Nov 22, 2013 4:20:17 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 4290 ms 
Hibernate: select document0_.id as id1_0_, document0_.content as content2_0_, document0_.content_type as content_3_0_, document0_.created as created4_0_, document0_.description as descript5_0_, document0_.filename as filename6_0_, document0_.name as name7_0_ from documents document0_ 
Nov 22, 2013 4:20:18 PM org.apache.catalina.core.ApplicationDispatcher invoke 
SEVERE: Servlet.service() for servlet jsp threw exception 
javax.el.PropertyNotFoundException: Property 'id' not found on type net.viralpatel.docmanager.model.Document 
    at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:237) 
    at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:214) 
    at javax.el.BeanELResolver.property(BeanELResolver.java:325) 
    at javax.el.BeanELResolver.getValue(BeanELResolver.java:85) 
    at org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104) 
    at org.apache.el.parser.AstValue.getValue(AstValue.java:183) 
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185) 
    at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1026) 
    at org.apache.jsp.WEB_002dINF.jsp.documents_jsp._jspx_meth_c_005fforEach_005f0(documents_jsp.java:435) 
    at org.apache.jsp.WEB_002dINF.jsp.documents_jsp._jspx_meth_c_005fif_005f0(documents_jsp.java:389) 
    at org.apache.jsp.WEB_002dINF.jsp.documents_jsp._jspService(documents_jsp.java:192) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487) 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412) 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339) 
    at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) 
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:263) 
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1208) 
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936) 
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 
Nov 22, 2013 4:20:18 PM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet [spring] in context with path [/DocumentManager] threw exception [javax.el.PropertyNotFoundException: Property 'id' not found on type net.viralpatel.docmanager.model.Document] with root cause 
    javax.el.PropertyNotFoundException: Property 'id' not found on type net.viralpatel.docmanager.model.Document 
    at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:237) 
    at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:214) 
    at javax.el.BeanELResolver.property(BeanELResolver.java:325) 
    at javax.el.BeanELResolver.getValue(BeanELResolver.java:85) 
    at org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104) 
    at org.apache.el.parser.AstValue.getValue(AstValue.java:183) 
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185) 
    at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1026) 
    at org.apache.jsp.WEB_002dINF.jsp.documents_jsp._jspx_meth_c_005fforEach_005f0(documents_jsp.java:435) 
    at org.apache.jsp.WEB_002dINF.jsp.documents_jsp._jspx_meth_c_005fif_005f0(documents_jsp.java:389) 
    at org.apache.jsp.WEB_002dINF.jsp.documents_jsp._jspService(documents_jsp.java:192) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487) 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412) 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339) 
    at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) 
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:263) 
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1208) 
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936) 
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 

Вот это язык определения данных, которые создали базовую таблицу MySQL :

CREATE DATABASE `docdb`; 
USE `docdb`; 

CREATE TABLE `documents` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `name` varchar(200) NOT NULL, 
    `description` text NOT NULL, 
    `filename` varchar(200) NOT NULL, 
    `content` mediumblob NOT NULL, /* for ORACLE enter BLOB*/ 
    `content_type` varchar(255) NOT NULL, 
    `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY (`id`) 
); 
+0

это работает для других столбцов? Если вы закомментируете часть 'private Integer id', вы все равно получите исключение? – Blub

ответ

1

Я считаю, что аксессоры id 't соответствует соглашениям об именах бинов, и поэтому исключение вызывается. Они должны быть следующими:

public Integer getId() { return id; } 

public void setId(Integer i){ id= i; } 
+0

+1 и благодарю вас за то, что вы первый, с правильным ответом. – CodeMed

+0

Добро пожаловать. :) –

1

Там нет собственности называется id. Существует, однако, свойство, называемое iD.

Это проблема чувствительности кейса.

Имена свойств выведены с помощью поиска отражений на объектах.

@Entity 
@Table(name="documents") 
public class Document { 

    @Id 
    @GeneratedValue 
    @Column(name="id") 
    private Integer id; 

    //Getter and Setter methods 
    public Integer getID(){return id;} 
    ... 

    public void setID(Integer i){id=i;} 
    ... 
} 

http://docstore.mik.ua/orelly/java-ent/jnut/ch06_02.htm

+0

+1 и спасибо. это фактически Идентификатор, но ваша точка хорошо взята. – CodeMed

+0

Извините, я не пытался показать предлагаемое изменение кода, но просто выделил код с проблемой. Я вижу, как это сбивает с толку :) – Brandon

Смежные вопросы