Spring MVC - HTTP Status 500 - servlet loginDispacher的Servlet.init()抛出异常 [英] Spring MVC - HTTP Status 500 - Servlet.init() for servlet loginDispacher threw exception

查看:791
本文介绍了Spring MVC - HTTP Status 500 - servlet loginDispacher的Servlet.init()抛出异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我制作了一个简单的程序但是出现了以下错误。我正在使用Eclipse Kelper和Tomcat 7.0。试了很多东西,但没有什么对我有用:(

I have made a simple program but getting following error. I am using Eclipse Kelper and Tomcat 7.0. Tried a lot of things, but nothing is working for me :(


HTTP状态500 - 用于servlet loginDispacher的Servlet.init()抛出
例外

HTTP Status 500 - Servlet.init() for servlet loginDispacher threw exception

类型异常报告

消息Servlet .init()for servlet loginDispacher抛出异常

message Servlet.init() for servlet loginDispacher threw exception

描述服务器遇到内部错误,导致
无法完成此请求。

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

异常

javax.servlet.ServletException:Servlet的Servlet.init()
loginDispacher抛出异常
org。 apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
org.apache.catalina.valves。 AccessLogValve.invoke(AccessLogValve.java:953)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.Abst ractHttp11Processor.process(AbstractHttp11Processor.java:1041)
org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:603)
org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor。 run(JIoEndpoint.java:312)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)
java。 lang.Thread.run(未知来源)

javax.servlet.ServletException: Servlet.init() for servlet loginDispacher threw exception org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source)

根本原因

java.lang.NoSuchMethodError:
org.springframework.core.GenericTypeResolver.resolveTypeArguments(Ljava / lang / Class; Ljava / lang / Class;)[Ljava / lang / Class;
org.springframework.core.convert.support.GenericConversionService.getRequiredTypeInfo(GenericConversionService.java:260)
org.springframework.core.convert.support.GenericConversionService.addConverter(GenericConversionService.java:83)
org.springframework.core.convert.support.DefaultConversionService.addScalarConverters(DefaultConversionService.java:63)
org.springframework.core.convert.support.DefaultConversionService.addDefaultConverters(DefaultConversionService.java:54)
org.springframework.core.convert.support.DefaultConversionService。(DefaultConversionService.java:43)
org.springframework.core.env.AbstractPropertyResolver。(AbstractPropertyResolver.java:41)
org.springframework.core。 env.PropertySourcesPropertyResolver。(PropertySourcesPropertyResolver.java:41)
org.springframework.core.env.AbstractEnvironment。(AbstractEnvironment.java:98)
org.springframework.core.env.StandardEnvironment。(StandardEnvironment.ja va:54)
org.springframework.web.context.support.StandardServletEnvironment。(StandardServletEnvironment.java:44)
org.springframework.web.servlet.HttpServletBean.createEnvironment(HttpServletBean.java:213)
org.springframework.web.servlet.HttpServletBean.getEnvironment(HttpServletBean.java:203)
org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:126)
javax.servlet .GenericServlet.init(GenericServlet.java:160)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve .java:100)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.pro cess(AbstractProtocol.java:603)
org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:312)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source )
java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源)
java.lang.Thread.run(未知来源)

java.lang.NoSuchMethodError: org.springframework.core.GenericTypeResolver.resolveTypeArguments(Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/Class; org.springframework.core.convert.support.GenericConversionService.getRequiredTypeInfo(GenericConversionService.java:260) org.springframework.core.convert.support.GenericConversionService.addConverter(GenericConversionService.java:83) org.springframework.core.convert.support.DefaultConversionService.addScalarConverters(DefaultConversionService.java:63) org.springframework.core.convert.support.DefaultConversionService.addDefaultConverters(DefaultConversionService.java:54) org.springframework.core.convert.support.DefaultConversionService.(DefaultConversionService.java:43) org.springframework.core.env.AbstractPropertyResolver.(AbstractPropertyResolver.java:41) org.springframework.core.env.PropertySourcesPropertyResolver.(PropertySourcesPropertyResolver.java:41) org.springframework.core.env.AbstractEnvironment.(AbstractEnvironment.java:98) org.springframework.core.env.StandardEnvironment.(StandardEnvironment.java:54) org.springframework.web.context.support.StandardServletEnvironment.(StandardServletEnvironment.java:44) org.springframework.web.servlet.HttpServletBean.createEnvironment(HttpServletBean.java:213) org.springframework.web.servlet.HttpServletBean.getEnvironment(HttpServletBean.java:203) org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:126) javax.servlet.GenericServlet.init(GenericServlet.java:160) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source)

注意Apache
Tomcat / 7.0.47日志中提供了根本原因的完整堆栈跟踪。

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.47 logs.

Apache Tomcat / 7.0.47

Apache Tomcat/7.0.47

源代码非常简单。

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">

    <servlet>
        <servlet-name>loginDispacher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>loginDispacher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

loginDispacher-servlet.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:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">

    <context:component-scan base-package="com.sandeep.controller" />

    <!-- View resolver -->
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/" />
        <property name="suffix" value=".jsp" />
    </bean>
</beans>

hello.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Hello Spring MVC</title>
</head>
<body>
    <h2>${message}</h2>
</body>
</html>

HelloController.java

package com.sandeep.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/hello")
public class HelloController {

    @RequestMapping(method=RequestMethod.GET)
    public String printHello(ModelMap model){
        System.out.println("From controller");
        model.addAttribute("message", "Hellow Spring MVC Framework!");
        return "hello";
    }
}

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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.sandeep</groupId>
  <artifactId>logindemo</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>logindemo Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
  <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>3.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>3.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc14</artifactId>
            <version>10.2.0.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>3.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>3.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>3.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>3.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>commons-pool</groupId>
            <artifactId>commons-pool</artifactId>
            <version>1.6</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
  </dependencies>
  <build>
    <finalName>logindemo</finalName>
  </build>
</project>


推荐答案

尝试在pom.xml中更改spring框架版本到4.1.5只需在你的依赖项之前添加它

Try to change your spring framework version in pom.xml to 4.1.5 Just add this before your dependencies

<properties>
    <spring.version>4.1.5.RELEASE</spring.version>
</properties>

这篇关于Spring MVC - HTTP Status 500 - servlet loginDispacher的Servlet.init()抛出异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆