java - 严重: Servlet [spring] in web application threw load() exception

标签 java spring

我是 Spring 新手,我正在尝试执行此应用程序,但遇到了这样的异常

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 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

<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

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)

package pack1.dao;

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

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:forward page="logins.form"></jsp:forward>

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>

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

最佳答案

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

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

关于java - 严重: Servlet [spring] in web application threw load() exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38544418/

相关文章:

java - 从 java 生成 HTML 最好用什么,但在 web 相关项目上用什么更好?

java - GAE/J - JPA 错误 - 类型 ("")不是实体的,但需要用于此操作

spring - 在JSP页面中获取用户名。主体.用户名不起作用

java - 处理器中的 Spring Batch 配置错误

java - 从页面名称中删除 .jsp

java - 在Java中连接由空格分隔的单个字符?

java - 如何从嵌套数组列表中打印出来

java - 在 Spring/Java 中过滤特殊字符

java - 基于 Spring 配置文件的条件 JUnit 4 测试执行

java - 如何减少创建 c3p0 ComboPooledDataSource 和获取 Oracle 数据库连接的超时时间?