簡體   English   中英

Spring MVC WebAPP可在Eclipse中運行,但在獨立的Tomcat中部署時會生成異常

[英]Spring mvc webapp works in eclipse but generates an exception when deployed in standalone tomcat

如標題中所述,我的應用程序使用SpringMVC和apache Tiles3。當在eclipse IDE中的服務器中運行時,它運行良好,但是當我導出war文件並將其部署在獨立的tomcat實例中時,它會部署Ok,但是當我訪問它時我有以下例外。 (請注意,eclipse中的服務器與部署Webapp的服務器相同)。

> exception
> 
> javax.servlet.ServletException: Could not resolve view with name
> 'login' in servlet with name 'dispatcher'
>   org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1208)
>   org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1012)
>   org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
>   org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
>   org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
>   org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
>   javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
>   org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
>   javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>   org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
>   org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>   org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
>   org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
>   org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>   org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
>   org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>   org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
>   org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>   org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
>   org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>   org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
>   org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>   org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
>   org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>   org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
>   org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>   org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
>   org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>   org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
>   org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
>   org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>   org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
>   org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>   org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
>   org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
>   org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
>   org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
>   org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
>   org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)

更新:非常感謝@ Fredlo2010。 我已經看過您提到的鏈接

這是我的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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>Project</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

並且jstl依賴項已經在pom.xml文件中

在其中一個答案中,有人指出,如果項目位置包含空間並且將碼頭與apache tile和spring的視圖解析器結合使用,那么這可能不是問題,這不是我的情況。 但是,為了消除任何疑問,我認為我應該嘗試一下。 現在我想知道應該在哪里將項目位置更改為沒有空間的路徑。 任何幫助都是可觀的。

我究竟做錯了什么? 先感謝您。

我無法確認是否是由項目位置路徑中的空格引起的,但是從Apache Tiles 3.0.3升級到3.0.5可以解決我的問題。

也許可以幫助某人面對同樣的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM