为啥就一直join和join in的区别不进去喃?求各位大哥...

操屄有趣,大肚子孕妇做爱的电视剧
友情链接:我的情况是这样的,整个项目能正常启动,不会报错。但是调用action的时候出现空指针错误。
经过我debug发现。action中的service对象没初始化,service中的dao对象没初始化,dao中的sessionfactory美初始化。也就是说根上的原因是sessionfactory没能初始化。但是我已经把它配置在了spring的配置文件中。。。。。很奇怪。虽然我hibernate的所有配置都还放在hibernate.cfg.xml中,但是spring中已经能找到这个文件了,因为我的那些实体类都已经在数据库中生成对应的表。。。。请问怎么回事。。。
hibernate.cfg.xml 如下
&?xml version='1.0' encoding='utf-8'?&
&!DOCTYPE hibernate-configuration PUBLIC
&&&&&&& "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
&&&&&&& "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"&
&hibernate-configuration&
&&& &session-factory&
&&&&&&& &property name="connection.driver_class"&oracle.jdbc.driver.OracleDriver&/property&
&&&&&&& &property name="connection.url"&jdbc:oracle:thin:@127.0.0.1:1521:orcl&/property&
&&&&&&& &property name="connection.username"&saber&/property&
&&&&&&& &property name="connection.password"&saber520&/property&
&&&&&&& &property name="connection.pool_size"&10&/property&
&&&&&&& &property name="dialect"&org.hibernate.dialect.Oracle9iDialect&/property&
&&&&&&& &property name="current_session_context_class"&thread&/property&
&&&&&&& &property name="cache.provider_class"&org.hibernate.cache.NoCacheProvider&/property&
&&&&&&& &property name="show_sql"&true&/property&
&property name="format_sql"&true&/property&
&&&&&&& &property name="hbm2ddl.auto"&update&/property&&&&
&&&&&&& &mapping& class="com.lion.king.model.animal.Animal"/&
&&& &/session-factory&
&/hibernate-configuration&
spring的context.xml 如下
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd"&
&import resource="classpath:applicationConfiguration-action.xml" /&
&import resource="classpath:applicationConfiguration-service.xml" /&
&import resource="classpath:applicationConfiguration-dao.xml" /&
&import resource="classpath:applicationConfiguration-model.xml" /&
&bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&
&property name="configLocation"&
&&&&&&&&&&& &value&classpath:hibernate.cfg.xml&/value&
&&&&&&& &/property&
&/bean&
&/beans&
请帮忙。。。还需要晒什么。。。。。。请留言。
问题补充:RobustTm 写道&import resource="classpath:applicationConfiguration-action.xml" /&
&import resource="classpath:applicationConfiguration-service.xml" /&
&import resource="classpath:applicationConfiguration-dao.xml" /&
&import resource="classpath:applicationConfiguration-model.xml" /&
这几个文件呢?上传看看
&?xml version="1.0" encoding="UTF-8"?&
&web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="/xml/ns/javaee"
xmlns:web="/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_2_5.xsd"
version="2.5"&
&!-- 欢迎页面 --&
& &welcome-file-list&
&&& &welcome-file&/login/login.jsp&/welcome-file&
& &/welcome-file-list&
&
& &!-- spring 监听器配置 --&
& &context-param&
&&&&&&& &param-name&contextConfigLocation&/param-name&
&&&&&&& &param-value&classpath:applicationConfiguration*.xml&/param-value&
&&& &/context-param&
&&& &listener&
&&&&&&& &listener-class&
&&&&&&&&&&&& org.springframework.web.context.ContextLoaderListener
&&&&&&& &/listener-class&
&&& &/listener&
&
&!-- struts& 过滤器配置 --&
&&& &filter&
&&& &filter-name&struts2&/filter-name&
&&& &filter-class&
&&
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
&&
&/filter-class&
& &/filter&
& &filter-mapping&
&&& &filter-name&struts2&/filter-name&
&&& &url-pattern&/*&/url-pattern&
& &/filter-mapping&
&
&& &!-- 著名 Character Encoding filter --&&&
&&& &filter&&&
&&&&&&& &filter-name&encodingFilter&/filter-name&&&
&&&&&&& &filter-class&org.springframework.web.filter.CharacterEncodingFilter&/filter-class&&&
&&&&&&& &init-param&&&
&&&&&&&&&&& &param-name&encoding&/param-name&&&
&&&&&&&&&&& &param-value&UTF-8&/param-value&&&
&&&&&&& &/init-param&&&
&&& &/filter&&&
&&& &!--Hibernate Open Session in View Filter--&&&
&&& &filter&&&
&&&&&&& &filter-name&hibernateFilter&/filter-name&&&
&&&&&&& &filter-class&org.springframework.orm.hibernate3.support.OpenSessionInViewFilter&/filter-class&&&
&&& &/filter&&&
&& &!-- Spring 刷新Introspector防止内存泄露 --&&&
&&& &listener&&&
&&&&&&& &listener-class&org.springframework.web.util.IntrospectorCleanupListener&/listener-class&&&
&&& &/listener&&&
& &!-- session超时定义,单位为分钟 --&&&
&&& &session-config&&&
&&&&&&& &session-timeout&5&/session-timeout&&&
&&& &/session-config&&&
&/web-app&
问题补充:RobustTm 写道&import resource="classpath:applicationConfiguration-action.xml" /&
&import resource="classpath:applicationConfiguration-service.xml" /&
&import resource="classpath:applicationConfiguration-dao.xml" /&
&import resource="classpath:applicationConfiguration-model.xml" /&
这几个文件呢?上传看看
web.xml已经上传。。。那几个请稍等
问题补充:RobustTm 写道&import resource="classpath:applicationConfiguration-action.xml" /&
&import resource="classpath:applicationConfiguration-service.xml" /&
&import resource="classpath:applicationConfiguration-dao.xml" /&
&import resource="classpath:applicationConfiguration-model.xml" /&
这几个文件呢?上传看看
resource="classpath:applicationConfiguration-action.xml" /&
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd"&
&bean id="animalAction"& class="com.lion.king.action.animal.AnimalAction"&
&property name="as"&
&ref& bean="animalService"/&
&/property&
问题补充:RobustTm 写道&import resource="classpath:applicationConfiguration-action.xml" /&
&import resource="classpath:applicationConfiguration-service.xml" /&
&import resource="classpath:applicationConfiguration-dao.xml" /&
&import resource="classpath:applicationConfiguration-model.xml" /&
这几个文件呢?上传看看
&import resource="classpath:applicationConfiguration-dao.xml" /&
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd"&
&beans&&!--
&bean id="animalDAO"& class="com.lion.king.DAO.animal.AnimalDAOImpl"&
&property name="sessionFactory"&
&ref bean="sessionFactory"/&
&/property&
&/bean&
--&
&bean id="animalDAO" class="com.lion.king.DAO.animal.AnimalDAOImpl"&
&property name="sessionFactory"&
&ref bean="sessionFactory" /&
&/property&
问题补充:RobustTm 写道&import resource="classpath:applicationConfiguration-action.xml" /&
&import resource="classpath:applicationConfiguration-service.xml" /&
&import resource="classpath:applicationConfiguration-dao.xml" /&
&import resource="classpath:applicationConfiguration-model.xml" /&
这几个文件呢?上传看看
& model那个是空的没什么内容
service这个
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd"&
&bean id="animalService"& class="com.lion.king.service.animal.AnimalServiceImpl"&
&property name="adi"&
&ref& bean="animalDAO"/&
&/property&
&/bean&
&/beans&
问题补充:suziwen 写道项目启动时打到控制台的信息能贴出来看看吗
或者启动日志
21:05:27 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\D:\apache-tomcat-6.0.20\bin
21:05:27 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-9999
21:05:27 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 320 ms
21:05:27 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
21:05:27 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.20
21:05:28 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
21:05:28 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
21:05:28 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
21:05:32 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-9999
21:05:32 org.mon.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
21:05:32 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/15& config=null
21:05:32 org.apache.catalina.startup.Catalina start
信息: Server startup in 4774 ms
完成无错& 不过貌似它没去解析配置文件??
问题补充:suziwen 写道感觉程序没读到你的SPRING的配置文件啊
是啊。。我也觉得。。。。因为控制台显示相应的信息
问题补充:suziwen 写道context.xml改成
classpath:applicationConfiguration*.xml这个规则
我 是用的这个规则啊!& 你说的是改哪里
问题补充:suziwen 写道你的context.xml文件的文件名是什么,及放置的路径打出来看看
applicationConfiguration.xml
路径是 src下面
问题补充:suziwen 写道&import resource="classpath:applicationConfiguration-action.xml" /&
&import resource="classpath:applicationConfiguration-service.xml" /&
&import resource="classpath:applicationConfiguration-dao.xml" /&
&import resource="classpath:applicationConfiguration-model.xml" /&
把这些删除掉,试试,好像重复了
问题补充:suziwen 写道&import resource="classpath:applicationConfiguration-action.xml" /&
&import resource="classpath:applicationConfiguration-service.xml" /&
&import resource="classpath:applicationConfiguration-dao.xml" /&
&import resource="classpath:applicationConfiguration-model.xml" /&
把这些删除掉,试试,好像重复了
还是一样的报控制正错误,根本的原因应该还是sessionfactory没有从配置文件读出来初始化。
问题补充:suziwen 写道我想先确认的SPRING.XML是否被初始化到
你随便定义一个bean,让这个bean实现InitializingBean接口

afterPropertiesSet
方法里随便打印一信息来确定spring.xml是否初始化到先
问题补充:suziwen 写道我想先确认的SPRING.XML是否被初始化到
你随便定义一个bean,让这个bean实现InitializingBean接口

afterPropertiesSet
方法里随便打印一信息来确定spring.xml是否初始化到先
有输出。。证明我配置的这个测试bean是被初始化的了。。。。。
问题补充:suziwen 写道我想先确认的SPRING.XML是否被初始化到
你随便定义一个bean,让这个bean实现InitializingBean接口

afterPropertiesSet
方法里随便打印一信息来确定spring.xml是否初始化到先
先谢谢。。。要断电了。。明天还来请教你
问题补充:myali88 写道把spring相关包的日志级别降低到DEBUG,就能看看spring的初始化过程了。
把spring相关包的日志级别降低到DEBUG,在那里配。。。。是在log4f.properties 里面。还是在spring的配置文件中
问题补充:myali88 写道在log4j里面配置:logger.org.springframework=DEBUG
马上试一试
问题补充:myali88 写道在log4j里面配置:logger.org.springframework=DEBUG
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
就出现了这个,任然没出现解析spring配置文件的信息。。。。
问题补充:myali88 写道引用
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
就出现了这个,任然没出现解析spring配置文件的信息。。。。
似乎你log4j都没配置好。在classpath里面需要log4j.properties:
log4j.rootLogger=WARN, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.logger.org.springframework=DEBUG
需要类似这样的配置。
直接把你这一段复制到我的log4j.properties中试一试 先
问题补充:myali88 写道引用
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
就出现了这个,任然没出现解析spring配置文件的信息。。。。
似乎你log4j都没配置好。在classpath里面需要log4j.properties:
log4j.rootLogger=WARN, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.logger.org.springframework=DEBUG
需要类似这样的配置。
出来了很多
name : Oracle
&&& version : Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
&&&&& major : 9
&&&&& minor : 2
&&
10:48:46,375 [main] INFO& org.hibernate.cfg.SettingsFactory - Driver -&
&&&&&& name : Oracle JDBC driver
&&& version : 10.2.0.4.0
&&&&& major : 10
&&&&& minor : 2
都信息就Oracle的。。。其他的下面的信息我都没列出来了 太多了。。你需要的话我在贴上来
问题补充:myali88 写道把rootLogger的级别设置WARN,spring的级别设置DEBUG,其他包不需要显示那么详细的日志。
按你说的做了以后输出的信息中仍然没有解析spring配置文件的的信息
11:20:23 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\D:\apache-tomcat-6.0.20\bin
11:20:23 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-9999
11:20:23 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 293 ms
11:20:23 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
11:20:23 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.20
11:20:24 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
11:20:24 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
11:20:24 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.hibernate.type.BasicTypeRegistry).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
11:20:28 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-9999
11:20:28 org.mon.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
11:20:28 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/16& config=null
11:20:28 org.apache.catalina.startup.Catalina start
信息: Server startup in 4396 ms
问题补充:myali88 写道
信息: Initializing Spring root WebApplicationContext
这一句已经说明你的org.springframework.web.context.ContextLoaderListener在初始化spring了
log4j:WARN No appenders could be found for logger (org.hibernate.type.BasicTypeRegistry).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
这里说明还是log4j日志没设置好。参考一下
看来老半天。。。英语不太好。。。。但是试着配了下 也没有什么改变。。晕死。
问题补充:myali88 写道log4j的包加了没?把你的log4j配置贴出来看看。
不好意思。。。要断电了。。。明天来继续请教
问题补充:myali88 写道log4j的包加了没?把你的log4j配置贴出来看看。
改动后的。
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Print the date in ISO 8601 format&&
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n&&
### direct messages to file hibernate.log ###
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=WARN&
log4j.appender.A1=org.apache.log4j.ConsoleAppender&&
log4j.appender.A1.layout=org.apache.log4j.PatternLayout&&
log4j.logger.org.hibernate=debug
logger.org.springframework=DEBUG
### log HQL query parser activity
log4j.logger.org.hibernate.hql.ast.AST=debug
### log just the SQL
log4j.logger.org.hibernate.SQL=CONSOLE
### log JDBC bind parameters ###
#log4j.logger.org.hibernate.type=info
#log4j.logger.org.hibernate.type=debug
### log schema export/update ###
log4j.logger.org.hibernate.tool.hbm2ddl=debug
### log HQL parse trees
log4j.logger.org.hibernate.hql=debug
### log cache activity ###
#log4j.logger.org.hibernate.cache=debug
### log transaction activity
#log4j.logger.org.hibernate.transaction=debug
### log JDBC resource acquisition
#log4j.logger.org.hibernate.jdbc=debug
### enable the following line if you want to track down connection ###
### leakages when using DriverManagerConnectionProvider ###
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
问题补充:suziwen 写道你不用HIBERANTE默认的配置方式,用这个试试
&bean id="dataSource"
class="mons.dbcp.BasicDataSource" &
&property name="driverClassName"
value="${jdbc.driverClassName}" /&
&property name="url" value="${jdbc.url}" /&
&property name="username" value="${jdbc.username}" /&
&property name="password" value="${jdbc.password}" /&
&property name="maxActive" value="${jdbc.maxActive}" /&
&property name="maxIdle" value="${jdbc.maxIdle}" /&
&property name="maxWait" value="${jdbc.maxWait}" /&
&property name="defaultAutoCommit" value="${jdbc.defaultAutoCommit}" /&
&bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&
&property name="dataSource"&
&ref bean="dataSource" /&
&/property&
&property name="hibernateProperties"&
&prop key="hibernate.dialect"&${hibernate.dialect}&/prop&
&prop key="hibernate.show_sql"&${hibernate.show_sql}&/prop&
&prop key="hibernate.format_sql"&${hibernate.format_sql}&/prop&
&prop key="hibernate.use_outer_join"&true&/prop&
&prop key="hibernate.query.substitutions"&
true Y, false N
&/property&
&property name="mappingResources"&
&value&com/suziwen/model/Account.hbm.xml&/value&
&/property&
&property name="mappingResources"&&
&&&&&&&&&&& &list&&
&&&&&&&&&&& &value&com/suziwen/model/Account.hbm.xml&/value&&
&&&&&&&&&&& &/list&&
&&&&&&& &/property&&
这个东西是用XML方式来配置实体类的,那我现在用的是annotation的哲理该怎么配置
问题补充:myali88 写道
&bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"&
&property name="dataSource" ref="dataSource"/&
&property name="hibernateProperties"&
&prop key="hibernate.show_sql"&false&/prop&
&prop key="hibernate.dialect"&org.hibernate.dialect.SQLServer2005Dialect&/prop&
&prop key="hibernate.format_sql"&false&/prop&
&prop key="hibernate.use_sql_comments"&false&/prop&
&prop key="hibernate.connection.release_mode"&auto&/prop&
&prop key="hibernate.jdbc.batch_size"&0&/prop&
&prop key="hibernate.jdbc.fetch_size"&80&/prop&
&prop key="hibernate.cache.use_second_level_cache"&true&/prop&
&prop key="hibernate.cache.use_query_cache"&true&/prop&
&prop key="hibernate.cache.region.factory_class"&
net.sf.ehcache.hibernate.EhCacheRegionFactory
&!--&prop key="hibernate.cache.use_query_cache"&true&/prop&--&
&!--&prop key="hibernate.cache.use_query_cache"&false&/prop&
&prop key="hibernate.cache.use_second_level_cache"&false&/prop&--&
&/property&
&property name="packagesToScan"&
&value&com.realtech.mes.model&/value&
&/property&
&property name="mappingResources"&
&value&com/realtech/mes/hibernate/ApplicationListingQuery.hbm.xml&/value&
&/property&
采用类似于这样的配置,把sessionFactory换成AnnotationSessionFactoryBean
其他的还是你上面发的那样是把。。。好。。我试一试
问题补充:myali88 写道
&bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"&
&property name="dataSource" ref="dataSource"/&
&property name="hibernateProperties"&
&prop key="hibernate.show_sql"&false&/prop&
&prop key="hibernate.dialect"&org.hibernate.dialect.SQLServer2005Dialect&/prop&
&prop key="hibernate.format_sql"&false&/prop&
&prop key="hibernate.use_sql_comments"&false&/prop&
&prop key="hibernate.connection.release_mode"&auto&/prop&
&prop key="hibernate.jdbc.batch_size"&0&/prop&
&prop key="hibernate.jdbc.fetch_size"&80&/prop&
&prop key="hibernate.cache.use_second_level_cache"&true&/prop&
&prop key="hibernate.cache.use_query_cache"&true&/prop&
&prop key="hibernate.cache.region.factory_class"&
net.sf.ehcache.hibernate.EhCacheRegionFactory
&!--&prop key="hibernate.cache.use_query_cache"&true&/prop&--&
&!--&prop key="hibernate.cache.use_query_cache"&false&/prop&
&prop key="hibernate.cache.use_second_level_cache"&false&/prop&--&
&/property&
&property name="packagesToScan"&
&value&com.realtech.mes.model&/value&
&/property&
&property name="mappingResources"&
&value&com/realtech/mes/hibernate/ApplicationListingQuery.hbm.xml&/value&
&/property&
采用类似于这样的配置,把sessionFactory换成AnnotationSessionFactoryBean
照着做了还是不行。。。郁闷了。。。。。。。
问题补充:myali88 写道
&bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"&
&property name="dataSource" ref="dataSource"/&
&property name="hibernateProperties"&
&prop key="hibernate.show_sql"&false&/prop&
&prop key="hibernate.dialect"&org.hibernate.dialect.SQLServer2005Dialect&/prop&
&prop key="hibernate.format_sql"&false&/prop&
&prop key="hibernate.use_sql_comments"&false&/prop&
&prop key="hibernate.connection.release_mode"&auto&/prop&
&prop key="hibernate.jdbc.batch_size"&0&/prop&
&prop key="hibernate.jdbc.fetch_size"&80&/prop&
&prop key="hibernate.cache.use_second_level_cache"&true&/prop&
&prop key="hibernate.cache.use_query_cache"&true&/prop&
&prop key="hibernate.cache.region.factory_class"&
net.sf.ehcache.hibernate.EhCacheRegionFactory
&!--&prop key="hibernate.cache.use_query_cache"&true&/prop&--&
&!--&prop key="hibernate.cache.use_query_cache"&false&/prop&
&prop key="hibernate.cache.use_second_level_cache"&false&/prop&--&
&/property&
&property name="packagesToScan"&
&value&com.realtech.mes.model&/value&
&/property&
&property name="mappingResources"&
&value&com/realtech/mes/hibernate/ApplicationListingQuery.hbm.xml&/value&
&/property&
采用类似于这样的配置,把sessionFactory换成AnnotationSessionFactoryBean
朋友你看这样行不,我把整个项目Email给你。。。。你说下你的EmailLocation
问题补充:gsdhaiji_cai 写道还是要把错误信息打印出来
后台是没报错的。。
页面错误如下
Struts Problem Report
Struts has detected an unhandled exception:
Messages:&
File: com/lion/king/action/animal/AnimalAction.java
Line number: 78
--------------------------------------------------------------------------------
Stacktraces
java.lang.NullPointerException
&&& com.lion.king.action.animal.AnimalAction.select(AnimalAction.java:78)
&&& sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&&& sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
&&& sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
&&& java.lang.reflect.Method.invoke(Method.java:597)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
&&& com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
&&& com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
&&& org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
&&& com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
&&& com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
&&& com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)
&&& com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
&&& com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
&&& org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
&&& org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
&&& org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
&&& org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
&&& org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
&&& org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&&& org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
&&& org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
&&& org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
&&& org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
&&& org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
&&& org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
&&& org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
&&& org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
&&& org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
&&& java.lang.Thread.run(Thread.java:619)
&&&
--------------------------------------------------------------------------------
You are seeing this page because development mode is enabled. Development mode, or devMode, enables extra debugging behaviors and reports to assist developers. To disable this mode, set:
& struts.devMode=false
in your WEB-INF/classes/struts.properties file.
就是action中被执行的那个方法调用service的时候 出现的空指针错误
原因是action中有一个service的变量 然而这个变量没有被初始化
问题补充:gsdhaiji_cai 写道真看不出来哪里错误,希望lz查出原因后,说明下原因,分享下,谢谢!
gsdhaiji_cai 写道真看不出来哪里错误,希望lz查出原因后,说明下原因,分享下,谢谢!
分享一是一贯做法。
问题补充:gsdhaiji_cai 写道[code="java"
service这个
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd"&
&beans&
&bean id="animalService"& class="com.lion.king.service.animal.AnimalServiceImpl" autowire="byName"&//这里加了autowire="byName"根据名称来注入,action那边也一样,试试看
&property name="adi"&
&ref& bean="animalDAO"/&
&/property&
&/bean&
&/beans&
]
你这个方法试一试了 还是抱空指针错误。
问题补充:myali88 写道我把数据库替换,试了一下,没什么问题,项目能跑起来。
不会吧。。。。我的sessionfactory 配置应该没出什么错啊。。。。。对应的表也已经在数据库中生成。。。因为我是在实验室。。这里的Oracle是9I。。。。。我自己机器上的是11G。。。。难道是9I版本过低造成的?? 不能把。。。。你把你现在改了数据库配置的那个项目Email给我行么。。。我在你能跑的那个项目身上来改一改试一试看行不行。。。。
问题补充:gsdhaiji_cai 写道给myali88 赞一个! 终于解决了吧。。hoho
虽然他解决了。。但是照成在我这里无法跑起来的缘故是什么我还没拿到他发过来的东西。。我也没多少头绪。。。。虽然我的数据库是Oracle& 9i& 。。。。。还是等下等他的回复。。。。首先赞一个。。
问题补充:myali88 写道日志都打印出来了吧?有错误吗?贴出来看看
这个是爆出来的错
Using dialect: org.hibernate.dialect.Oracle9iDialect
Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
Transaction strategy: org.springframework.orm.hibernate3.SpringTransactionFactory
No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
Automatic flush during beforeCompletion(): disabled
Automatic session close at end of transaction: disabled
JDBC batch size: 15
JDBC batch updates for versioned data: disabled
Scrollable result sets: enabled
Wrap result sets: disabled
JDBC3 getGeneratedKeys(): disabled
Connection release mode: auto
Default batch fetch size: 1
Generate SQL with comments: disabled
Order SQL updates by primary key: disabled
Order SQL inserts for batching: disabled
Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
Using ASTQueryTranslatorFactory
Query language substitutions: {}
JPA-QL strict compliance: disabled
Second-level cache: enabled
Query cache: disabled
Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge
Cache provider: org.hibernate.cache.NoCacheProvider
Optimize cache for minimal puts: disabled
Structured second-level cache entries: disabled
Echoing all SQL to stdout
Statistics: disabled
Deleted entity synthetic identifier rollback: disabled
Default entity-mode: pojo
Named query checking : enabled
Check Nullability in Core (should be disabled when Bean Validation is on): enabled
building session factory
Statistics initialized [enabled=false]}
Session factory constructed with filter configurations : {}
instantiating session factory with properties: {java.vendor=Sun Microsystems Inc., sun.java.launcher=SUN_STANDARD, catalina.base=D:\apache-tomcat-6.0.20, piler=HotSpot Client Compiler, catalina.useNaming=true, os.name=Windows XP, sun.boot.class.path=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\resources.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\rt.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\sunrsasign.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\jsse.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\jce.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\charsets.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\classes, hibernate.current_session_context_class=thread, sun.desktop=windows, java.vm.specification.vendor=Sun Microsystems Inc., java.runtime.version=1.6.0_13-b03, hibernate.cache.provider_class=org.hibernate.cache.NoCacheProvider, user.name=Administrator, shared.loader=, tomcat.util.buf.StringCache.byte.enabled=true, user.language=zh, java.naming.factory.initial=org.apache.naming.java.javaURLContextFactory, sun.boot.library.path=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\bin, sun.io.useCanonCaches=false, java.version=1.6.0_13, user.timezone=Asia/Shanghai, sun.arch.data.model=32, java.endorsed.dirs=D:\apache-tomcat-6.0.20/common/endorsed, sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86, sun.jnu.encoding=GBK, file.encoding.pkg=sun.io, package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans., file.separator=\, java.specification.name=Java Platform API Specification, hibernate.format_sql=true, java.class.version=50.0, user.country=CN, java.home=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre, =mixed mode, os.version=5.1, hibernate.transaction.factory_class=org.springframework.orm.hibernate3.SpringTransactionFactory, path.separator=;, java.vm.version=11.3-b02, user.variant=, java.awt.printerjob=sun.awt.windows.WPrinterJob, sun.io.unicode.encoding=UnicodeLittle, awt.toolkit=sun.awt.windows.WToolkit, package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper., java.naming.factory.url.pkgs=org.apache.naming, user.home=C:\Documents and Settings\Administrator, java.specification.vendor=Sun Microsystems Inc., hibernate.hbm2ddl.auto=update, java.library.path=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\D:\apache-tomcat-6.0.20\bin, java.vendor.url=/, java.vm.vendor=Sun Microsystems Inc., hibernate.dialect=org.hibernate.dialect.Oracle9iDialect, common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar, java.runtime.name=Java(TM) SE Runtime Environment, java.class.path=D:\apache-tomcat-6.0.20/bin/bootstrap.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013/lib/tools.jar, hibernate.bytecode.use_reflection_optimizer=false, java.vm.specification.name=Java Virtual Machine Specification, java.vm.specification.version=1.0, catalina.home=D:\apache-tomcat-6.0.20, sun.cpu.endian=little, sun.os.patch.level=Service Pack 3, hibernate.connection.provider_class=org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider, java.io.tmpdir=D:\apache-tomcat-6.0.20\temp, java.vendor.url.bug=/cgi-bin/bugreport.cgi, server.loader=, os.arch=x86, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, java.ext.dirs=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\C:\WINDOWS\Sun\Java\lib\ext, user.dir=D:\apache-tomcat-6.0.20\bin, line.separator=
, java.vm.name=Java HotSpot(TM) Client VM, file.encoding=GBK, java.specification.version=1.6, hibernate.connection.pool_size=10, hibernate.show_sql=true}
Setting dialect [org.hibernate.dialect.Oracle9iDialect]
Static SQL for entity: com.lion.king.model.animal.Animal
Version select: select id from t_Animal where id =?
Snapshot select: select animal_.id, animal_.descript as descript0_, animal_.name as name0_, animal_.sex as sex0_ from t_Animal animal_ where animal_.id=?
Insert 0: insert into t_Animal (descript, name, sex, id) values (?, ?, ?, ?)
Update 0: update t_Animal set descript=?, name=?, sex=? where id=?
Delete 0: delete from t_Animal where id=?
问题补充:suziwen 写道没收到你的项目?
看一下你的STRUTS的配置文件,和那个空指针的BEAN的配置文件贴一下
重新配置了log4j.properties文件后 启动服务器tomcat的时候出现如下错误
Using dialect: org.hibernate.dialect.Oracle9iDialect
Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
Transaction strategy: org.springframework.orm.hibernate3.SpringTransactionFactory
No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
Automatic flush during beforeCompletion(): disabled
Automatic session close at end of transaction: disabled
JDBC batch size: 15
JDBC batch updates for versioned data: disabled
Scrollable result sets: enabled
Wrap result sets: disabled
JDBC3 getGeneratedKeys(): disabled
Connection release mode: auto
Default batch fetch size: 1
Generate SQL with comments: disabled
Order SQL updates by primary key: disabled
Order SQL inserts for batching: disabled
Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
Using ASTQueryTranslatorFactory
Query language substitutions: {}
JPA-QL strict compliance: disabled
Second-level cache: enabled
Query cache: disabled
Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge
Cache provider: org.hibernate.cache.NoCacheProvider
Optimize cache for minimal puts: disabled
Structured second-level cache entries: disabled
Echoing all SQL to stdout
Statistics: disabled
Deleted entity synthetic identifier rollback: disabled
Default entity-mode: pojo
Named query checking : enabled
Check Nullability in Core (should be disabled when Bean Validation is on): enabled
building session factory
Statistics initialized [enabled=false]}
Session factory constructed with filter configurations : {}
instantiating session factory with properties: {java.vendor=Sun Microsystems Inc., sun.java.launcher=SUN_STANDARD, catalina.base=D:\apache-tomcat-6.0.20, piler=HotSpot Client Compiler, catalina.useNaming=true, os.name=Windows XP, sun.boot.class.path=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\resources.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\rt.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\sunrsasign.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\jsse.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\jce.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\charsets.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\classes, hibernate.current_session_context_class=thread, sun.desktop=windows, java.vm.specification.vendor=Sun Microsystems Inc., java.runtime.version=1.6.0_13-b03, hibernate.cache.provider_class=org.hibernate.cache.NoCacheProvider, user.name=Administrator, shared.loader=, tomcat.util.buf.StringCache.byte.enabled=true, user.language=zh, java.naming.factory.initial=org.apache.naming.java.javaURLContextFactory, sun.boot.library.path=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\bin, sun.io.useCanonCaches=false, java.version=1.6.0_13, user.timezone=Asia/Shanghai, sun.arch.data.model=32, java.endorsed.dirs=D:\apache-tomcat-6.0.20/common/endorsed, sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86, sun.jnu.encoding=GBK, file.encoding.pkg=sun.io, package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans., file.separator=\, java.specification.name=Java Platform API Specification, hibernate.format_sql=true, java.class.version=50.0, user.country=CN, java.home=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre, =mixed mode, os.version=5.1, hibernate.transaction.factory_class=org.springframework.orm.hibernate3.SpringTransactionFactory, path.separator=;, java.vm.version=11.3-b02, user.variant=, java.awt.printerjob=sun.awt.windows.WPrinterJob, sun.io.unicode.encoding=UnicodeLittle, awt.toolkit=sun.awt.windows.WToolkit, package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper., java.naming.factory.url.pkgs=org.apache.naming, user.home=C:\Documents and Settings\Administrator, java.specification.vendor=Sun Microsystems Inc., hibernate.hbm2ddl.auto=update, java.library.path=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\D:\apache-tomcat-6.0.20\bin, java.vendor.url=/, java.vm.vendor=Sun Microsystems Inc., hibernate.dialect=org.hibernate.dialect.Oracle9iDialect, common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar, java.runtime.name=Java(TM) SE Runtime Environment, java.class.path=D:\apache-tomcat-6.0.20/bin/bootstrap.C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013/lib/tools.jar, hibernate.bytecode.use_reflection_optimizer=false, java.vm.specification.name=Java Virtual Machine Specification, java.vm.specification.version=1.0, catalina.home=D:\apache-tomcat-6.0.20, sun.cpu.endian=little, sun.os.patch.level=Service Pack 3, hibernate.connection.provider_class=org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider, java.io.tmpdir=D:\apache-tomcat-6.0.20\temp, java.vendor.url.bug=/cgi-bin/bugreport.cgi, server.loader=, os.arch=x86, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, java.ext.dirs=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\C:\WINDOWS\Sun\Java\lib\ext, user.dir=D:\apache-tomcat-6.0.20\bin, line.separator=
, java.vm.name=Java HotSpot(TM) Client VM, file.encoding=GBK, java.specification.version=1.6, hibernate.connection.pool_size=10, hibernate.show_sql=true}
Setting dialect [org.hibernate.dialect.Oracle9iDialect]
Setting dialect [org.hibernate.dialect.Oracle9iDialect]
Static SQL for entity: com.lion.king.model.animal.Animal
Version select: select id from t_Animal where id =?
Snapshot select: select animal_.id, animal_.descript as descript0_, animal_.name as name0_, animal_.role_id as role5_0_, animal_.sex as sex0_ from t_Animal animal_ where animal_.id=?
Insert 0: insert into t_Animal (descript, name, role_id, sex, id) values (?, ?, ?, ?, ?)
Update 0: update t_Animal set descript=?, name=?, role_id=?, sex=? where id=?
Delete 0: delete from t_Animal where id=?
Static SQL for entity: com.lion.king.model.animal.Role
Version select: select id from t_Role where id =?
Snapshot select: select role_.id, role_.name as name1_, role_.roleDescript as roleDesc3_1_ from t_Role role_ where role_.id=?
Insert 0: insert into t_Role (name, roleDescript, id) values (?, ?, ?)
Update 0: update t_Role set name=?, roleDescript=? where id=?
Delete 0: delete from t_Role where id=?
我把项目跑起来后,报的空指针错误如下&
页面的
Struts Problem Report
Struts has detected an unhandled exception:
Messages:&
File: com/lion/king/action/animal/AnimalAction.java
Line number: 78
--------------------------------------------------------------------------------
Stacktraces
java.lang.NullPointerException
&&& com.lion.king.action.animal.AnimalAction.select(AnimalAction.java:78)
后台的
ognl.MethodFailedException: Method "setId" failed for object com.lion.king.model.animal.Animal@710087 [java.lang.NoSuchMethodException: com.lion.king.model.animal.Animal.setId([Ljava.lang.S)]
Caused by: java.lang.NoSuchMethodException: com.lion.king.model.animal.Animal.setId([Ljava.lang.S)
java.lang.NoSuchMethodException: com.lion.king.model.animal.Animal.setId([Ljava.lang.S)
他说没有setId(String ) 这个方法 ,但是我的ID 是LONG的 。。他为什么这么报错。。晕死
问题补充:myali88 写道引用
java.lang.NoSuchMethodException: com.lion.king.model.animal.Animal.setId([Ljava.lang.S)
他说没有setId(String ) 这个方法 ,但是我的ID 是LONG的 。。他为什么这么报错。。晕死
可能你页面提交的id参数不是数字,而是字符,导致struts去查找id为String的set方法。检查一下页面。
不对啊。。。。。。。他应该会自动转类型才对。。。。我不用spring的配置文件帮我管理对象,而自己NEW的话。。事可以实现的。。而且同样是可以通过action 拿到前台传过来的STRING 参数,一样会自动转型为我set方法的参数类型
问题补充:myali88 写道引用
不对啊。。。。。。。他应该会自动转类型才对。。。。
我是指提交参数无法转化成Long,比如id值为“abc”
引用而自己NEW的话
具体怎么个new的方式?
因为我的程序结构是这样的,.....action里面有service。。。service里面有DAO。。。所以我都是在各自的构造方法中NEW相应的成员变量。。。。。
我发现一个问题。。不知道是不是导致出现我五服务器不解析SPRING配置文件的原因。
是这样的。。。。我看我同学他的能初始化。。。他的struts配置的action是这样的。。。。
&action name ="*_*" class="这里写的是spring配置文件里面的BEAN名字"& method="{2}" &
&result name="success"&/{1}Manager/{1}_{2}.jsp&/result&
&result name="error"&& /{1}Manager/error.jsp&/result&
而我自己new& 是这样的。
&action name ="*_*" class="com.lion.king.action.animal.{1}Action"& method="{2}" &
&result name="success"&/{1}Manager/{1}_{2}.jsp&/result&
&result name="error"&& /{1}Manager/error.jsp&/result&
问题是不是出在这里。。。我等下就试一试。。。。。
还想问下朋友你一个问题。。。。WEB上如何实现消息的发送与接收。。现在我做的东西有这样一个需求。。就是员工提交请假单,或者报表,或者是通知,给其他人或者是他的上司,如果他的上司在线就立刻收到,并且能对其作出审核或者其他的操作。 如果不在线,那就应该是他上线的时候,就能看到他收到的东西。。我该如何实现。。。。。是集成第三方的消息系统。还是自己写一个出来(我偏向于自己写一个,能更好的锻炼) ,如果是集成第三方,我该怎么做。。如果自己写。。我该怎么做。。。。。。
问题补充:myali88 写道引用
还想问下朋友你一个问题。。。。WEB上如何实现消息的发送与接收。。现在我做的东西有这样一个需求。。就是员工提交请假单,或者报表,或者是通知,给其他人或者是他的上司,如果他的上司在线就立刻收到,并且能对其作出审核或者其他的操作。 如果不在线,那就应该是他上线的时候,就能看到他收到的东西。。我该如何实现。。。。。是集成第三方的消息系统。还是自己写一个出来(我偏向于自己写一个,能更好的锻炼) ,如果是集成第三方,我该怎么做。。如果自己写。。我该怎么做。。。。。。
这种情况可以使用消息队列,比如activeMQ等。
能具体点么。。。。。你这个概述太抽象。 。。。。。。
问题补充:myali88 写道引用
能具体点么。。。。。你这个概述太抽象。 。。。。。。
JMS,听过没?ActiveMQ就是JMS的一个实现,消息系统很好的把同步操作异步话,增加了系统的伸缩性。
就这里而言,让发送方向某个消息队列添加消息,消息的内容自然就是你的业务信息,比如什么请假单,而接收方监听该队列(登录的用户才加入该队列),这样在线用户就能收到发送方的消息,而不在线的用户采用消息的持久化保存到数据库,等登录时再查询。
具体的实现细节,你需要去看看JMS相关的内容,和ActiveMQ
谢谢。。。这个问题我了解了。。。也已经下载了5.5 。。。。正在看。。。。。。。。贴我现不结。。。SSH那个初始化的问题。。还是调试中。。等有了结果。。。。然后再结
问题补充:myali88 写道我看了一下你的Action在spring中的配置,确实有问题:
&bean id="animalAction"
class="com.lion.king.action.animal.AnimalAction"&
&property name="as"&
bean="animalService"/&
&/property&
这里没有指定action以“prototype”形式创建,struts2与struts1一个很大的不同是,每次请求都会产生新的action实例,所以action不存在多线程问题。
他默认的不是以& prototype& 形式创建么??& 我先指定一下试一试。。。除了action。。。其他如。。service ,DAO ,也需要指定还是就action需要指定。?
问题补充:myali88 写道引用
他默认的不是以& prototype& 形式创建么??& 我先指定一下试一试。。。除了action。。。其他如。。service ,DAO ,也需要指定还是就action需要指定。?
童鞋,你是新手吧?spring默认创建bean是以singleton的方式完成的,像action这样的需要指定scope为“prototype”来创建,其他service,dao不需要,以默认形式创建就好了。
之所以会出现NoSuchMethodException是因为你把Animal里面的id声明为long,这样如果你查询页面提交的id参数不是数字就会出现问题,所以最好声明为Long。
我先试一试。。。嘻嘻。。。我刚才Google的时候也看到类似的。错误解决。
问题补充:myali88 写道老兄,你要么就再开个帖子,这都滚动了几屏了,看起来很累呀!
你的帮助有回报了。。。。我也有回报了。。。。。哈哈。。。。可以结贴了。。。
问题解决了
问题补充:myali88 写道老兄,你要么就再开个帖子,这都滚动了几屏了,看起来很累呀!
出现BEAN初始化失败,导致的NullPointerException&
原因如下
Spring容器最初提供了两种bean的scope类型:singleton和prototype,但发布2.0以后,又引入了另外三种scope类型:request、session和global session,这三种只能在web 应用中才可以使用。
singleton: Spring 容器只会创建该bean定义的唯一实例,这个实例会被保存到缓存中,并且对该bean的所有后续请求和引用都将返回该缓存中的对象实例,一般情况下,无状态的bean使用该scope。(struts1应该用这个)
prototype:每次对该bean的请求都会创建一个新的实例,一般情况下,有状态的bean使用该scope。(struts2是多粒的,应该用这个)
request:每次http请求将会有各自的bean实例,类似于prototype。
(试了一试也可以用在action上面,不过喜欢用上面的,也就不用这个了)
session:在一个http session中,一个bean定义对应一个bean实例。
(顾名思义session级别的)
global session:在一个全局的http session中,一个bean定义对应一个bean实例。典型情况下,仅在使用portlet context的时候有效。
(这个目前没看到多少人用)
以上是个人经过这次搭建环境出现的问题,而找到的问题与解决办法。。。。。希望能帮到那些和我一样的新童鞋
采纳的答案
引用
他默认的不是以& prototype& 形式创建么??& 我先指定一下试一试。。。除了action。。。其他如。。service ,DAO ,也需要指定还是就action需要指定。?
童鞋,你是新手吧?spring默认创建bean是以singleton的方式完成的,像action这样的需要指定scope为“prototype”来创建,其他service,dao不需要,以默认形式创建就好了。
之所以会出现NoSuchMethodException是因为你把Animal里面的id声明为long,这样如果你查询页面提交的id参数不是数字就会出现问题,所以最好声明为Long。
老兄,你要么就再开个帖子,这都滚动了几屏了,看起来很累呀!
我看了一下你的Action在spring中的配置,确实有问题:
&bean id="animalAction"
class="com.lion.king.action.animal.AnimalAction"&
&property name="as"&
bean="animalService"/&
&/property&
这里没有指定action以“prototype”形式创建,struts2与struts1一个很大的不同是,每次请求都会产生新的action实例,所以action不存在多线程问题。
引用
能具体点么。。。。。你这个概述太抽象。 。。。。。。
JMS,听过没?ActiveMQ就是JMS的一个实现,消息系统很好的把同步操作异步话,增加了系统的伸缩性。
就这里而言,让发送方向某个消息队列添加消息,消息的内容自然就是你的业务信息,比如什么请假单,而接收方监听该队列(登录的用户才加入该队列),这样在线用户就能收到发送方的消息,而不在线的用户采用消息的持久化保存到数据库,等登录时再查询。
具体的实现细节,你需要去看看JMS相关的内容,和ActiveMQ
引用
还想问下朋友你一个问题。。。。WEB上如何实现消息的发送与接收。。现在我做的东西有这样一个需求。。就是员工提交请假单,或者报表,或者是通知,给其他人或者是他的上司,如果他的上司在线就立刻收到,并且能对其作出审核或者其他的操作。 如果不在线,那就应该是他上线的时候,就能看到他收到的东西。。我该如何实现。。。。。是集成第三方的消息系统。还是自己写一个出来(我偏向于自己写一个,能更好的锻炼) ,如果是集成第三方,我该怎么做。。如果自己写。。我该怎么做。。。。。。
这种情况可以使用消息队列,比如activeMQ等。
引用
不对啊。。。。。。。他应该会自动转类型才对。。。。
我是指提交参数无法转化成Long,比如id值为“abc”
引用而自己NEW的话
具体怎么个new的方式?
引用
java.lang.NoSuchMethodException: com.lion.king.model.animal.Animal.setId([Ljava.lang.S)
他说没有setId(String ) 这个方法 ,但是我的ID 是LONG的 。。他为什么这么报错。。晕死
可能你页面提交的id参数不是数字,而是字符,导致struts去查找id为String的set方法。检查一下页面。
STRUTS的配置文件,和那个空指针的BEAN的配置CONTEXT.XML文件贴一下
前台输入当作string类型,struts2封装的时候会转换,但是如果转换不成功,就会出现类似错误。
没收到你的项目?
看一下你的STRUTS的配置文件,和那个空指针的BEAN的配置文件贴一下
日志都打印出来了吧?有错误吗?贴出来看看
给myali88 赞一个! 终于解决了吧。。hoho
我把数据库替换,试了一下,没什么问题,项目能跑起来。
没有日志的原因还是你配置错误,你把log4j.properties内容改成:
log4j.rootLogger=WARN,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.logger.org.hibernate=debug
logger.org.springframework=DEBUG
### log HQL query parser activity
log4j.logger.org.hibernate.hql.ast.AST=debug
### log just the SQL
log4j.logger.org.hibernate.SQL=CONSOLE
### log JDBC bind parameters ###
#log4j.logger.org.hibernate.type=info
#log4j.logger.org.hibernate.type=debug
### log schema export/update ###
log4j.logger.org.hibernate.tool.hbm2ddl=debug
### log HQL parse trees
log4j.logger.org.hibernate.hql=debug
### log cache activity ###
#log4j.logger.org.hibernate.cache=debug
### log transaction activity
#log4j.logger.org.hibernate.transaction=debug
### log JDBC resource acquisition
#log4j.logger.org.hibernate.jdbc=debug
### enable the following line if you want to track down connection ###
### leakages when using DriverManagerConnectionProvider ###
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
这样就有了,关键在于你的“log4j.rootLogger”配置不对
真看不出来哪里错误,希望lz查出原因后,说明下原因,分享下,谢谢!
[code="java"
service这个
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd"&
&beans&
&bean id="animalService"& class="com.lion.king.service.animal.AnimalServiceImpl" autowire="byName"&//这里加了autowire="byName"根据名称来注入,action那边也一样,试试看
&property name="adi"&
&ref& bean="animalDAO"/&
&/property&
&/bean&
&/beans&
]
也发个给我看看
我的Email:
还是要把错误信息打印出来
&bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"&
&property name="dataSource" ref="dataSource"/&
&property name="hibernateProperties"&
&prop key="hibernate.show_sql"&false&/prop&
&prop key="hibernate.dialect"&org.hibernate.dialect.SQLServer2005Dialect&/prop&
&prop key="hibernate.format_sql"&false&/prop&
&prop key="hibernate.use_sql_comments"&false&/prop&
&prop key="hibernate.connection.release_mode"&auto&/prop&
&prop key="hibernate.jdbc.batch_size"&0&/prop&
&prop key="hibernate.jdbc.fetch_size"&80&/prop&
&prop key="hibernate.cache.use_second_level_cache"&true&/prop&
&prop key="hibernate.cache.use_query_cache"&true&/prop&
&prop key="hibernate.cache.region.factory_class"&
net.sf.ehcache.hibernate.EhCacheRegionFactory
&!--&prop key="hibernate.cache.use_query_cache"&true&/prop&--&
&!--&prop key="hibernate.cache.use_query_cache"&false&/prop&
&prop key="hibernate.cache.use_second_level_cache"&false&/prop&--&
&/property&
&property name="packagesToScan"&
&value&com.realtech.mes.model&/value&
&/property&
&property name="mappingResources"&
&value&com/realtech/mes/hibernate/ApplicationListingQuery.hbm.xml&/value&
&/property&
采用类似于这样的配置,把sessionFactory换成AnnotationSessionFactoryBean
你不用HIBERANTE默认的配置方式,用这个试试
&bean id="dataSource"
class="mons.dbcp.BasicDataSource" &
&property name="driverClassName"
value="${jdbc.driverClassName}" /&
&property name="url" value="${jdbc.url}" /&
&property name="username" value="${jdbc.username}" /&
&property name="password" value="${jdbc.password}" /&
&property name="maxActive" value="${jdbc.maxActive}" /&
&property name="maxIdle" value="${jdbc.maxIdle}" /&
&property name="maxWait" value="${jdbc.maxWait}" /&
&property name="defaultAutoCommit" value="${jdbc.defaultAutoCommit}" /&
&bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&
&property name="dataSource"&
&ref bean="dataSource" /&
&/property&
&property name="hibernateProperties"&
&prop key="hibernate.dialect"&${hibernate.dialect}&/prop&
&prop key="hibernate.show_sql"&${hibernate.show_sql}&/prop&
&prop key="hibernate.format_sql"&${hibernate.format_sql}&/prop&
&prop key="hibernate.use_outer_join"&true&/prop&
&prop key="hibernate.query.substitutions"&
true Y, false N
&/property&
&property name="mappingResources"&
&value&com/suziwen/model/Account.hbm.xml&/value&
&/property&
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
### direct messages to file hibernate.log ###
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=WARN
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.logger.org.hibernate=debug
logger.org.springframework=DEBUG
### log HQL query parser activity
log4j.logger.org.hibernate.hql.ast.AST=debug
### log just the SQL
log4j.logger.org.hibernate.SQL=CONSOLE
### log JDBC bind parameters ###
#log4j.logger.org.hibernate.type=info
#log4j.logger.org.hibernate.type=debug
### log schema export/update ###
log4j.logger.org.hibernate.tool.hbm2ddl=debug
### log HQL parse trees
log4j.logger.org.hibernate.hql=debug
### log cache activity ###
#log4j.logger.org.hibernate.cache=debug
### log transaction activity
#log4j.logger.org.hibernate.transaction=debug
### log JDBC resource acquisition
#log4j.logger.org.hibernate.jdbc=debug
### enable the following line if you want to track down connection ###
### leakages when using DriverManagerConnectionProvider ###
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
这里面写错了,我说的只是类似的写法,具体的要看你用什么日志框架。你需要把“logger.org.springframework=DEBUG”改成和其他的类似:
log4j.logger.org.springframework=debug
这样应该就可以了。
这样,。
log4j的包加了没?把你的log4j配置贴出来看看。
信息: Initializing Spring root WebApplicationContext
这一句已经说明你的org.springframework.web.context.ContextLoaderListener在初始化spring了
log4j:WARN No appenders could be found for logger (org.hibernate.type.BasicTypeRegistry).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
这里说明还是log4j日志没设置好。参考一下
把rootLogger的级别设置WARN,spring的级别设置DEBUG,其他包不需要显示那么详细的日志。
引用
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
就出现了这个,任然没出现解析spring配置文件的信息。。。。
似乎你log4j都没配置好。在classpath里面需要log4j.properties:
log4j.rootLogger=WARN, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.logger.org.springframework=DEBUG
需要类似这样的配置。
在log4j里面配置:logger.org.springframework=DEBUG
myali88建议不错。。先把日志打印出来,看看初始化过程
把spring相关包的日志级别降低到DEBUG,就能看看spring的初始化过程了。
&bean id="dataSource" class="com.mchange.boPooledDataSource"
destroy-method="close"&
&property name="driverClass" value="${db.driverClassName}" /&
&bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"&
&property name="dataSource"&
&ref bean="dataSource" /&
&/property&
&property name="hibernateProperties"&
&prop key="hibernate.dialect"&
你这种方式试试
我想先确认的SPRING.XML是否被初始化到
你随便定义一个bean,让这个bean实现InitializingBean接口

afterPropertiesSet
方法里随便打印一信息来确定spring.xml是否初始化到先
&import resource="classpath:applicationConfiguration-action.xml" /&
&import resource="classpath:applicationConfiguration-service.xml" /&
&import resource="classpath:applicationConfiguration-dao.xml" /&
&import resource="classpath:applicationConfiguration-model.xml" /&
把这些删除掉,试试,好像重复了
你的context.xml文件的文件名是什么,及放置的路径打出来看看
context.xml改成
classpath:applicationConfiguration*.xml这个规则
感觉程序没读到你的SPRING的配置文件啊
项目启动时打到控制台的信息能贴出来看看吗
或者启动日志
&import resource="classpath:applicationConfiguration-action.xml" /&
&import resource="classpath:applicationConfiguration-service.xml" /&
&import resource="classpath:applicationConfiguration-dao.xml" /&
&import resource="classpath:applicationConfiguration-model.xml" /&
这几个文件呢?上传看看
web.xml的配置贴出来看看
已解决问题
未解决问题}

我要回帖

更多关于 mysql join 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信