I want to learn some basics of Spring MVC based fully on annotations. I started with this tutorial .
After cloning the repository
hg clone https://bitbucket.org/arnelism/snoutbook
and building the war
file
mvn package
I am deploying the app by simply copying the war
file to the webapps
directory of my Apache Tomcat 7.0.12 instance. I am stopping and starting the server.
INFORMATION: Starting Servlet Engine: Apache Tomcat/7.0.12 Sep 12, 2014 3:37:18 PM org.apache.catalina.startup.HostConfig deployWAR INFORMATION: Deploying web application archive Snoutbook-1.0.0-SNAPSHOT.war Sep 12, 2014 3:37:27 PM org.apache.catalina.startup.HostConfig deployDirectory INFORMATION: Deploying web application directory docs Sep 12, 2014 3:37:27 PM org.apache.catalina.startup.HostConfig deployDirectory INFORMATION: Deploying web application directory examples Sep 12, 2014 3:37:27 PM org.apache.catalina.startup.HostConfig deployDirectory INFORMATION: Deploying web application directory host-manager Sep 12, 2014 3:37:27 PM org.apache.catalina.startup.HostConfig deployDirectory INFORMATION: Deploying web application directory manager Sep 12, 2014 3:37:27 PM org.apache.catalina.startup.HostConfig deployDirectory INFORMATION: Deploying web application directory ROOT Sep 12, 2014 3:37:27 PM org.apache.coyote.AbstractProtocolHandler start INFORMATION: Starting ProtocolHandler ["http-bio-8080"] Sep 12, 2014 3:37:27 PM org.apache.coyote.AbstractProtocolHandler start INFORMATION: Starting ProtocolHandler ["ajp-bio-8009"] Sep 12, 2014 3:37:27 PM org.apache.catalina.startup.Catalina start INFORMATION: Server startup in 8826 ms
Unfortunately after this operation I am receiving the error 404 by displaying the page.
http://localhost:8080/Snoutbook-1.0.0-SNAPSHOT/
I have been looking for a solution for over 2 hours and have not been able to find the cause. Did somebody have a similar issue?
I tried with the newest Tomcat version apache-tomcat-8.0.12
. The problem persists. There is however more info printed in the console while deploying the web app.
12-Sep-2014 17:13:20.038 INFO [localhost-startStop-1] org.apache.catalina.startu p.HostConfig.deployWAR Deploying web application archive D:\Users\b21090094\apac he-tomcat-8.0.12\webapps\Snoutbook-1.0.0-SNAPSHOT.war 12-Sep-2014 17:13:23.132 INFO [localhost-startStop-1] org.apache.catalina.util.S essionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for s ession ID generation using [SHA1PRNG] took [255] milliseconds. 12-Sep-2014 17:13:23.169 INFO [localhost-startStop-1] org.springframework.web.se rvlet.FrameworkServlet.initServletBean FrameworkServlet 'dispatcher': initializa tion started 12-Sep-2014 17:13:23.182 INFO [localhost-startStop-1] org.springframework.contex t.support.AbstractApplicationContext.prepareRefresh Refreshing WebApplicationCon text for namespace 'dispatcher-servlet': startup date [Fri Sep 12 17:13:23 CEST 2014]; root of context hierarchy 12-Sep-2014 17:13:23.278 INFO [localhost-startStop-1] org.springframework.contex t.annotation.ClassPathScanningCandidateComponentProvider.registerDefaultFilters JSR-250 'javax.annotation.ManagedBean' found and supported for component scannin g 12-Sep-2014 17:13:23.281 INFO [localhost-startStop-1] org.springframework.web.co ntext.support.AnnotationConfigWebApplicationContext.loadBeanDefinitions Register ing annotated classes: [class com.zeroturnaround.snoutbook.init.WebappConfigJpa] 12-Sep-2014 17:13:23.429 INFO [localhost-startStop-1] org.springframework.contex t.annotation.ClassPathScanningCandidateComponentProvider.registerDefaultFilters JSR-250 'javax.annotation.ManagedBean' found and supported for component scannin g 12-Sep-2014 17:13:23.921 INFO [localhost-startStop-1] org.springframework.beans. factory.support.DefaultListableBeanFactory.preInstantiateSingletons Pre-instanti ating singletons in org.springframework.beans.factory.support.DefaultListableBea nFactory@7169a1: defining beans [org.springframework.context.annotation.internal ConfigurationAnnotationProcessor,org.springframework.context.annotation.internal AutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequ iredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnn otationProcessor,org.springframework.context.annotation.internalPersistenceAnnot ationProcessor,webappConfigJpa,org.springframework.context.annotation.Configurat ionClassPostProcessor$ImportAwareBeanPostProcessor#0,addPetForm,snoutContoller,s noutDao,org.springframework.aop.config.internalAutoProxyCreator,delegatingWebMvc Configuration,requestMappingHandlerMapping,viewControllerHandlerMapping,beanName HandlerMapping,resourceHandlerMapping,defaultServletHandlerMapping,requestMappin gHandlerAdapter,mvcConversionService,mvcValidator,httpRequestHandlerAdapter,simp leControllerHandlerAdapter,handlerExceptionResolver,proxyTransactionManagementCo nfiguration,org.springframework.transaction.config.internalTransactionAdvisor,tr ansactionAttributeSource,transactionInterceptor,transactionManager,entityManager Factory,setupViewResolver,getDataSource]; root of factory hierarchy 12-Sep-2014 17:13:24.225 INFO [localhost-startStop-1] org.springframework.orm.jp a.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory Buildi ng JPA container EntityManagerFactory for persistence unit 'default' 12-Sep-2014 17:13:24.657 INFO [localhost-startStop-1] org.hibernate.annotations. common.Version. HCANN000001: Hibernate Commons Annotations {4.0.1.Final} 12-Sep-2014 17:13:24.676 INFO [localhost-startStop-1] org.hibernate.Version.logV ersion HHH000412: Hibernate Core {4.1.2} 12-Sep-2014 17:13:24.681 INFO [localhost-startStop-1] org.hibernate.cfg.Environm ent. HHH000206: hibernate.properties not found 12-Sep-2014 17:13:24.686 INFO [localhost-startStop-1] org.hibernate.cfg.Environm ent.buildBytecodeProvider HHH000021: Bytecode provider name : javassist 12-Sep-2014 17:13:24.772 INFO [localhost-startStop-1] org.hibernate.ejb.Ejb3Conf iguration.configure HHH000204: Processing PersistenceUnitInfo [ name: default ...] 12-Sep-2014 17:13:25.524 INFO [localhost-startStop-1] org.hibernate.service.jdbc .connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionP rovider HHH000130: Instantiating explicit connection provider: org.hibernate.ejb .connection.InjectedDataSourceConnectionProvider 12-Sep-2014 17:13:26.275 INFO [localhost-startStop-1] org.hibernate.dialect.Dial ect. HHH000400: Using dialect: org.hibernate.dialect.HSQLDialect 12-Sep-2014 17:13:26.356 INFO [localhost-startStop-1] org.hibernate.engine.trans action.internal.TransactionFactoryInitiator.initiateService HHH000268: Transacti on strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFacto ry 12-Sep-2014 17:13:26.374 INFO [localhost-startStop-1] org.hibernate.hql.internal .ast.ASTQueryTranslatorFactory. HHH000397: Using ASTQueryTranslatorFactory 12-Sep-2014 17:13:26.498 INFO [localhost-startStop-1] . HV0000 01: Hibernate Validator 4.3.0.Final 12-Sep-2014 17:13:27.699 INFO [localhost-startStop-1] org.springframework.web.se rvlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod Mapped "{[/addP et],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String com.zeroturnaround.snoutbook.controllers.AddPetForm.setu pForm(org.springframework.ui.Model) 12-Sep-2014 17:13:27.700 INFO [localhost-startStop-1] org.springframework.web.se rvlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod Mapped "{[/addP et],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String com.zeroturnaround.snoutbook.controllers.AddPetForm.han dleSubmit(com.zeroturnaround.snoutbook.form.PetForm,org.springframework.validati on.BindingResult,org.springframework.web.bind.support.SessionStatus) 12-Sep-2014 17:13:27.701 INFO [localhost-startStop-1] org.springframework.web.se rvlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod Mapped "{[/pet/ {petId}],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" ont o public java.lang.String com.zeroturnaround.snoutbook.controllers.SnoutContolle r.pet(java.lang.Long,org.springframework.ui.Model) 12-Sep-2014 17:13:27.702 INFO [localhost-startStop-1] org.springframework.web.se rvlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod Mapped "{[/owne rs],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto pub lic java.lang.String com.zeroturnaround.snoutbook.controllers.SnoutContoller.lis tOwners(org.springframework.ui.Model) 12-Sep-2014 17:13:27.762 INFO [localhost-startStop-1] org.springframework.web.se rvlet.handler.AbstractUrlHandlerMapping.registerHandler Mapped URL path [/**] on to handler of type [class org.springframework.web.servlet.resource.DefaultServle tHttpRequestHandler] 12-Sep-2014 17:13:28.129 INFO [localhost-startStop-1] org.springframework.web.se rvlet.FrameworkServlet.initServletBean FrameworkServlet 'dispatcher': initializa tion completed in 4960 ms 12-Sep-2014 17:13:28.140 INFO [localhost-startStop-1] org.apache.catalina.startu p.HostConfig.deployWAR Deployment of web application archive D:\Users\b21090094\ apache-tomcat-8.0.12\webapps\Snoutbook-1.0.0-SNAPSHOT.war has finished in 8,103 ms 12-Sep-2014 17:13:28.141 INFO [localhost-startStop-1] org.apache.catalina.startu p.HostConfig.deployDirectory Deploying web application directory D:\Users\b21090 094\apache-tomcat-8.0.12\webapps\docs 12-Sep-2014 17:13:28.167 INFO [localhost-startStop-1] org.apache.catalina.startu p.HostConfig.deployDirectory Deployment of web application directory D:\Users\b2 1090094\apache-tomcat-8.0.12\webapps\docs has finished in 26 ms 12-Sep-2014 17:13:28.168 INFO [localhost-startStop-1] org.apache.catalina.startu p.HostConfig.deployDirectory Deploying web application directory D:\Users\b21090 094\apache-tomcat-8.0.12\webapps\examples 12-Sep-2014 17:13:28.537 INFO [localhost-startStop-1] org.apache.catalina.startu p.HostConfig.deployDirectory Deployment of web application directory D:\Users\b2 1090094\apache-tomcat-8.0.12\webapps\examples has finished in 370 ms 12-Sep-2014 17:13:28.538 INFO [localhost-startStop-1] org.apache.catalina.startu p.HostConfig.deployDirectory Deploying web application directory D:\Users\b21090 094\apache-tomcat-8.0.12\webapps\host-manager 12-Sep-2014 17:13:28.572 INFO [localhost-startStop-1] org.apache.catalina.startu p.HostConfig.deployDirectory Deployment of web application directory D:\Users\b2 1090094\apache-tomcat-8.0.12\webapps\host-manager has finished in 34 ms 12-Sep-2014 17:13:28.573 INFO [localhost-startStop-1] org.apache.catalina.startu p.HostConfig.deployDirectory Deploying web application directory D:\Users\b21090 094\apache-tomcat-8.0.12\webapps\manager 12-Sep-2014 17:13:28.633 INFO [localhost-startStop-1] org.apache.catalina.startu p.HostConfig.deployDirectory Deployment of web application directory D:\Users\b2 1090094\apache-tomcat-8.0.12\webapps\manager has finished in 61 ms 12-Sep-2014 17:13:28.633 INFO [localhost-startStop-1] org.apache.catalina.startu p.HostConfig.deployDirectory Deploying web application directory D:\Users\b21090 094\apache-tomcat-8.0.12\webapps\ROOT 12-Sep-2014 17:13:28.659 INFO [localhost-startStop-1] org.apache.catalina.startu p.HostConfig.deployDirectory Deployment of web application directory D:\Users\b2 1090094\apache-tomcat-8.0.12\webapps\ROOT has finished in 26 ms 12-Sep-2014 17:13:28.663 INFO [main] org.apache.coyote.AbstractProtocol.start St arting ProtocolHandler ["http-nio-8080"] 12-Sep-2014 17:13:28.676 INFO [main] org.apache.coyote.AbstractProtocol.start St arting ProtocolHandler ["ajp-nio-8009"] 12-Sep-2014 17:13:28.682 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 8701 ms
After that I am still getting Error 404.
Try to use http://localhost:8080/Snoutbook-1.0.0-SNAPSHOT/owners
When you upload war file to webapp folder of tomcat, by default tomcat let you access the webapp with the war's name. And then when you look at the web app initializer (the subtitute of web.xml
), it's registering the DispatcherServlet
with /
mapping. Next, you look at the controller , it have @RequestMapping
pointed to /owners
. Hence, the path is:
host:port
+ war-name
+ servlet-mapping
+ controller-mapping
equals to
localhost:8080/
+ Snoutbook-1.0.0-SNAPSHOT/
+ /
+ owners
equals to
http://localhost:8080/Snoutbook-1.0.0-SNAPSHOT/owners
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.