首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

给一百分帮解决上有关问题SSH框架+ORACLE的有关问题

2012-12-24 
给一百分帮解决下问题SSH框架+ORACLE的问题严重: Exception sending context initialized event to listen

给一百分帮解决下问题SSH框架+ORACLE的问题
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.PropertyNotFoundException: Could not find a getter for userId in class com.entity.User
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1403)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:545)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:871)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:272)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:196)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
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:526)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:987)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:909)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:495)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
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:583)
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: org.hibernate.PropertyNotFoundException: Could not find a getter for userId in class com.entity.User
at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:306)
at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:299)
at org.hibernate.tuple.PropertyFactory.getGetter(PropertyFactory.java:191)
at org.hibernate.tuple.PropertyFactory.buildIdentifierProperty(PropertyFactory.java:67)
at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:136)
at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:456)
at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:131)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:84)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:267)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1341)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:855)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:774)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1400)
... 36 more
2012-11-14 14:36:54 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2012-11-14 14:36:54 org.apache.catalina.core.StandardContext start
严重: Context [/HR] startup failed due to previous errors
2012-11-14 14:36:54 org.apache.catalina.core.ApplicationContext log
[最优解释]
com.entity.User类里面找不到getUserId方法
[其他解释]
applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@localhost:1521:orcl2</value>
</property>
<property name="username">
<value>sqy</value>
</property>
<property name="password">
<value>sqy</value>
</property>
</bean>
<!-- 注入SessionFactory,完成Hibernate与Spring的整合 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">


<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">
false
</prop>
<prop key="hibernate.dialect">
org.hibernate.dialect.OracleDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/entity/User.hbm.xml</value>
</list>
</property>
</bean> 

<bean id="userDao" class="com.dao.imp.UserDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="userAction" class="com.action.UserAction" >
<property name="userDao">
<ref bean="userDao" />
</property>
</bean>
</beans>
[其他解释]
web.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">
<display-name>Struts Blank</display-name>

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

  <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
  </welcome-file-list>
</web-app>

[其他解释]
struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.objectFactory" value="spring"/>
<include file="struts-default.xml"></include>
<constant name="struts.multipart.maxSize" value="10000000"/>
<package name="myoa" extends="struts-default">
       <!-- 使用通配符 -->
<action name="*User" class="userAction" method="{1}">
<result name="login_success">/index.jsp</result>
<result name="login_error">/login.jsp</result>
</action>
    </package> 
</struts>    

[其他解释]
UserAction.java


package com.action;
/**
 * 用户操作action
 */
import java.util.List;

import javax.servlet.http.HttpServletRequest;


import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;

import com.dao.imp.UserDao;
import com.entity.User;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport{
private String tip;
private User user;
private UserDao userDao;


public String getTip() {
return tip;
}

public void setTip(String tip) {
this.tip = tip;
}

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}

public UserDao getUserDao() {
return userDao;
}

public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}

/**
 * 用户登录
 */
public String login(){
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();

User u=userDao.doLogin(user.getU_Name(), user.getU_Password());
if(null!=u){
session.setAttribute("user", u);
return "login_success";
}else{
setTip("用户名或密码错误!");
return "login_error";
}
}
public String execute() throws Exception {
// TODO Auto-generated method stub
return null;
}

}

[其他解释]
UserDao.java 

package com.dao.imp;
/**
 * 用户操作接口类
 */

import java.util.List;

import com.entity.User;

public interface UserDao {

public User doLogin(String name, String password);
public Boolean doAdd(User user);
public User doUpdate(User user);
public List<User> doSelect();
public Boolean doAboutName(String oldName,String newName);
}


UserDaoImpl.java

package com.dao.imp;
/**
 * 用户操作实现类
 */
import java.util.Iterator;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

import com.dao.imp.UserDao;
import com.entity.User;
public class UserDaoImpl implements UserDao {

private SessionFactory sessionFactory;
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
//登录
public User doLogin(String name, String password) {
User user=null;
Session session = sessionFactory.openSession();
Transaction tx =null;
try {
String hql = "from User as user where user.U_Name="+name+" and user.userPassword='"+password+"'";
tx = session.beginTransaction();
Query query = session.createQuery(hql);
tx.commit();
Iterator it=query.list().iterator();


if(it.hasNext()){
user=(User)it.next();
}
} catch (HibernateException e) {
//如果代码出现异常,则回滚事务
if (tx != null){
tx.rollback();
return user;
}
e.printStackTrace();
}finally {
//关闭Session,释放资源
session.close();
}
return user;
}
public Boolean doAboutName(String oldName, String newName) {
// TODO Auto-generated method stub
return null;
}
public Boolean doAdd(User user) {
// TODO Auto-generated method stub
return null;
}
public List<User> doSelect() {
// TODO Auto-generated method stub
return null;
}
public User doUpdate(User user) {
// TODO Auto-generated method stub
return null;
}

}


[其他解释]
User 

package com.entity;

public class User {
private int U_Id;
private String U_Name;
private String U_Password;
public int getU_Id() {
return U_Id;
}
public void setU_Id(int U_Id) {
this.U_Id = U_Id;
}
public String getU_Name() {
return U_Name;
}
public void setU_Name(String U_Name) {
this.U_Name = U_Name;
}
public String getU_Password() {
return U_Password;
}
public void setU_Password(String U_Password) {
this.U_Password = U_Password;
}
}

User.hbm.xml


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="com.entity.User" table="USERS" dynamic-insert="true">
        <id name="userId" type="java.lang.Integer">
            <column name="USERID" precision="22" scale="0" />
            <generator class="assigned" />
        </id>
        <property name="userName" type="java.lang.String">
            <column name="USERNAME" length="50" />
        </property>
        <property name="userPassword" type="java.lang.String">
            <column name="USERPASSWORD" length="50" />
        </property>
        
    </class>
</hibernate-mapping>



[其他解释]
说了是com.entity.User类里面找不到UserId     
         <id name="userId" type="java.lang.Integer">
            <column name="USERID" precision="22" scale="0" />


            <generator class="assigned" />
        </id>

热点排行