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)

folder structure

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

Popular posts from this blog

java - How to specify maven bin in eclipse maven plugin? -

single sign on - Logging into Plone site with credentials passed through HTTP -

php - Why does AJAX not process login form? -