遇到http500错误。请大家帮忙。

heyjuded 2012-12-08 09:38:31
毕业设计的一些东西。请大家帮忙。

错误:

HTTP Status 500 -

type Exception report

message

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

exception

Unable to instantiate Action, com.test.action.TeacherAction, defined for 'teacher' in namespace '/'Error creating bean with name 'com.test.action.TeacherAction': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void com.test.action.TeacherAction.setTeacherManager(com.test.service.TeacherManager); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.test.service.TeacherManager] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:319)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:400)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:194)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:500)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)



登陆界面:

<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ page import="java.util.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form name="loginForm" method="post" action="/NetTest/teacher!islogin.action">
<table>
<tr>
<td>用户名:<input type="text" name="teacher.name" id="name"></td>
</tr>
<tr>
<td>密码:<input type="password" name="teacher.password" id="password"></td>
</tr>
<tr>
<td><input type="submit" value="登录" style="background-color:pink"> <input type="reset" value="重置" style="background-color:red"></td>
</tr>
</table>
</form>
</body>
</html>



struts.xml

<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 请求参数的编码方式 -->
<constant name="struts.i18n.encoding" value="UTF-8" />
<!-- 指定被struts2处理的请求后缀类型。多个用逗号隔开 -->
<constant name="struts.action.extension" value="action,do,go,qqi" />
<!-- 当struts.xml改动后,是否重新加载。默认值为false(生产环境下使用),开发阶段最好打开 -->
<constant name="struts.configuration.xml.reload" value="true" />
<!-- 是否使用struts的开发模式。开发模式会有更多的调试信息。默认值为false(生产环境下使用),开发阶段最好打开 -->
<constant name="struts.devMode" value="false" />
<!-- 设置浏览器是否缓存静态内容。默认值为true(生产环境下使用),开发阶段最好关闭 -->
<constant name="struts.serve.static.browserCache" value="false" />
<!-- 将对象交给spring管理 -->
<constant name="struts.objectFactory" value="spring" />

<!--动态方法调用 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />

<constant name="struts.convention.package.locators" value="action"/>

<constant name="struts.convention.package.locators.basePackage" value="com.test.action" />

</struts>


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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"
default-lazy-init="true">
<context:annotation-config/>

<context:component-scan base-package="com.test.*" />

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:jdbc.properties</value>
</list>
</property>
</bean>

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass">
<value>${datasource.driverClassName}</value>
</property>

<property name="jdbcUrl">
<value>${datasource.url}</value>
</property>

<property name="user">
<value>${datasource.username}</value>
</property>

<property name="password">
<value>${datasource.password}</value>
</property>

<property name="initialPoolSize">
<value>${c3p0.initialPoolSize}</value>
</property>

<property name="minPoolSize">
<value>${c3p0.minPoolSize}</value>
</property>

<property name="maxPoolSize">
<value>${c3p0.maxPoolSize}</value>
</property>

<property name="maxIdleTime">
<value>${c3p0.maxIdleTime}</value>
</property>


<property name="maxStatements">
<value>${c3p0.maxStatements}</value>
</property>

</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" destroy-method="destroy">
<property name="dataSource">
<ref local="dataSource" />
</property>

<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hibernate.cache.provider_configuration_file_resource_path">${hibernate.ehcache_config_file}</prop>
</props>
</property>

<property name="packagesToScan" value="com.test.bean" />

</bean>

<tx:annotation-driven transaction-manager="transactionManager" />

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>


</beans>


TeacherAction.java


package com.test.action;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import org.springframework.beans.factory.annotation.Autowired;

import com.test.bean.Teacher;
import com.test.service.TeacherManager;

@Results(value = {
@Result(name="success",location="/teacher/afterlogin.jsp",type="redirect"),
@Result(name="login",location="/teacher/login.jsp",type="redirect")})
public class TeacherAction extends SuperActionSupport<Teacher>
{
/**
*
*/
private static final long serialVersionUID = 1L;
private TeacherManager teacherManager;
Teacher teacher;


public String islogin(String name, String password) throws Exception
{
System.out.println("5555555");
if (teacherManager.isLogin(name, password) == true)
{
System.out.println("aaaaaaaaaaaaaa");
return SUCCESS;
} else
{

return LOGIN;

}
}

public TeacherManager getTeacherManager()
{
return teacherManager;
}
@Autowired
public void setTeacherManager(TeacherManager teacherManager)
{
this.teacherManager = teacherManager;
}

public Teacher getModel()
{
// TODO Auto-generated method stub
return null;
}

public void prepare() throws Exception
{
// TODO Auto-generated method stub

}

public Teacher getTeacher()
{
return teacher;
}
@Autowired
public void setTeacher(Teacher teacher)
{
this.teacher = teacher;
}

}



SuperActionSupport.java

package com.test.action;

import org.apache.struts2.convention.annotation.InterceptorRef;
import org.apache.struts2.convention.annotation.InterceptorRefs;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.Preparable;

@InterceptorRefs(value={
@InterceptorRef("paramsPrepareParamsStack")
})
public abstract class SuperActionSupport <T> extends ActionSupport implements ModelDriven<T>, Preparable{

private static final long serialVersionUID = 1L;



}
...全文
480 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Charles_6666 2012-12-11
  • 打赏
  • 举报
回复
TeacherManager 这个类没找到,原因是你在配置文件中没有配置。 消除500的方法有两个: 1,在
 
   @Autowired(required = false)
    public void setTeacher(Teacher teacher)
    {
        this.teacher = teacher;
    }
 
2,在applicationContext.xml中增加如下代码 <bean id="teacherManager " class="com.test.service.TeacherManager"> </bean>

25,980

社区成员

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

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