Struts2,Hibernate整合,tomcat启动出错

echola_2020 2011-04-12 05:57:22
2011-4-12 17:51:23 org.apache.catalina.core.AprLifecycleListener init
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Program Files\Myeclipse\binary\com.sun.java.jdk.win32.x86_1.6.0.013\bin;D:\Program Files\Myeclipse\plugins\com.genuitec.eclipse.easie.tomcat.myeclipse_7.9.100.zmyeclipse80020090924a\tomcat\bin
2011-4-12 17:51:23 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2011-4-12 17:51:23 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 609 ms
2011-4-12 17:51:23 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2011-4-12 17:51:23 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.13
17:51:26,607 FATAL org.apache.struts2.spring.StrutsSpringObjectFactory:89 - ********** FATAL ERROR STARTING UP STRUTS-SPRING INTEGRATION **********
Looks like the Spring listener was not configured for your web app!
Nothing will work until WebApplicationContextUtils returns a valid ApplicationContext.
You might need to add the following to web.xml:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
17:51:26,633 ERROR org.apache.struts2.dispatcher.Dispatcher:38 - Dispatcher initialization failed
java.lang.NullPointerException
at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:220)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyResultType(XmlConfigurationProvider.java:530)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addResultTypes(XmlConfigurationProvider.java:501)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:457)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:275)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2011-4-12 17:51:26 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
Class: com.opensymphony.xwork2.spring.SpringObjectFactory
File: SpringObjectFactory.java
Method: getClassInstance
Line: 220 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:428)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NullPointerException
at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:220)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyResultType(XmlConfigurationProvider.java:530)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addResultTypes(XmlConfigurationProvider.java:501)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:457)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:275)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
... 29 more
2011-4-12 17:51:26 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2011-4-12 17:51:26 org.apache.catalina.core.StandardContext start
严重: Context [/model4] startup failed due to previous errors
2011-4-12 17:51:27 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2011-4-12 17:51:27 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2011-4-12 17:51:27 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/24 config=null
2011-4-12 17:51:27 org.apache.catalina.startup.Catalina start
信息: Server startup in 3567 ms




什么问题啊?我用的myeclipse的tomcat;struts2包里面只有基本的6个jar包。
...全文
425 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
fy2005551306 2011-04-30
  • 打赏
  • 举报
回复
少了javassist-3.7.ga.jar吧
echola_2020 2011-04-13
  • 打赏
  • 举报
回复
我用的是注解:
----------------------------------------------------------------------------------
package cn.gss.gxlib.model;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Transient;

@Entity
public class Book {
private int bookId;
private String bookName;
private String author;
private String publisher;
private Date publishTime;
private String requestNumber;
private String bookAddr;
//
private int totalcount;
private int bookCirculateCount;

//private RefBook refBook ;



private Set<RefBook> refBooks = new HashSet<RefBook>();


@OneToMany
@JoinColumn(name="bookId")
public Set<RefBook> getRefBooks() {
return refBooks;
}

public void setRefBooks(Set<RefBook> refBooks) {
this.refBooks = refBooks;
}

public String getAuthor() {
return author;
}

public String getBookAddr() {
return bookAddr;
}

//不映射该属性
@Transient
public int getBookCirculateCount() {
return bookCirculateCount;
}

@Id
@GeneratedValue
public int getBookId() {
return bookId;
}

public String getBookName() {
return bookName;
}

public String getPublisher() {
return publisher;
}

public Date getPublishTime() {
return publishTime;
}


public String getRequestNumber() {
return requestNumber;
}

//不映射该属性
@Transient
public int getTotalcount() {
return totalcount;
}

public void setAuthor(String author) {
this.author = author;
}

public void setBookAddr(String bookAddr) {
this.bookAddr = bookAddr;
}

public void setBookCirculateCount(int bookCirculateCount) {
this.bookCirculateCount = bookCirculateCount;
}

public void setBookId(int bookId) {
this.bookId = bookId;
}

public void setBookName(String bookName) {
this.bookName = bookName;
}

public void setPublisher(String publisher) {
this.publisher = publisher;
}

public void setPublishTime(Date publishTime) {
this.publishTime = publishTime;
}

public void setRequestNumber(String requestNumber) {
this.requestNumber = requestNumber;
}

public void setTotalcount(int totalcount) {
this.totalcount = totalcount;
}
}
----------------------------------------------------------------------------------
package cn.gss.gxlib.model;


import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;

@Entity
public class RefBook {
private int bookSameId;
private String barCode;
private String statu;

public String getStatu() {
return statu;
}

public void setStatu(String statu) {
this.statu = statu;
}

@Id
@GeneratedValue
public int getBookSameId() {
return bookSameId;
}

public void setBookSameId(int bookSameId) {
this.bookSameId = bookSameId;
}

public String getBarCode() {
return barCode;
}

public void setBarCode(String barCode) {
this.barCode = barCode;
}

}
-------------------------------------------------------------------------------
echola_2020 2011-04-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zylzb 的回复:]
lz说没用spring,但我怀疑lz加了与spring相关的jar包了,lz,把你的jar包贴出来看一下吧
[/Quote]

这个是hibernate的xml,是不是这个有错误?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>

<!-- Database connection settings -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/gxlib2</property>
<property name="connection.username">root</property>
<property name="connection.password">6949453</property>

<!-- JDBC connection pool (use the built-in) -->
<!-- <property name="connection.pool_size">1</property>-->

<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>

<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>

<property name="format_sql">true</property>

<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">update</property>

<mapping class="cn.gss.gxlib.model.Book"/>
<mapping class="cn.gss.gxlib.model.RefBook"/>





</session-factory>

</hibernate-configuration>



chmicrosoft 2011-04-13
  • 打赏
  • 举报
回复
Looks like the Spring listener was not configured for your web app!
Nothing will work until WebApplicationContextUtils returns a valid ApplicationContext.
You might need to add the following to web.xml:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>


然后,将struts-spring-plugin.jar加入到项目的lib目录下,就可以了。struts-spring-plugin.jar中包含有整合所需要的struts-default.xml文件,其中就有<constant name="struts.objectFactory" value="spring" />语句。
wkcgy 2011-04-12
  • 打赏
  • 举报
回复
You might need to add the following to web.xml:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
兄弟,spring还没配置正确就,先别整合啦!!
kai27ks 2011-04-12
  • 打赏
  • 举报
回复
楼主。你是用的自动编译么?重新编译次再启动试试。报是报说SPRING配置问题 需要加
Looks like the Spring listener was not configured for your web app!
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Elim-Zhang 2011-04-12
  • 打赏
  • 举报
回复
lz说没用spring,但我怀疑lz加了与spring相关的jar包了,lz,把你的jar包贴出来看一下吧
echola_2020 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wang_huanming 的回复:]
web.xml有问题啊,如果加了监听器,肯定要报错的,你项目里面没有那个包吧
[/Quote]
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>这个是Struts的filter啊
echola_2020 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 layuan110 的回复:]
引用 3 楼 layuan110 的回复:
引用 2 楼 chengxx9 的回复:
You might need to add the following to web.xml:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</list……
[/Quote]
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
这个是Struts的filter啊
wang_huanming 2011-04-12
  • 打赏
  • 举报
回复
web.xml有问题啊,如果加了监听器,肯定要报错的,你项目里面没有那个包吧
echola_2020 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 layuan110 的回复:]
引用 2 楼 chengxx9 的回复:
You might need to add the following to web.xml:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
17:51:26,633 ERR……
[/Quote]
没有
这个是xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<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>



</web-app>
chengxx9 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 layuan110 的回复:]

引用 2 楼 chengxx9 的回复:
You might need to add the following to web.xml:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
17:51:26,633 ER……
[/Quote]
那就是你代码的问题咯。。总之就是报这个错误,自己好好检查一下吧!
  • 打赏
  • 举报
回复
检查struts2的struts.xml配置文件中是不是有<constant name="struts.objectFactory" value="spring" /> 或者struts.properties中是否有struts.objectFactory=spring
echola_2020 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chengxx9 的回复:]
You might need to add the following to web.xml:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
17:51:26,633 ERROR org.apache.s……
[/Quote]
项目里面不用Spring,也要加那个?
chengxx9 2011-04-12
  • 打赏
  • 举报
回复
You might need to add the following to web.xml:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
17:51:26,633 ERROR org.apache.struts2.dispatcher.Dispatcher:38 - Dispatcher initialization failed
java.lang.NullPointerException
很明显的问题啊。。
在你的web.xml文件中添加listener
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
xiaolong410 2011-04-12
  • 打赏
  • 举报
回复
压根没看明白.

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧