SEVERE: Servlet.service() for servlet Spring MVC Dispatcher Servlet threw exception - ajax

<--My Console Output->
09:04:10,286 DEBUG SessionBindingConversationManager:99 - Unlocking conversation 1
09:04:11,479 DEBUG FlowHandlerMapping:108 - Mapping request with URI '/arcindex/app/main' to flow with id 'main'
09:04:11,481 DEBUG FlowExecutorImpl:161 - Resuming flow execution with key 'e1s2
09:04:11,481 DEBUG SessionBindingConversationManager:67 - Locking conversation 1
09:04:11,482 DEBUG DefaultFlowExecutionRepository:106 - Getting flow execution with key 'e1s2'
09:04:11,482 DEBUG FlowDefinitionRegistryImpl:59 - Getting FlowDefinition with id 'main'
09:04:11,487 DEBUG ConditionalFlowExecutionListenerLoader:87 - Loaded [2] of possible 2 listeners for this execution request for flow 'main', the listeners to attach are list[org.springframework.webflow.persistence.JpaFlowExecutionListener#4145582, org.springframework.faces.webflow.FlowFacesContextLifecycleListener#52f9cbe5]
09:04:11,488 DEBUG FlowExecutionImpl:249 - Resuming in org.springframework.webflow.mvc.servlet.MvcExternalContext#4614ac54
09:04:11,489 DEBUG Flow:636 - Restoring [FlowVariable#450ae3fb name = 'user', valueFactory = [BeanFactoryVariableValueFactory#4dfd9726 type = UserEntity]]
ez09:04:11,581 DEBUG FlowExecutionImpl:590 - Attempting to handle [org.springframework.webflow.execution.FlowExecutionException: Exception thrown in state 'SignUp' of flow 'main'] with root cause [java.lang.NullPointerException]
09:04:11,582 DEBUG FlowExecutionImpl:611 - Rethrowing unhandled flow execution exception
09:04:11,582 DEBUG SessionBindingConversationManager:99 - Unlocking conversation 1
16.Ara.2013 09:04:11 org.apache.catalina.core.StandardWrapperValve invoke
16.Ara.2013 05:02:56 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Spring MVC Dispatcher Servlet threw exception
java.lang.NullPointerException
at
com.gen.spring.services.imp.userServiceImp.checkAvailable(userServiceImp.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at org.primefaces.component.behavior.ajax.AjaxBehaviorListenerImpl.processAjaxBehavior(AjaxBehaviorListenerImpl.java:47)
at javax.faces.event.AjaxBehaviorEvent.processListener(AjaxBehaviorEvent.java:113)
at javax.faces.component.behavior.BehaviorBase.broadcast(BehaviorBase.java:106)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:760)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at org.springframework.faces.webflow.FlowLifecycle.invokePhase(FlowLifecycle.java:127)
at org.springframework.faces.webflow.FlowLifecycle.execute(FlowLifecycle.java:70)
at org.springframework.faces.webflow.JsfView.processUserEvent(JsfView.java:120)
at org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:226)
at org.springframework.webflow.engine.ViewState.resume(ViewState.java:196)
at org.springframework.webflow.engine.Flow.resume(Flow.java:545)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:258)
at org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169)
at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183)
at org.springframework.faces.webflow.JsfFlowHandlerAdapter.handle(JsfFlowHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
05:03:09,792 DEBUG FlowHandlerMapping:108 - Mapping request with URI '/arcindex/app/main' to flow with id 'main'
05:03:09,793 DEBUG FlowExecutorImpl:161 - Resuming flow execution with key 'e1s2
05:03:09,793 DEBUG SessionBindingConversationManager:67 - Locking conversation 1
05:03:09,794 DEBUG DefaultFlowExecutionRepository:106 - Getting flow execution with key 'e1s2'
05:03:09,794 DEBUG FlowDefinitionRegistryImpl:59 - Getting FlowDefinition with id 'main'
05:03:09,800 DEBUG ConditionalFlowExecutionListenerLoader:87 - Loaded [2] of possible 2 listeners for this execution request for flow 'main', the listeners to attach are list[org.springframework.webflow.persistence.JpaFlowExecutionListener#10bfb545, org.springframework.faces.webflow.FlowFacesContextLifecycleListener#1a15cd9a]
05:03:09,800 DEBUG FlowExecutionImpl:249 - Resuming in org.springframework.webflow.mvc.servlet.MvcExternalContext#5ab04589
05:03:09,801 DEBUG Flow:636 - Restoring [FlowVariable#3157457b name = 'user', valueFactory = [BeanFactoryVariableValueFactory#5892a78b type = UserEntity]]mgk
05:03:09,846 DEBUG FlowExecutionImpl:590 - Attempting to handle [org.springframework.webflow.execution.FlowExecutionException: Exception thrown in state 'SignUp' of flow 'main'] with root cause [java.lang.NullPointerException]
05:03:09,846 DEBUG FlowExecutionImpl:611 - Rethrowing unhandled flow execution exception
05:03:09,847 DEBUG SessionBindingConversationManager:99 - Unlocking conversation 1
<-My SignUp.xhtml Username input and check with error->
<h:panelGroup>
<h:outputText value="Kullanıcı Adı:" />
<h:outputText style="color:red" value="* " />
</h:panelGroup>
<p:inputText id="kad" label="Kullanıcı Adı" value="#{user.kad}"
required="true" title="Kullanıcı Adını giriniz!">
<f:validateLength minimum="2" />
<p:ajax event="keyup" update="kadMsj" global="false" listener="#
{userService.checkAvailable}" />
</p:inputText>
<h:panelGroup>
<- Check Available ->
public boolean checkAvailable(AjaxBehaviorEvent event) {
InputText inputText = (InputText) event.getSource();
String value = (String) inputText.getValue();
System.out.print(value);
boolean available = userDao.checkAvailable(value);
if (!available) {
FacesMessage message = constructErrorMessage(null, String.format(getMessageBundle().getString("userExistsMsg"), value));
getFacesContext().addMessage(event.getComponent().getClientId(), message);
} else {
FacesMessage message = constructInfoMessage(null, String.format(getMessageBundle().getString("userAvailableMsg"), value));
getFacesContext().addMessage(event.getComponent().getClientId(), message);
}
return available;
}
<- WEB.XML ->
<servlet>
<servlet-name>Resources Servlet</servlet-name>
<servlet-class>org.springframework.js.resource.ResourceServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Resources Servlet</servlet-name>
<url-pattern>/resources/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
<url-pattern>/app/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
I'm trying to make a signup page. I want to get primefaces input values and write them database . When I enter a value there was no exception until one character,but also still doesn't worked. With increasing number characters,the error refreshes itself. How do I resolve this error?

Related

In Spring MVC i cant able to run my server

`
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:465)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:395)at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:443)at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:459)at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:340)at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:307)at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127)at javax.servlet.GenericServlet.init(GenericServlet.java:158)at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1164)at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1117)at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1010)at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5264)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.startup.Catalina.start(Catalina.java:772)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:568)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/spring-servlet.xml]at
org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:1
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)
`
In TOmCAT Server.I can't able to run the project.?
`
SEVERE: Servlet [spring] in web application [/SpringMvc4] threw load() exceptionjava.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/spring-servlet.xml]at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:118)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:465)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:395)at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:443)at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:459)at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:340)at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:307)at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127)at javax.servlet.GenericServlet.init(GenericServlet.java:158)at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1164)at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1117)at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1010)at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5264)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.startup.Catalina.start(Catalina.java:772)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)`
`
Make sure that your spring-servlet.xml is referenced properly in web.xml.
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

p:fileUpload doesn't work using #Autowired bean annotation

I recived error when try upload file using p:fileUpload.
I tried maven clean and maven install for update dependeces.
I changed web.xml many times. I belive the problem is relationship with my anotation, i m using #Autowired (Spring) but i change it an donsen't work.
How i resolve this problem?
I m using:
Primefaces 6.0,
Java 8,
Spring Data,
Spring MVC
my web xml:
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<url-pattern>*.jsf</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ASYNC</dispatcher>
</filter-mapping>
JSF:
<p:fileUpload id="fileDescAto" auto="true" multiple="false"
invalidFileMessage="Tipo de Arquivo Inválido:"
disabled="#{not empty searchDocumentoBean.descAtoArquivoFileName}"
update="messagesDialog #this panelGroupFileDescription"
allowTypes="/(\.|\/)(pdf)$/" sizeLimit="10485760"
invalidSizeMessage="Tamanho de arquivo excedido (10MB):"
fileUploadListener="#{searchDocumentoBean.adicionaArquivoUpload}"
label="Escolher Arquivo..." mode="advanced" />
Bean:
public void adicionaArquivoUpload(FileUploadEvent ev) {
String[] name = ev.getFile().getFileName().split("\\\\");
descAtoArquivo = ev.getFile().getContents();
descAtoArquivoFileName = name[name.length-1];
}
public void removeArquivoUpload() {
descAtoArquivo = null;
descAtoArquivoFileName = null;
}// GET AND SET OMITED
Head annotation My bean:
#Component
#Scope("view")
#ManagedBean(name = "searchDocumentoBean")
#URLMappings(mappings = {
#URLMapping(id ="searchDocumento", pattern = "/searchDocumento", viewId = "/resources/pages/documento/searchDocumento.jsf")
})
ERROR CONSOLE WHEN I TRY USE FILE UPLOAD
javax.faces.event.AbortProcessingException error obtained during the processing of RENDER_RESPONSE 6: UIComponent-ClientId
08:43:55,231 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (http-/0.0.0.0:8080-2) Error Rendering View[/resources/pages/documento/searchDocumento.xhtml]: javax.faces.event.AbortProcessingException: java.lang.NullPointerException
at org.primefaces.context.PrimePartialResponseWriter.startMetadataIfNecessary(PrimePartialResponseWriter.java:303) [primefaces-6.0.jar:6.0]
at org.primefaces.context.PrimePartialResponseWriter.startUpdate(PrimePartialResponseWriter.java:142) [primefaces-6.0.jar:6.0]
Caused by: java.lang.NullPointerException
at org.primefaces.util.ResourceUtils.filterStylesheets(ResourceUtils.java:96) [primefaces-6.0.jar:6.0]
at org.primefaces.context.PrimePartialResponseWriter.startMetadataIfNecessary(PrimePartialResponseWriter.java:287) [primefaces-6.0.jar:6.0]
... 49 more
08:43:55,246 SEVERE [javax.enterprise.resource.webcontainer.jsf.context] (http-/0.0.0.0:8080-2) JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de RENDER_RESPONSE 6: UIComponent-ClientId=, Message=java.lang.NullPointerException
08:43:55,240 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (http-/0.0.0.0:8080-5) Error Rendering View[/resources/pages/documento/searchDocumento.xhtml]: javax.faces.event.AbortProcessingException: java.lang.NullPointerException
UPDATE 27/09/2017
I recive error:
JBWEB000281: Servlet mapping specifies an unknown Servlet name Faces Servlet´
Where an error in my web.xml?
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
<init-param>
<param-name>thresholdSize</param-name>
<param-value>51200</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>openEntityManager</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
This solve my problem:
Listener method in p:fileUpload is never invoked in primefaces
Besides That.
i need especify location the Faces Servlet:
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
javax.faces.webapp.FacesServlet
I needed especify resource primefaces depends for fileupload works fine>
<context-param>
<param-name>primefaces.UPLOADER</param-name>
<param-value>commons</param-value>
</context-param>
In some versions of primefaces it is not necessary to specify this configuration. I am currently using version 6.0, which believed that this specification was not necessary in web.xml because it is a newer version, but it was necessary.

OpenEntityManagerInViewFilter closed session before database update

I set up a OpenEntityManagerInViewFilter,but it always close session before writting to the database.here is my code ,please help me.Thank you .
<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>panshi</display-name>
<context-param>
<description>服务器的参数!</description>
<param-name>webAppRootKey</param-name>
<param-value>webRoot.root</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/*-config.xml
</param-value>
</context-param>
<context-param>
<description>日志的参数。</description>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.security.web.session.HttpSessionEventPublisher
</listener-class>
</listener>
<!--
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/picshow/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/CSS/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/images/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
-->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.json</url-pattern>
</servlet-mapping>
<filter>
<filter-name>httpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>httpMethodFilter</filter-name>
<servlet-name>spring</servlet-name>
</filter-mapping>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>10</session-timeout>
</session-config>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<!-- Displays a stack trace -->
<location>/WEB-INF/jsp/uncaughtException.jsp</location>
</error-page>
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>entityManagerFilter</filter-name>
<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>entityManagerFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>entityManagerFilter</filter-name>
<url-pattern>*.json</url-pattern>
</filter-mapping>
<!--
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class> org.springframework.orm.hibernate4.support.OpenSessionInViewFilter </filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.json</url-pattern>
</filter-mapping>
-->
<welcome-file-list>
<welcome-file>/index.html</welcome-file>
</welcome-file-list>
</web-app>
JPA setting
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config />
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
<context:component-scan base-package="cn.hballSoft.domain" />
<context:component-scan base-package="cn.hballSoft.security.domain" />
<context:property-placeholder location="classpath:jdbc.properties" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close" p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.url}" p:username="${jdbc.username}" p:password="${jdbc.password}" />
<!-- 这里多部分文件上传处理控制器 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10000000" />
</bean>
<!-- JPA EntityManagerFactory -->
<bean id="jpaDialect" class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />
<bean id="jpaVendorAdapter"
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
<!-- JPA primary EntityManagerFactory entityManagerFactory-->
<bean id="entityManagerFactory" lazy-init="true"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
p:persistenceUnitName="ServerPU" p:jpaVendorAdapter-ref="jpaVendorAdapter"
p:jpaDialect-ref="jpaDialect" p:dataSource-ref="dataSource" />
<bean id="sessionFactory" factory-bean="entityManagerFactory"
factory-method="getSessionFactory">
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"
p:entityManagerFactory-ref="entityManagerFactory" />
<tx:annotation-driven transaction-manager="transactionManager" />
<bean id="departmentDao" class="cn.hballSoft.domain.dao.ImageDao"/>
<bean id="userDAO" class="cn.hballSoft.security.domain.UserDAO"/>
<bean id="roleDAO" class="cn.hballSoft.security.domain.RoleDAO"/>
<bean id="resourceDAO" class="cn.hballSoft.security.domain.ResourceDAO">
<qualifier value="resourceDAO"/>
</bean>
</beans>
persistence
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="ServerPU"
transaction-type="RESOURCE_LOCAL">
<!-- RESOURCE_LOCAL -->
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!-- <class>cn.hballSoft.domain.Category</class>-->
<class>cn.hballSoft.security.domain.Resource</class>
<class>cn.hballSoft.security.domain.Role</class>
<class>cn.hballSoft.security.domain.User</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider" />
<property name="hibernate.showsql" value="true" />
<property name="hibernate.cache.use_second_level_cache"
value="false" />
<property name="hibernate.search.default.directory_provider"
value="org.hibernate.search.store.FSDirectoryProvider" />
<property name="hibernate.search.default.indexBase" value="d:/indexes" />
</properties>
</persistence-unit>
</persistence>
****DAO******
#Repository
#Transactional
public class ResourceDAO {
public static final String TYPE = "type";
#PersistenceContext
private EntityManager entityManager;
#Transactional
public void save(Resource entity) {
EntityManagerHelper.log("saving Resource instance", Level.INFO, null);
try {
entityManager.persist(entity);
EntityManagerHelper.log("save successful", Level.INFO, null);
} catch (RuntimeException re) {
EntityManagerHelper.log("save failed", Level.ERROR, re);
throw re;
}
}
}
*********method in the controller
#Transactional
#RequestMapping(value="/admin/manage/resource.json",method = RequestMethod.POST)
#ResponseBody
public LinkedHashMap<String, Object> createResource(#RequestBody Resource resource){
Resource res = new Resource(resource.getResourceString());
res.setDescn(resource.getDescn());
res.setMethod(resource.getMethod());
res.setType(resource.getType());
res.setPriority(resource.getPriority());
resourceDAO.save(res);
if(!res.getId().isEmpty()){
return buildMessageResult(true,"成功建立资源"+res.getId());}
else{
return buildMessageResult(true,"建立资源失败!");
}
}
****debug console output **************
09-04 17:59:32 DEBUG RequestMappingHandlerMapping:220 - Looking up handler method for path /admin/manage/resource.json
09-04 17:59:32 DEBUG RequestMappingHandlerMapping:264 - Found 1 matching mapping(s) for [/admin/manage/resource.json] : [{[/admin/manage/resource.json],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}]
09-04 17:59:32 DEBUG HandlerMethod:135 - Method [initBinder] returned [null]
09-04 17:59:32 DEBUG HandlerMethod:129 - Invoking [createResource] method with arguments [cn.hballSoft.security.domain.Resource#56ad4264]
09-04 17:59:32 INFO ServerPU:60 - saving Resource instance
09-04 17:59:32 DEBUG TransactionSynchronizationManager:140 - Retrieved value [org.springframework.orm.jpa.EntityManagerHolder#1a08777c] for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean#529e0c79] bound to thread [http-8080-2]
09-04 17:59:32 DEBUG AbstractSaveEventListener:130 - Generated identifier: 40288ae840e869000140e869a3f90000, using strategy: org.hibernate.id.UUIDHexGenerator
09-04 17:59:32 INFO ServerPU:60 - save successful
09-04 17:59:32 DEBUG HandlerMethod:135 - Method [createResource] returned [{Success=true, Message=成功建立资源40288ae840e869000140e869a3f90000}]
09-04 17:59:32 DEBUG HandlerMethodReturnValueHandlerComposite:78 - Testing if return value handler [org.springframework.web.servlet.mvc.method.annotation.ModelAndViewMethodReturnValueHandler#e58ff51] supports [java.util.LinkedHashMap<java.lang.String, java.lang.Object>]
09-04 17:59:32 DEBUG HandlerMethodReturnValueHandlerComposite:78 - Testing if return value handler [org.springframework.web.method.annotation.ModelMethodProcessor#2b39d891] supports [java.util.LinkedHashMap<java.lang.String, java.lang.Object>]
09-04 17:59:32 DEBUG HandlerMethodReturnValueHandlerComposite:78 - Testing if return value handler [org.springframework.web.servlet.mvc.method.annotation.ViewMethodReturnValueHandler#6b6b4e30] supports [java.util.LinkedHashMap<java.lang.String, java.lang.Object>]
09-04 17:59:32 DEBUG HandlerMethodReturnValueHandlerComposite:78 - Testing if return value handler [org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor#59fcadd3] supports [java.util.LinkedHashMap<java.lang.String, java.lang.Object>]
09-04 17:59:32 DEBUG HandlerMethodReturnValueHandlerComposite:78 - Testing if return value handler [org.springframework.web.servlet.mvc.method.annotation.CallableMethodReturnValueHandler#31ccbefe] supports [java.util.LinkedHashMap<java.lang.String, java.lang.Object>]
09-04 17:59:32 DEBUG HandlerMethodReturnValueHandlerComposite:78 - Testing if return value handler [org.springframework.web.servlet.mvc.method.annotation.DeferredResultMethodReturnValueHandler#53e64a3b] supports [java.util.LinkedHashMap<java.lang.String, java.lang.Object>]
09-04 17:59:32 DEBUG HandlerMethodReturnValueHandlerComposite:78 - Testing if return value handler [org.springframework.web.servlet.mvc.method.annotation.AsyncTaskMethodReturnValueHandler#70f87478] supports [java.util.LinkedHashMap<java.lang.String, java.lang.Object>]
09-04 17:59:32 DEBUG HandlerMethodReturnValueHandlerComposite:78 - Testing if return value handler [org.springframework.web.method.annotation.ModelAttributeMethodProcessor#f74f6ef] supports [java.util.LinkedHashMap<java.lang.String, java.lang.Object>]
09-04 17:59:32 DEBUG HandlerMethodReturnValueHandlerComposite:78 - Testing if return value handler [org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor#47ffccd6] supports [java.util.LinkedHashMap<java.lang.String, java.lang.Object>]
09-04 17:59:32 DEBUG RequestResponseBodyMethodProcessor:150 - Written [{Success=true, Message=成功建立资源40288ae840e869000140e869a3f90000}] as "application/json;charset=UTF-8" using [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter#34a8a271]
09-04 17:59:32 DEBUG DispatcherServlet:999 - Null ModelAndView returned to DispatcherServlet with name 'spring': assuming HandlerAdapter completed request handling
09-04 17:59:32 DEBUG DispatcherServlet:1028 - Cleared thread-bound request context: FirewalledRequest[ org.apache.catalina.connector.RequestFacade#40545646]
09-04 17:59:32 DEBUG DispatcherServlet:966 - Successfully completed request
09-04 17:59:32 DEBUG XmlWebApplicationContext:332 - Publishing event in WebApplicationContext for namespace 'spring-servlet': ServletRequestHandledEvent: url=[/panshi/admin/manage/resource.json]; client=[127.0.0.1]; method=[POST]; servlet=[spring]; session=[1AC287B1EBE796642F17B9AB4F9B6D8A]; user=[null]; time=[96ms]; status=[OK]
09-04 17:59:32 DEBUG XmlWebApplicationContext:332 - Publishing event in Root WebApplicationContext: ServletRequestHandledEvent: url=[/panshi/admin/manage/resource.json]; client=[127.0.0.1]; method=[POST]; servlet=[spring]; session=[1AC287B1EBE796642F17B9AB4F9B6D8A]; user=[null]; time=[96ms]; status=[OK]
09-04 17:59:32 DEBUG TransactionSynchronizationManager:243 - Removed value [org.springframework.orm.jpa.EntityManagerHolder#1a08777c] for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean#529e0c79] from thread [http-8080-2]
09-04 17:59:32 DEBUG OpenEntityManagerInViewFilter:188 - Closing JPA EntityManager in OpenEntityManagerInViewFilter
09-04 17:59:32 DEBUG EntityManagerFactoryUtils:338 - Closing JPA EntityManager
09-04 18:09:59 DEBUG HttpSessionEventPublisher:83 - Publishing event: org.springframework.security.web.session.HttpSessionDestroyedEvent[source=org.apache.catalina.session.StandardSessionFacade#75f10df7]
09-04 18:09:59 DEBUG XmlWebApplicationContext:332 - Publishing event in Root WebApplicationContext: org.springframework.security.web.session.HttpSessionDestroyedEvent[source=org.apache.catalina.session.StandardSessionFacade#75f10df7]
09-04 18:09:59 DEBUG DefaultListableBeanFactory:246 - Returning cached instance of singleton bean 'org.springframework.security.core.session.SessionRegistryImpl#0'
09-04 18:09:59 DEBUG DefaultListableBeanFactory:246 - Returning cached instance of singleton bean 'loggerListener'
In the testcase , it works fine and write into the database well.
#RunWith(SpringJUnit4ClassRunner.class)
#ContextConfiguration("jpa-config.xml")
#TransactionConfiguration(transactionManager="transactionManager", defaultRollback=false)
#Transactional
public class TestJPA {
ApplicationContext ctx;
DataSource dataSource;
#BeforeTransaction
public void verifyInitialDatabaseState() {
ctx = new FileSystemXmlApplicationContext("E:/FBworkspace/panshi/WebContent/WEB-INF/spring/jpa-config.xml");
dataSource = (DataSource)ctx.getBean("dataSource");
}
#Before
public void setUpTestDataWithinTransaction() {
// set up test data within the transaction
}
#Test
// overrides the class-level defaultRollback setting
#Rollback(false)
public void modifyDatabaseWithinTransaction() {
Resource res = new Resource("TEset REsource");
ResourceDAO resDao = (ResourceDAO)ctx.getBean("resourceDAO");
resDao.save(res);
}
#After
public void tearDownWithinTransaction() {
// execute "tear down" logic within the transaction
}
#AfterTransaction
public void verifyFinalDatabaseState() {
// logic to verify the final state after transaction has rolled back
}
}
************output with test *************
09-04 18:44:05 DEBUG EntityManagerFactoryRegistry:66 - Registering EntityManagerFactory: ServerPU
09-04 18:44:05 WARN EntityManagerFactoryRegistry:80 - HHH000436: Entity manager factory name (ServerPU) is already registered. If entity manager will be clustered or passivated, specify a unique value for property 'hibernate.ejb.entitymanager_factory_name'
09-04 18:44:05 INFO ServerPU:60 - saving Resource instance
09-04 18:44:05 DEBUG TransactionSynchronizationManager:140 - Retrieved value [org.springframework.orm.jpa.EntityManagerHolder#4b5a142f] for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean#6e3404f] bound to thread [main]
[org.springframework.transaction.support.DefaultTransactionStatus#54eeabe8]; rollback [false]
09-04 18:44:05 DEBUG JpaTransactionManager:923 - Triggering beforeCommit synchronization
09-04 18:44:05 DEBUG JpaTransactionManager:936 - Triggering beforeCompletion synchronization
09-04 18:44:05 DEBUG JpaTransactionManager:753 - Initiating transaction commit
09-04 18:44:05 DEBUG JpaTransactionManager:508 - Committing JPA transaction on EntityManager [org.hibernate.ejb.EntityManagerImpl#62c37f31]
09-04 18:44:05 DEBUG AbstractTransactionImpl:173 - committing
09-04 18:44:05 DEBUG JdbcTransaction:113 - committed JDBC Connection
09-04 18:44:05 DEBUG JdbcTransaction:126 - re-enabling autocommit
09-04 18:44:05 DEBUG DirtiesContextTestExecutionListener:107 - After test method: context [[TestContext#2f8bbc98 testClass = TestJPA, testInstance = cn.hballSoft.test.TestJPA#6ba7508a, testMethod = modifyDatabaseWithinTransaction#TestJPA, testException = [null], mergedContextConfiguration = [MergedContextConfiguration#3598cb3d testClass = TestJPA, locations = '{classpath:/cn/hballSoft/test/jpa-config.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]]], class dirties context [false], class mode [null], method dirties context [false].
09-04 18:44:05 INFO GenericApplicationContext:1042 - Closing org.springframework.context.support.GenericApplicationContext#4cf7c31d: startup date [Wed Sep 04 18:43:59 CST 2013]; root of context hierarchy
09-04 18:44:05 DEBUG GenericApplicationContext:332 - Publishing event in org.springframework.context.support.GenericApplicationContext#4cf7c31d: org.springframework.context.event.ContextClosedEvent[source=org.springframework.context.support.GenericApplicationContext#4cf7c31d: startup date [Wed Sep 04 18:43:59 CST 2013]; root of context hierarchy]
09-04 18:44:05 DEBUG DefaultListableBeanFactory:246 - Returning cached instance of singleton bean 'lifecycleProcessor'
09-04 18:44:05 INFO DefaultListableBeanFactory:444 - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory#62770d2e: defining beans
09-04 18:44:05 DEBUG DisposableBeanAdapter:226 - Invoking destroy() on bean with name 'entityManagerFactory'
09-04 18:44:05 INFO LocalContainerEntityManagerFactoryBean:441 - Closing JPA EntityManagerFactory for persistence unit 'ServerPU'
09-04 18:44:05 DEBUG SessionFactoryImpl:1369 - HHH000031: Closing
09-04 18:44:05 DEBUG EntityManagerFactoryRegistry:108 - Remove: name=ServerPU
09-04 18:44:05 DEBUG DisposableBeanAdapter:302 - Invoking destroy method 'close' on bean with name 'dataSource'
I know what happen.
I have multiple *-config.xml
all of them have
<context:annotation-config />
<context:component-scan base-package="cn.hballSoft.domain" />
<context:component-scan base-package="cn.hballSoft.security.domain" />
maybe it cause duplicate load transaction config.
keep single and slove the problem.

Custom HTTP Error 404 - Annotation based setting Spring 3.2

Is it possible to implement annotation based custom HTTP 404 error page using Spring 3.2.1?
I looked for ways in various forums but couldn't find any clear answer.
I also tried configuring using web.xml but it is not working when I access unmapped URL.
Any help please?
Log output
7259 [DEBUG] org.springframework.web.servlet.DispatcherServlet - DispatcherServlet with name 'spring-test' processing GET request for [/spring-test/ss]
7261 [DEBUG] org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Looking up handler method for path /ss
7262 [DEBUG] org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Did not find handler method for [/ss]
7262 [WARN ] org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/spring-test/ss] in DispatcherServlet with name 'spring-test'
7262 [DEBUG] org.springframework.web.servlet.DispatcherServlet - Successfully completed request
web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="rest" version="3.0" metadata-complete="true">
<!-- The definition of the Spring Container shared by all Servlets and Filters -->
<context-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>main.java.net.bornil.config</param-value>
</context-param>
<!-- Processes application requests -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>main.java.net.bornil.config</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file />
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<location>/errors/404</location>
</error-page>
</web-app>
Controller
#Controller
#RequestMapping(value = "/errors")
public class CommonExceptionHandler {
private static Logger log = Logger.getLogger(CommonExceptionHandler.class.getName());
#RequestMapping(method = RequestMethod.GET, value = "/{code}")
public ModelAndView handleException(#PathVariable int code) {
if (log.isDebugEnabled()) {
log.debug("ERROR CODE IS: " + code);
}
return new ModelAndView("errors/404");
}
}
I had the same issue. I've a simple webapp, single page and, after spending a morning on the Spring forum (so nice you cannot search '404' there because it's just 3 chars long) and Google this is the best solution I found.
Assuming you have a index.jsp and a 404.jsp, my #Configuration' has:
#Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("index");
registry.addViewController("/*").setViewName("404");
}

Application context Error in JBoss Seam -Spring Integration

I wish to know that if all the configurations I'd done is correct? If you need any of the configuration file please ask for it. Thanks. I am new to this kind of question. :)
Hi , the problem I encountered s something like: when the Spring bean is initializing and it start to inject seam component into it, but the seam component isn't there during server startup and I got the java.lang.IllegalStateException: No application context active.
Error logs and configurations are provided below:
error log:
13:35:34,698 ERROR [DispatcherServlet] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springController' defined in ServletContext resource [/WEB-INF/NUSLibraries-servlet.xml]: Cannot resolve reference to bean 'ActionPortalStaticPage' while setting bean property 'portalStaticPage'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ActionPortalStaticPage': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: No application context active
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanD efinitionValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessar y(BeanDefinitionValueResolver.java:106)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyVa lues(AbstractAutowireCapableBeanFactory.java:1325)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(Ab stractAutowireCapableBeanFactory.java:1086)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(Ab stractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(Abst ractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactor y.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultS ingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory. java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.ja va:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton s(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitializati on(AbstractApplicationContext.java:895)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ActionPortalStaticPage': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: No application context active
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryB ean(FactoryBeanRegistrySupport.java:149)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBea n(FactoryBeanRegistrySupport.java:109)
at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(Abstr actBeanFactory.java:1429)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory. java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.ja va:190)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanD efinitionValueResolver.java:322)
... 89 more
Caused by: java.lang.IllegalStateException: No application context active
at org.jboss.seam.Component.forName(Component.java:1945)
at org.jboss.seam.Component.getInstance(Component.java:2005)
at org.jboss.seam.Component.getInstance(Component.java:1983)
at org.jboss.seam.Component.getInstance(Component.java:1977)
at org.jboss.seam.Component.getInstance(Component.java:1972)
at org.jboss.seam.ioc.spring.SeamTargetSource.getTarget(SeamTargetSource.java:85)
at org.jboss.seam.ioc.spring.SeamFactoryBean.createInstance(SeamFactoryBean.java:97)
at org.springframework.beans.factory.config.AbstractFactoryBean.getObject(AbstractFactoryBean.j ava:146)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryB ean(FactoryBeanRegistrySupport.java:142)
... 94 more
13:35:34,714 ERROR [[/frontend]] StandardWrapper.Throwable
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springController' defined in ServletContext resource [/WEB-INF/NUSLibraries-servlet.xml]: Cannot resolve reference to bean 'ActionPortalStaticPage' while setting bean property 'portalStaticPage'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ActionPortalStaticPage': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: No application context active
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanD efinitionValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessar y(BeanDefinitionValueResolver.java:106)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyVa lues(AbstractAutowireCapableBeanFactory.java:1325)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(Ab stractAutowireCapableBeanFactory.java:1086)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(Ab stractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(Abst ractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactor y.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultS ingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory. java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.ja va:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton s(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitializati on(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationCo ntext.java:425)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServle t.java:442)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServle t.java:458)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet. java:339)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:306)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1048)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:950)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4122)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4421)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployme nt.java:310)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java: 142)
at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAd apter.java:117)
at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployA ction.java:70)
at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProf ileAction.java:53)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractPro fileService.java:403)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.jav a:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083 )
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:775)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.registerProfile(Abs tractProfileService.java:308)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap .java:256)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
at org.jboss.Main.boot(Main.java:221)
at org.jboss.Main$1.run(Main.java:556)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ActionPortalStaticPage': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: No application context active
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryB ean(FactoryBeanRegistrySupport.java:149)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBea n(FactoryBeanRegistrySupport.java:109)
at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(Abstr actBeanFactory.java:1429)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory. java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.ja va:190)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanD efinitionValueResolver.java:322)
... 89 more
Caused by: java.lang.IllegalStateException: No application context active
at org.jboss.seam.Component.forName(Component.java:1945)
at org.jboss.seam.Component.getInstance(Component.java:2005)
at org.jboss.seam.Component.getInstance(Component.java:1983)
at org.jboss.seam.Component.getInstance(Component.java:1977)
at org.jboss.seam.Component.getInstance(Component.java:1972)
at org.jboss.seam.ioc.spring.SeamTargetSource.getTarget(SeamTargetSource.java:85)
at org.jboss.seam.ioc.spring.SeamFactoryBean.createInstance(SeamFactoryBean.java:97)
at org.springframework.beans.factory.config.AbstractFactoryBean.getObject(AbstractFactoryBean.j ava:146)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryB ean(FactoryBeanRegistrySupport.java:142)
... 94 more
13:35:34,714 ERROR [[/frontend]] Servlet /frontend threw load() exception
java.lang.IllegalStateException: No application context active
at org.jboss.seam.Component.forName(Component.java:1945)
at org.jboss.seam.Component.getInstance(Component.java:2005)
at org.jboss.seam.Component.getInstance(Component.java:1983)
at org.jboss.seam.Component.getInstance(Component.java:1977)
at org.jboss.seam.Component.getInstance(Component.java:1972)
at org.jboss.seam.ioc.spring.SeamTargetSource.getTarget(SeamTargetSource.java:85)
at org.jboss.seam.ioc.spring.SeamFactoryBean.createInstance(SeamFactoryBean.java:97)
at org.springframework.beans.factory.config.AbstractFactoryBean.getObject(AbstractFactoryBean.j ava:146)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryB ean
My 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>frontend</display-name>
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.seam</url-pattern>
</servlet-mapping>
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>
<listener>
<listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
</listener>
<filter>
<filter-name>Seam Filter</filter-name>
<filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Seam Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Seam Resource Servlet</servlet-name>
<servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Seam Resource Servlet</servlet-name>
<url-pattern>/seam/resource/*</url-pattern>
</servlet-mapping>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<security-constraint>
<display-name>Restrict raw XHTML Documents</display-name>
<web-resource-collection>
<web-resource-name>XHTML</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
<servlet>
<servlet-name>NUSLibraries</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>NUSLibraries</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
My application-context.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:mvc="http://www.springframework.org/schema/mvc"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:seam="http://jboss.com/products/seam/spring"
xmlns:context="http://www.springframework.org/schema/context"
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
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://jboss.com/products/seam/spring-seam
http://jboss.com/products/seam/spring-seam-2.1.xsd">
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="suffix">
<value>.xhtml</value>
</property>
</bean>
<!-- Controller -->
<bean id="springController" class="org.domain.frontend.controller.SpringController">
<property name="portalStaticPage" ref="ActionPortalStaticPage">
</property>
</bean>
<seam:instance name="ActionPortalStaticPage" id="ActionPortalStaticPage"/>
<bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
/*/*=springController
</value>
</property>
</bean>
</beans>
My Controller:
package org.domain.frontend.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.StringTokenizer;
import javax.persistence.NoResultException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.domain.frontend.session.ActionPortalStaticPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.support.RequestContextUtils;
#Controller
#Transactional
public class SpringController{
static Logger log = Logger.getLogger("SpringController");
private ActionPortalStaticPage portalStaticPage;
public void setPortalStaticPage(ActionPortalStaticPage portalStaticPage) {
this.portalStaticPage = portalStaticPage;
}
#RequestMapping("/*/{param}")
public ModelAndView langzh(HttpServletRequest request, HttpServletResponse response, #PathVariable("param") String param) throws Exception {
List<String> params = new ArrayList<String>();
try{
log.info("param("+param+")");
StringTokenizer st = new StringTokenizer(param,"-");
while (st.hasMoreTokens()) {
params.add(st.nextToken());
}
portalStaticPage.setTitle(params.toString());
log.info("portalStaticPage("+portalStaticPage.getTitle()+")");
return new ModelAndView("index");
}
catch(Exception ex){
ex.printStackTrace();
return new ModelAndView(params.get(0));
}
}
}
Thanks for every precious comment! Perhaps I m not doing it in the correct way.
Thank you
I can't see where your applicationContext is initialized. In a spring webapp I added
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
to web.xml which loads WEB-INF/applicationContext.xml.
I'm not sure whether this is recommended/required with seam integration.

Resources