Terminei o curso, porem fiquei com 3 dúvidas que não foram abordadas no curso e eu não consegui resolver procurando na internet. São elas:
1) Porque no form da detalhe.jsp foi usado c:url na action e na form.jsp foi usado a taglig mvcUrl? Tentei usar a taglig na detalhe.jsp e quebrou com o erro abaixo:
javax.persistence.NoResultException: No entity found for query org.hibernate.jpa.internal.QueryImpl.getSingleResult(QueryImpl.java:498) br.com.casadocodigo.loja.daos.ProdutoDAO.buscaPorId(ProdutoDAO.java:29) br.com.casadocodigo.loja.daos.ProdutoDAO$$FastClassBySpringCGLIB$$92ebe7c5.invoke() org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98) org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:266) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653) br.com.casadocodigo.loja.daos.ProdutoDAO$$EnhancerBySpringCGLIB$$1a711165.buscaPorId() br.com.casadocodigo.loja.controllers.CarrinhoComprasController.criaItem(CarrinhoComprasController.java:33) br.com.casadocodigo.loja.controllers.CarrinhoComprasController.add(CarrinhoComprasController.java:27) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:498) org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:781) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:721) org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863) javax.servlet.http.HttpServlet.service(HttpServlet.java:650) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
2) Como customizar o parâmetro do mvcUrl() quando o controllers e métodos são iguais?
Exemplo: (ProdutoController com método gravar e PrecoController com método gravar) Como customizar a chamada para mvcUrl('PC#gravar') ?
3) Criei a pasta resources dentro de webapp mais todos os arquivos estáticos tomam 404 no browser. Não consegui resolver este problema. O browser sempre retorna 404.
GET http://localhost:8080/casadocodigo/resources/css/cssbase-min.css -> 404