IUserDaopublic interface IUserDao {

public User queryByUserNameAndPassword(String userName, String password) throws Exception;}UserDaopublic User queryByUserNameAndPassword(String userName, String password)
throws Exception {
String hql = "FROM User as u WHERE u.userName=? and u.password=?";        String[] str = new String[] {userName, password};        List<User> users = this.getHibernateTemplate().find(hql, str);        if (users != null && users.size() >= 1) {            return users.get(1);        } else {            return null;        }

}IUserService public String isLogin(String userName, String password) throws  Exception;userServicepublic String isLogin(String userName, String password) throws Exception {
 User user = userDao.queryByUserNameAndPassword(userName, password);        if(user != null) {            return user.getUserName();        } else {            return null;        } }UserAction
    public String execute() throws Exception {
  if (isInvalid(user.getUserName())) {            this.addFieldError("uid", "登录ID不能为空");            return INPUT;
       }        if (isInvalid(user.getPassword())) {            this.addFieldError("password", "密码项不能为空");            return INPUT;        }
       String uname = userService.isLogin(user.getUserName(), user.getPassword());        if (uname != null) {            Map session = ActionContext.getContext().getSession();            session.put("uname", uname);            session.put("uid", user.getUid());            return SUCCESS;        } else {            this.addFieldError("idorpassword", "用户名或密码错误");            return INPUT;        }     }
private boolean isInvalid(String userName) {
// TODO Auto-generated method stub
return false;
}不够写了 在下面

解决方案 »

  1.   

    <struts>
    <package name="CDCLims" extends="struts-default">
    <action name="login" class="userAction">
    <result>/success.jsp</result>
    <result name="input">/index.jsp</result>
    </action>
    </package>
    </struts>
    spring的配置文件<bean id="userDao" class="com.dao.impl.UserDao">
    <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>

    <bean id="userService" class="com.service.impl.UserService">
    <property name="userDao" ref="userDao"></property>
    </bean>
    <bean id="userAction" class="com.action.UserAction">
    <property name="userService" ref="userService"></property>
    </bean><s:form action="login" method="post">
        <s:textfield label="用户名" name="user.userName" tooltip="ENTER YOUR userName"></s:textfield>
        <s:textfield label="密码" name="user.password" tooltip="enter Your password"></s:textfield>
        <s:submit value="submit"></s:submit>
    报的错是:
    Unable to instantiate Action, userAction,  defined for 'login' in namespace '/'userAction
    com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:306)
    com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:387)
    com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
    org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
    org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:458)
    org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)root causejava.lang.ClassNotFoundException: userAction
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:146)
    com.opensymphony.xwork2.ObjectFactory.getClassInstance(ObjectFactory.java:96)
    com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:206)
    com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:128)
    com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:139)
    com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:109)
    com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:287)
    com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:387)
    com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
    org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
    org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:458)
    org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
      

  2.   

    初始化action有错误,也就是说你的action对应累的函数处理有问题,你好好查查
      

  3.   

    <action name="login" class="userAction">
    <bean id="userAction" class="com.action.UserAction">
            <property name="userService" ref="userService"></property>
            </bean>不能这样注入action的吧
      

  4.   

    <constant name="struts.objectFactory.spring.autoWire" value="name" />定义一下这个常量, 让spring自动按名字注入service
      

  5.   

    美女,sessionFactory配置错误。
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    </bean>
    把这个加上
      

  6.   

    我用的是spring2.5 难道是2.5的问题 我以前用同样的方法做  不过是2.0的 都没有做
      

  7.   

    userAction这样配置,少了一个"/"
    <bean id="/userAction" class="com.action.UserAction">
            <property name="userService" ref="userService"></property>
    </bean>
      

  8.   


    这是对struts1.0来说 是这样的 2.0不需要写/
      

  9.   

    你贴的不全,加个hibernate吧,再说这么贴,看的眼晕
      

  10.   

    Unable to instantiate Action, userAction,  defined for 'login' in namespace '/'userAction 
    行不行试一下不就知道
      

  11.   

    给你贴个购物车的吧,看的眼睛疼
    <?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:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="
         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
    <bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName"
    value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
    <property name="url"
    value="jdbc:sqlserver://localhost:1433;databasename=northwind" />
    <property name="username" value="sa" />
    </bean>
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref bean="dataSource" />
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.SQLServerDialect
    </prop>
    </props>
    </property>
    <property name="mappingResources">
    <list> <value>com/ssh2/shop/model/po/Categories.hbm.xml</value>
    <value>com/ssh2/shop/model/po/Suppliers.hbm.xml</value>
    <value>
    com/ssh2/shop/model/po/Territories.hbm.xml
    </value>
    <value>com/ssh2/shop/model/po/Orders.hbm.xml</value>
    <value>com/ssh2/shop/model/po/Region.hbm.xml</value>
    <value>
    com/ssh2/shop/model/po/CustomerCustomerDemo.hbm.xml
    </value>
    <value>com/ssh2/shop/model/po/Shippers.hbm.xml</value>
    <value>
    com/ssh2/shop/model/po/CustomerDemographics.hbm.xml
    </value>
    <value>com/ssh2/shop/model/po/Products.hbm.xml</value>
    <value>
    com/ssh2/shop/model/po/EmployeeTerritories.hbm.xml
    </value>
    <value>com/ssh2/shop/model/po/Customers.hbm.xml</value>
    <value>com/ssh2/shop/model/po/Employees.hbm.xml</value>
    <value>
    com/ssh2/shop/model/po/OrderDetails.hbm.xml
    </value>
    </list>
    </property>
    </bean>
    <!-- 注解事务生效 使用tx事务的命名空间 -->
    <tx:annotation-driven transaction-manager="txManager" />
    <!-- 定义受事务管理的数据源 -->
    <bean id="txManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
    </bean>
    <!-- dao -->
    <bean id="proddao" class="com.ssh2.shop.base.GenericHibernateDao">
    <constructor-arg index="0" value="com.ssh2.shop.model.po.Products" />
    <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="orderdao"
    class="com.ssh2.shop.base.GenericHibernateDao">
    <constructor-arg index="0" value="com.ssh2.shop.model.po.Orders" />
    <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="custdao" class="com.ssh2.shop.base.GenericHibernateDao">
    <constructor-arg index="0"
    value="com.ssh2.shop.model.po.Customers" />
    <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="orderdetaildao"
    class="com.ssh2.shop.base.GenericHibernateDao">
    <constructor-arg index="0"
    value="com.ssh2.shop.model.po.OrderDetails" />
    <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <!-- service -->
    <bean id="prodservice"
    class="com.ssh2.shop.service.impl.ProductsServiceImpl">
    <property name="proddao" ref="proddao" />
    </bean>
    <bean id="orderservice"
    class="com.ssh2.shop.service.impl.OrdersServiceImpl">
    <property name="orderdao" ref="orderdao" />
    <property name="orderdetaildao" ref="orderdetaildao" />
    </bean>
    <bean id="custservice"
    class="com.ssh2.shop.service.impl.CustomersServiceImpl">
    <property name="customerdao" ref="custdao" />
    </bean>
    <!-- baseaction -->
    <bean id="baseaction" abstract="true">
    <property name="ps" ref="prodservice" />
    <property name="os" ref="orderservice" />
    <property name="cs" ref="custservice"></property>
    </bean>
    <!-- Action -->
    <bean id="shopaction" class="com.ssh2.shop.presentation.ShopAction"
    parent="baseaction" scope="prototype">
    </bean>
    </beans>
      

  12.   

    问题的答案找到了,好像根本就没有什么错误,我数据库的表名字叫CDCUsers 我映射过来后把表名给改成了User  这样之后为什么就报错呢?
    我回到家里建了个表就叫users  然后按照同样的方法做就没有错 。有点摸不到头绪!
      

  13.   

    我在用webweork2 一样的错误,汗啊.. spring也配了就是找不到actionjava.lang.ClassNotFoundException: userAction
    opensymphony.webwork.dispatcher.ServletDispatcher-Could not find action
      

  14.   

    我也是xml版本的好好的,改成注解后,总是 报找不到action