求解:java.lang.ClassNotFoundException: userBean

neujeff83 2010-06-21 09:59:15
困然一上午了 说什么都解决不了这个报错
用的Struts1+Ibatis框架 做个简单的例子,就报这样的错误 不知道哪里写错了

UserMap.xml
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap namespace="UesrBean">
<typeAlias alias="uesrBean" type="com.test.UserBean" />
<select id="showList" resultClass="userBean">
SELECT
UserId,
UserName
FROM
Users
</select>
</sqlMap>


sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true" enhancementEnabled="true"
lazyLoadingEnabled="true" maxRequests="32" maxSessions="10"
maxTransactions="5" useStatementNamespaces="false" />
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver" />
<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/test" />
<property name="JDBC.Username" value="root" />
<property name="JDBC.Password" value="123456" />
</dataSource>
</transactionManager>
<sqlMap resource="com/test/UserMap.xml" />
</sqlMapConfig>


报错如下:
2010-6-21 9:49:55 org.apache.struts.action.RequestProcessor processException
警告: Unhandled Exception thrown: class com.ibatis.common.exception.NestedRuntimeException
2010-6-21 9:49:55 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.ClassNotFoundException: userBean
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.ibatis.common.resources.Resources.classForName(Resources.java:244)
at com.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.parseGeneralStatement(SqlStatementParser.java:131)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser$22.process(SqlMapParser.java:534)
at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:112)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:75)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:93)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:63)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:51)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse(SqlMapParser.java:45)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$11.process(SqlMapConfigParser.java:347)
at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:112)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:75)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:93)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:63)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:51)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:78)
at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:62)
at com.test.TestAction.showList(TestAction.java:34)
at com.test.TestAction.execute(TestAction.java:25)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)

网页上报错如下:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: com.ibatis.common.exception.NestedRuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: com.ibatis.sqlmap.client.SqlMapException: Error. Could not set result class. Cause: java.lang.ClassNotFoundException: userBean
Caused by: java.lang.ClassNotFoundException: userBean
Caused by: com.ibatis.sqlmap.client.SqlMapException: Error. Could not set result class. Cause: java.lang.ClassNotFoundException: userBean
Caused by: java.lang.ClassNotFoundException: userBean
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: com.ibatis.sqlmap.client.SqlMapException: Error. Could not set result class. Cause: java.lang.ClassNotFoundException: userBean
Caused by: java.lang.ClassNotFoundException: userBean
Caused by: com.ibatis.sqlmap.client.SqlMapException: Error. Could not set result class. Cause: java.lang.ClassNotFoundException: userBean
Caused by: java.lang.ClassNotFoundException: userBean
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: com.ibatis.sqlmap.client.SqlMapException: Error. Could not set result class. Cause: java.lang.ClassNotFoundException: userBean
Caused by: java.lang.ClassNotFoundException: userBean
Caused by: com.ibatis.sqlmap.client.SqlMapException: Error. Could not set result class. Cause: java.lang.ClassNotFoundException: userBean
Caused by: java.lang.ClassNotFoundException: userBean
......


...全文
554 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
neujeff83 2010-06-21
  • 打赏
  • 举报
回复
兄弟们 我找到错误了....
我自己找到错误了...
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap namespace="UesrBean">
<typeAlias alias="uesrBean" type="com.test.UserBean" />
<select id="showList" resultClass="userBean">
SELECT
UserId,
UserName
FROM
Users
</select>
</sqlMap>

仔细看 <typeAlias alias="uesrBean" type="com.test.UserBean" />
<select id="showList" resultClass="userBean">

显然一个是uesrBean 一个是userBean

感谢楼上各位的帮助...
neujeff83 2010-06-21
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap namespace="UesrBean">
<resultMap id="userBean" class="com.test.UserBean">
<result column="UserId" property="userId" jdbcType="INT" />
<result column="UserName" property="userName" jdbcType="VARCHAR" />
</resultMap>
<typeAlias alias="uesrBean" type="com.test.UserBean" />
<select id="showList" resultClass="userBean">
SELECT
UserId,
UserName
FROM
Users
</select>
</sqlMap>

改成这样依然报错:
javax.servlet.ServletException: com.ibatis.common.exception.NestedRuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: com.ibatis.sqlmap.client.SqlMapException: Error. Could not set result class. Cause: java.lang.ClassNotFoundException: userBean
Caused by: java.lang.ClassNotFoundException: userBean

错误提示都没变...
neujeff83 2010-06-21
  • 打赏
  • 举报
回复
1楼能不能说的详细点啊
property="lostRefNo"
这东西里面的属性填的是什么啊?
我把UserMap.xml改成这样了对吗?

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap namespace="UesrBean">
<resultMap id="userBean" class="com.test.UserBean">
<result column="UserId" property="" jdbcType="INT" />
<result column="UserName" property="" jdbcType="VARCHAR" />
</resultMap>
<typeAlias alias="uesrBean" type="com.test.UserBean" />
<select id="showList" resultClass="userBean">
SELECT
UserId,
UserName
FROM
Users
</select>
</sqlMap>
izard999 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ivorytower 的回复:]
引用楼主 neujeff83 的回复:
Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause:

……
[/Quote]
up
zw87804600 2010-06-21
  • 打赏
  • 举报
回复
我就是返回一个类可以啊 没碰到你这样的错
neujeff83 2010-06-21
  • 打赏
  • 举报
回复
这个resultMap写在sqlMapConfig里吗 还是UserMap里?
neujeff83 2010-06-21
  • 打赏
  • 举报
回复
package com.test;

public class UserBean {

private Integer userId;
private String userName;

public Integer getUserId() {
return userId;
}

public void setUserId(Integer userId) {
this.userId = userId;
}

public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

}

我的UserBean.java是这样写的
  • 打赏
  • 举报
回复
[Quote=引用楼主 neujeff83 的回复:]
Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause:
[/Quote]
xml错了。看了你的ibatis配置,还真晕。resultMap属于查询返回的属性列表。你应该定义一个id为“userBean”的resultMap出来,例如:
<resultMap id="userBean" class="com.xxx" >

<result column="UserId" property="lostRefNo" jdbcType="VARCHAR" />
<result column="UserName" property="lostRefNo" jdbcType="VARCHAR" />
<result column="FROM" property="lostRefNo" jdbcType="VARCHAR" />
<result column="Users" property="lostRefNo" jdbcType="VARCHAR" />
</resultMap>



--
好好找本ibatis的书看看。

81,092

社区成员

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

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