java - Running a SpringMVC app in tomcat 7.0 gives me error 500 as shown in StackTrace -
i have been looking 2 days find solutions issue not been abel fix it.
url: (/hellospring/web-inf/hello.jsp) edited (/hellospring/hello.jsp)

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) { model.addattribute("message", "hello spring mvc framework!"); return "hello"; } } hellospring-servlet.xml
<?xml version="1.0" encoding="utf-8"?> <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-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- <bean name="/hello.jsp" class="com.smithak.hellospring.hellocontroller" /> --> <context:component-scan base-package="com.smithak.hellospring" /> <bean id="viewresolver" class="org.springframework.web.servlet.view.urlbasedviewresolver"> <property name="viewclass" value="org.springframework.web.servlet.view.jstlview" /> <property name="prefix" value="/web-inf/" /> <property name="suffix" value=".jsp" /> </bean> </beans> 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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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"> <display-name>spring mvc application</display-name> <servlet> <servlet-name>hellospring</servlet-name> <servlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>hellospring</servlet-name> <url-pattern>*.jsp</url-pattern> </servlet-mapping> </web-app> when deploy , run on tomcat following error http status 404 - requested resource () not available.
stack trace
type exception report message servlet.init() servlet hellospring threw exception description server encountered internal error (servlet.init() servlet hellospring threw exception) prevented fulfilling request. exception javax.servlet.servletexception: servlet.init() servlet hellospring threw exception org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:472) org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:98) org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:927) org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:407) org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1001) org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:579) org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:310) java.util.concurrent.threadpoolexecutor.runworker(unknown source) java.util.concurrent.threadpoolexecutor$worker.run(unknown source) java.lang.thread.run(unknown source) root cause org.springframework.beans.factory.beandefinitionstoreexception: unexpected exception parsing xml document servletcontext resource [/web-inf/hellospring-servlet.xml]; nested exception java.lang.noclassdeffounderror: org/springframework/aop/targetsource org.springframework.beans.factory.xml.xmlbeandefinitionreader.doloadbeandefinitions(xmlbeandefinitionreader.java:413) org.springframework.beans.factory.xml.xmlbeandefinitionreader.loadbeandefinitions(xmlbeandefinitionreader.java:335) org.springframework.beans.factory.xml.xmlbeandefinitionreader.loadbeandefinitions(xmlbeandefinitionreader.java:303) org.springframework.beans.factory.support.abstractbeandefinitionreader.loadbeandefinitions(abstractbeandefinitionreader.java:180) org.springframework.beans.factory.support.abstractbeandefinitionreader.loadbeandefinitions(abstractbeandefinitionreader.java:216) org.springframework.beans.factory.support.abstractbeandefinitionreader.loadbeandefinitions(abstractbeandefinitionreader.java:187) org.springframework.web.context.support.xmlwebapplicationcontext.loadbeandefinitions(xmlwebapplicationcontext.java:125) org.springframework.web.context.support.xmlwebapplicationcontext.loadbeandefinitions(xmlwebapplicationcontext.java:94) org.springframework.context.support.abstractrefreshableapplicationcontext.refreshbeanfactory(abstractrefreshableapplicationcontext.java:129) org.springframework.context.support.abstractapplicationcontext.obtainfreshbeanfactory(abstractapplicationcontext.java:540) org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:454) org.springframework.web.servlet.frameworkservlet.configureandrefreshwebapplicationcontext(frameworkservlet.java:658) org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:624) org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:672) org.springframework.web.servlet.frameworkservlet.initwebapplicationcontext(frameworkservlet.java:543) org.springframework.web.servlet.frameworkservlet.initservletbean(frameworkservlet.java:484) org.springframework.web.servlet.httpservletbean.init(httpservletbean.java:136) javax.servlet.genericservlet.init(genericservlet.java:160) org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:472) org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:98) org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:927) org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:407) org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1001) org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:579) org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:310) java.util.concurrent.threadpoolexecutor.runworker(unknown source) java.util.concurrent.threadpoolexecutor$worker.run(unknown source) java.lang.thread.run(unknown source) root cause java.lang.noclassdeffounderror: org/springframework/aop/targetsource org.springframework.context.annotation.annotationconfigutils.registerannotationconfigprocessors(annotationconfigutils.java:194) org.springframework.context.annotation.componentscanbeandefinitionparser.registercomponents(componentscanbeandefinitionparser.java:150) org.springframework.context.annotation.componentscanbeandefinitionparser.parse(componentscanbeandefinitionparser.java:86) org.springframework.beans.factory.xml.namespacehandlersupport.parse(namespacehandlersupport.java:74) org.springframework.beans.factory.xml.beandefinitionparserdelegate.parsecustomelement(beandefinitionparserdelegate.java:1424) org.springframework.beans.factory.xml.beandefinitionparserdelegate.parsecustomelement(beandefinitionparserdelegate.java:1414) org.springframework.beans.factory.xml.defaultbeandefinitiondocumentreader.parsebeandefinitions(defaultbeandefinitiondocumentreader.java:187) org.springframework.beans.factory.xml.defaultbeandefinitiondocumentreader.doregisterbeandefinitions(defaultbeandefinitiondocumentreader.java:141) org.springframework.beans.factory.xml.defaultbeandefinitiondocumentreader.registerbeandefinitions(defaultbeandefinitiondocumentreader.java:110) org.springframework.beans.factory.xml.xmlbeandefinitionreader.registerbeandefinitions(xmlbeandefinitionreader.java:508) org.springframework.beans.factory.xml.xmlbeandefinitionreader.doloadbeandefinitions(xmlbeandefinitionreader.java:391) org.springframework.beans.factory.xml.xmlbeandefinitionreader.loadbeandefinitions(xmlbeandefinitionreader.java:335) org.springframework.beans.factory.xml.xmlbeandefinitionreader.loadbeandefinitions(xmlbeandefinitionreader.java:303) org.springframework.beans.factory.support.abstractbeandefinitionreader.loadbeandefinitions(abstractbeandefinitionreader.java:180) org.springframework.beans.factory.support.abstractbeandefinitionreader.loadbeandefinitions(abstractbeandefinitionreader.java:216) org.springframework.beans.factory.support.abstractbeandefinitionreader.loadbeandefinitions(abstractbeandefinitionreader.java:187) org.springframework.web.context.support.xmlwebapplicationcontext.loadbeandefinitions(xmlwebapplicationcontext.java:125) org.springframework.web.context.support.xmlwebapplicationcontext.loadbeandefinitions(xmlwebapplicationcontext.java:94) org.springframework.context.support.abstractrefreshableapplicationcontext.refreshbeanfactory(abstractrefreshableapplicationcontext.java:129) org.springframework.context.support.abstractapplicationcontext.obtainfreshbeanfactory(abstractapplicationcontext.java:540) org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:454) org.springframework.web.servlet.frameworkservlet.configureandrefreshwebapplicationcontext(frameworkservlet.java:658) org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:624) org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:672) org.springframework.web.servlet.frameworkservlet.initwebapplicationcontext(frameworkservlet.java:543) org.springframework.web.servlet.frameworkservlet.initservletbean(frameworkservlet.java:484) org.springframework.web.servlet.httpservletbean.init(httpservletbean.java:136) javax.servlet.genericservlet.init(genericservlet.java:160) org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:472) org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:98) org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:927) org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:407) org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1001) org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:579) org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:310) java.util.concurrent.threadpoolexecutor.runworker(unknown source) java.util.concurrent.threadpoolexecutor$worker.run(unknown source) java.lang.thread.run(unknown source) could of please me resolve this. appreciated.
thanks in advance.
in web.xml shouldn't use <url-pattern>*.jsp</url-pattern> because controllers "respond" /hello (which doesn't match *.jsp):
<servlet-mapping> <servlet-name>hellospring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> in hellospring-servlet.xml need way of letting spring know want requestmapping handled in way or another. component-scan doesn't @requestmappings. need add mvc:annotation-driven:
<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" 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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <mvc:annotation-driven /> <context:component-scan base-package="com.smithak.hellospring" /> <bean id="viewresolver" class="org.springframework.web.servlet.view.urlbasedviewresolver"> <property name="viewclass" value="org.springframework.web.servlet.view.jstlview" /> <property name="prefix" value="/web-inf/" /> <property name="suffix" value=".jsp" /> </bean> </beans> also, need: javax.servlet.jsp.jstl-api-1.2.1.jar, spring-aop-4.0.6.release.jar , spring-expression-4.0.6.release.jar jars under /web-inf/lib.
in end access app going /hellospring/hello url , not .jsp version (for reason mentioned above).
Comments
Post a Comment