本人学生狗一枚,技术不通,狗屁不是,毕业设计自己选的SSH框架,之前用过SSH框架写过作业,其余时间没有碰过,心想毕业的时候来点刺激 ,选择SSH做毕业设计,没想到感觉是被自己逼上了梁山,更不幸的是我又选了Oracle数据库,让程序的开发过程像是啃骨头一样,咬了好几天,没有什么进展,遇到很多问题。不过本屌心态还是有的,问题吗,出现就解决,哪怕每天解决一个小小的问题,都是技术上的进步。废话不多说,今天开发的第13天,我以为都能顺利完成的,但是不幸的是我连登陆验证界面都没有完成,注册的时候数据库插入能够完成,但是返回错误java.lang.RuntimeException: Invalid action class configuration that references an unknown class named [TyhAction]。大体的意思就是找不到Struts里面Action的Class,这个class 就是指的spring里面的Bean的Id
参看代码 struts.xml
<action name ="login" class ="TyhAction">
<result name ="SUCCESS" type="chain" >findHCD</result>
<result name="INPUT" >/login1.jsp</result>
<result name ="ERROR">/Error.jsp</result>
</action>
<!--用户注册-->
<action name="saveYH" class="TyhAction" method="saveYH">
<result name="SUCCESS" type="chain">findHCD</result>
<result name="ERROR">/Error.jsp</result>
<result name="INPUT">/Error.jsp</result>
</action>
参看Spring的applicationContext.xml代码
<bean id="baseDAO" class="DAO.BaseDAO" abstract="true">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<!-- 用户操作 第一个出错的地方,名字一定要写正确 -->
<bean id="TYhbDAO" class="DAO.TYhbDAO" parent ="baseDAO">
</bean>
<bean id="TyhbService" class="Service.TYhbService">
<property name="TYhbDAO">
<ref bean="TYhbDAO"/></property>
</bean>
<bean id="TyhAction" class="Action.TYhbAction">
<property name="TYhbService">
<ref bean="TyhbService"/></property>
</bean>
参看Action.TYhbAction.java
public class TYhbAction extends ActionSupport {
protected TYhb yh;
protected ITYhbService tyhbService;
protected String result;
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public TYhb getYh() {
return yh;
}
public void setYh(TYhb yh) {
this.yh = yh;
}
public ITYhbService getTYhbService() {
return tyhbService;
}
public void setTYhbService(ITYhbService TYhbService) {
this.tyhbService = TYhbService;
}
//验证用户登录
public String excute() throws Exception{
TYhb YH =tyhbService.validateYH(yh.getName(), yh.getPassword());
if (YH!=null){
Map session =ActionContext.getContext().getSession();
session.put("yh",YH);
return SUCCESS;
}
else{
return ERROR;
}}
//注册用户
public String saveYH() throws Exception{
//
System.out.print(yh.getName());
if (tyhbService.saveYH(yh)){
TYhb YH = tyhbService.validateYH(yh.getName(), yh.getPassword());
Map session =ActionContext.getContext().getSession();
session.put("yh",YH);
return SUCCESS;
}
else{
return ERROR;
}}
//用户更新资料
public String updateYH() throws Exception{
tyhbService.updateYH(yh);
TYhb YH = tyhbService.validateYH(yh.getName(), yh.getPassword());
if (yh!=null){
Map session =ActionContext.getContext().getSession();
session.put("yh",YH);
return SUCCESS;
}
else{
return ERROR;
} }
//删除用户
public String deleteYH() throws Exception{
tyhbService.deleteYH(yh.getName());
TYhb YH = tyhbService.validateYH(yh.getName(), yh.getPassword());
if (YH!=null){
return ERROR;
}
return SUCCESS;
}
public String checkYH() throws Exception{
if (tyhbService.checkYH(yh.getName())){
return this.result="ok";
}
return this.result="no";
}
}
结果注册的时候,可以正确的插入数据,但是还是返回出错,我真是不明白为什么会这样,网上的信息资料解决不了,让我真是对自己的程序真实束手无策阿,本来想请教老师来者,老师听了我的情况知后笑着说,不是不推荐SSH的嘛, 累感不爱