java 严重:Web 应用程序中的 Servlet [spring] 引发了 load() 异常

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/38544418/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-03 03:30:47  来源:igfitidea点击:

SEVERE: Servlet [spring] in web application threw load() exception

javaspring

提问by sada

i am NEW to spring i am trying to exccute this application i got the exception like this

我是春天的新手我正在尝试执行此应用程序我得到了这样的异常

SEVERE: Servlet [spring] in web application [/loginDB] threw load()    exception
java.lang.ClassNotFoundException: org.springframework.beans.factory.Aware
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2503)
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:831)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1274)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2503)
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:831)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1274)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2503)
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:831)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1274)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:518)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:499)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1102)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1038)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4996)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

Jul 23, 2016 10:01:18 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable            debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve       startup time and JSP compilation time.
 Jul 23, 2016 10:01:18 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
 Jul 23, 2016 10:01:18 PM org.apache.catalina.core.ApplicationContext log
 INFO: Initializing Spring FrameworkServlet 'spring'
 Jul 23, 2016 10:01:18 PM org.springframework.web.servlet.DispatcherServlet initServletBean
INFO: FrameworkServlet 'spring': initialization started
 Jul 23, 2016 10:01:18 PM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh
 INFO: Refreshing WebApplicationContext for namespace 'spring-servlet': startup date [Sat Jul 23 22:01:18 IST 2016]; root of context hierarchy
 Jul 23, 2016 10:01:18 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
 INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/spring-servlet.xml]
 Jul 23, 2016 10:01:19 PM org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping registerHandler
 INFO: Mapped URL path [/test] onto handler 'welcomeController'
 Jul 23, 2016 10:01:19 PM org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping registerHandler
 INFO: Mapped URL path [/test.*] onto handler 'welcomeController'
 Jul 23, 2016 10:01:19 PM org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping registerHandler
 INFO: Mapped URL path [/test/] onto handler 'welcomeController'
 Jul 23, 2016 10:01:19 PM org.springframework.web.servlet.DispatcherServlet initServletBean
 INFO: FrameworkServlet 'spring': initialization completed in 1283 ms
 Jul 23, 2016 10:01:19 PM org.apache.coyote.AbstractProtocol start
 INFO: Starting ProtocolHandler ["http-nio-2016"]
 Jul 23, 2016 10:01:19 PM org.apache.coyote.AbstractProtocol start
 INFO: Starting ProtocolHandler ["ajp-nio-8009"]
 Jul 23, 2016 10:01:19 PM org.apache.catalina.startup.Catalina start
 INFO: Server startup in 6529 ms
 Jul 23, 2016 10:01:20 PM org.apache.catalina.core.ApplicationDispatcher invoke
WARNING: Servlet spring is currently unavailable

web.xml

网页.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">
    <servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>*.form</url-pattern>
    </servlet-mapping>
</web-app>

spring-servlet.xml

spring-servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<!-- enable component scanning -->
<context:component-scan base-package="pack1"/>
<!-- handlermapping -->
<bean id="handlermapping"            class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotation
HandlerMapping"/>
 <!-- view resolverconfiguration -->
 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
</bean>
 <bean id="jt" class="org.springframework.jdbc.core.JdbcTemplate">
 <property name="database" ref="ds"/> 
</bean>
<bean id="ds"   class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1522:orcl1"/>
<property name="username" value="scott"/>
 <property name="password" value="sada"/>
</bean>

LoginController.java

登录控制器.java

package pack1.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import pack1.dao.LoginDao;

 @Controller
public class LoginController {
@Autowired
private LoginDao dao;
@RequestMapping(value="/logins",method=RequestMethod.GET)
public ModelAndView getLoginPage()
{
    return new ModelAndView("login");
}
@RequestMapping(value="/check",method=RequestMethod.POST)
public ModelAndView checkLogin(@RequestParam("t1") String  s1,@RequestParam("t2")String s2)
{
    boolean b=dao.check(s1, s2);
    if(b)
    {
        return new ModelAndView("success");
    }
    else
    {
        return new ModelAndView("failure");
    }
}
}

loginDao.java(i)

loginDao.java(i)

package pack1.dao;

public interface LoginDao {
boolean check(String s1,String s2);
}

loginDaoImpl.java(c)

loginDaoImpl.java(c)

 package pack1.dao;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
@Repository 
public class LoginDaoImpl implements LoginDao {
@Autowired
private JdbcTemplate jt;
public boolean check(String s1, String s2) {
    int i=(Integer)jt.queryForObject("select count(*) from login where username=? and password=?",Integer.class,s1,s2);
    if(i==1)
        return true;
        else
        return false;
 }
 }

index.jsp

索引.jsp

<jsp:forward page="logins.form"></jsp:forward>

pom.xml

pom.xml

 <project xmlns="http://maven.apache.org/POM/4.0.0"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0   http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>

 <groupId>com.sada</groupId>
 <artifactId>loginDB</artifactId>
 <packaging>war</packaging>
 <version>0.0.1-SNAPSHOT</version>

 <name>loginDB</name>
 <url>http://maven.apache.org</url>

 <dependencies>
  <dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>servlet-api</artifactId>
  <version>2.5</version>
  <scope>provided</scope>
 </dependency>
 <dependency>
   <groupId>javax.servlet.jsp</groupId>
   <artifactId>jsp-api</artifactId>
   <version>2.1</version>
  <scope>provided</scope>
</dependency>
   <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.0.6.RELEASE</version>
 </dependency>
  <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc   -->
 <dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-webmvc</artifactId>
 <version>4.3.1.RELEASE</version>
 </dependency>
 <!-- https://mvnrepository.com/artifact/com.oracle/ojdbc14 -->
 <dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0</version>
  </dependency>
</dependencies>

 <build>
 <plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.0.2</version>
    <configuration>
      <source>1.5</source>
       <target>1.5</target>
      </configuration>
     </plugin>
    </plugins>
  </build>
</project>

and some other jsp pages .any one can help me resolve the probleam

和其他一些jsp页面。任何人都可以帮助我解决问题

回答by Tharsan Sivakumar

Check your Spring version. May be outdated. Update that to latest version and then run the program.

检查您的 Spring 版本。可能已经过时。将其更新到最新版本,然后运行该程序。

java.lang.NoClassDefFoundError: org/springframework/beans/factory/Aware

java.lang.NoClassDefFoundError: org/springframework/beans/factory/Aware

回答by Achille_vanhoutte

In your pom you have 3.0.6.RELEASE dependencies . Its too old

在您的 pom 中,您有 3.0.6.RELEASE 依赖项。它太旧了

upgrade your spring jdbc like this:

像这样升级你的spring jdbc:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>4.3.1.RELEASE</version>
</dependency>

回答by solanki bhargav

<bean id="edao" class="pack1.dao.loginDao">  
<property name="template" ref="jt"></property>  
</bean>  

Add in your spring-servlet.xml.

添加您的 spring-servlet.xml。