Struts+Spring+Hibernate有异常,急

bingbox_1984 2007-04-25 06:31:52
LoginAction.java文件如下:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package web.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import web.form.LoginForm;
import service.LoginService;
import vo.User;
public class LoginAction extends Action {
private LoginService loginservice;

public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request,HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;
User user=new User();
user.setUserName(loginForm.getUsername());
user.setPassword(loginForm.getPassword());
if (loginservice.isValid(user))
return mapping.findForward("success");
else
return mapping.findForward("fail");
}

public LoginService getLoginservice() {
return loginservice;
}

public void setLoginservice(LoginService loginservice) {
this.loginservice = loginservice;
}

}

struts-config.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="web.form.LoginForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy">
<forward name="success" path="/index.jsp" />
<forward name="fail" path="/error.jsp" />
</action>
</action-mappings>
<message-resources parameter="web.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
</struts-config>
...全文
416 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bruni 2007-04-26
  • 打赏
  • 举报
回复
你的LoginAction中没有对应的loginservice set 方法
建一个setLoginservice()方法就可以了
bingbox_1984 2007-04-25
  • 打赏
  • 举报
回复
改了也没用啊
还是同样的问题

li_d_s 2007-04-25
  • 打赏
  • 举报
回复
晕,贴了一大堆没用的,很明显applicationContext.xml里面定义的类web.action.LoginAction没有setLoginservice这个方法,估计是你大小写的问题,应该是loginService?
bingbox_1984 2007-04-25
  • 打赏
  • 举报
回复
由于一个ID最多只能连续回复三次
所以希望UP

我baidu了好久,找不到答案
bingbox_1984 2007-04-25
  • 打赏
  • 举报
回复
applicationContext.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name="url">
<value>jdbc:microsoft:sqlserver://localhost:1433</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value>sa</value>
</property>
</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>vo/User.hbm.xml</value>
<value>vo/EmpInfo.hbm.xml</value>
<value>vo/EmpSkill.hbm.xml</value>
<value>vo/GradeKind.hbm.xml</value>
<value>vo/Skill.hbm.xml</value>
<value>vo/SkillGroup.hbm.xml</value></list>
</property></bean>
<bean id="UserDAO" class="dao.UserDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="service" class="service.LoginService" singleton="false">
<property name="userdao">
<ref bean="UserDAO" />
</property>
</bean>
<bean name="/login" class="web.action.LoginAction"
singleton="true">
<property name="loginservice">
<ref bean="service" />
</property>
</bean>
<bean id="EmpInfoDAO" class="dao.EmpInfoDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="EmpSkillDAO" class="dao.EmpSkillDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="GradeKindDAO" class="dao.GradeKindDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="SkillDAO" class="dao.SkillDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="SkillGroupDAO" class="dao.SkillGroupDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
</beans>

异常如下:javax.servlet.ServletException: Error creating bean with name '/login' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'loginservice' of bean class [web.action.LoginAction]: Bean property 'loginservice' is not writable or has an invalid setter method: Does the parameter type of the setter match the return type of the getter?
bingbox_1984 2007-04-25
  • 打赏
  • 举报
回复
LoginService文件如下:

package service;
import java.util.List;
import dao.UserDAO;
import vo.User;
public class LoginService {
private UserDAO userdao;
public UserDAO getUserdao() {
return userdao;
}
public void setUserdao(UserDAO userdao) {
this.userdao = userdao;
}
public boolean isValid(User user) {//判断用户是否合法
List result = userdao.findByExample(user);
if (result.size() > 0)
return true;
else
return false;
}
}

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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