当前位置: 首页 > 知识库问答 >
问题:

Java,Spring,Apache Tiles错误:无法解析名为“dispatcher”的servlet中名为“index”的视图

柳高卓
2023-03-14
@Controller
public class IndexController {

    @RequestMapping("/index")
    public String index(){
        return "index";
    }
}

包含瓷砖定义的“general.xml”:

<tiles-definitions>
<definition name="common" template="/WEB-INF/layout/classic.jsp">
    <put-attribute name="footer" value="/WEB-INF/layout/footer.jsp" />
</definition>

<definition name="index" extends="common">
    <put-attribute name="title" value="My First Application" />
    <put-attribute name="body" value="/WEB-INF/jsp/index.jsp" />
</definition>

例外情况:

javax.servlet.ServletException: Could not resolve view with name 'index' in servlet with name 'dispatcher'
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1208)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1012)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:738)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:551)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:586)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:478)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:261)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:101)
at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:552)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:738)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:551)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:478)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:462)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:279)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:232)
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
at java.lang.Thread.run(Thread.java:744)

dispatcher-servlet.xml:

<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/defs/general.xml</value>
        </list>
    </property>
</bean>

<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView"/>  
</bean>

web.xml

  <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>*.html</url-pattern>
    <url-pattern>*.htm</url-pattern>
    <url-pattern>*.json</url-pattern>
    <url-pattern>*.xml</url-pattern>
</servlet-mapping>

共有1个答案

施昊然
2023-03-14

问题出在项目选址上。

当位置中有空格时,jetty、apache tiles和Spring的视图解析器的组合不能工作。

对于ex:a项目位置-D:\Folder Whitespace\Your_Project将抛出上述错误-无法解析名为'index'的servlet中名为'dispatcher'的视图

 类似资料:
  • 我的第一个应用程序有问题。我试着几个小时来解决这个问题。知道吗?? 类型异常报告 消息无法解析名为的servlet中名为“home”的视图 说明服务器遇到意外情况,无法完成请求。 例外情况 javax.servlet.ServletException:无法解析名为“dispatcher”的servlet中名为“home”的视图(dispatcher servlet.java:1251)org.sp

  • 我刚开始学习Spring MVC和tomcat。 我想通过Spring和ThymeLeaf VewTemplate引擎显示html页面。 但它不起作用。 下面是我的配置文件和控制器。 网状物xml文件 /webapp/WEB-INF/DispatcherServlet-serlvet。xml 和控制器 我在浏览器上键入localhost:9000/hello,然后浏览器显示此错误消息。HTTP状态

  • Springboot 2.5.13,swagger2:实现" io . spring fox:spring fox-boot-starter:3 . 0 . 0 "实现" io . spring fox:spring fox-swagger-ui:3 . 0 . 0 " 运行时错误:无法解析名为“forward:/swagger ui/index.html”的视图

  • 我是Spring MVC的新手,正在尝试在Spring MVC中创建我的第一个项目。请帮助我解决以下错误:- 控制台中出现以下错误:- web.xml dispatcher-servlet.xml 控制器类别 索引1.jsp Eclipse项目层次结构

  • 我正试图让我的项目在JPA中使用MySQL。每次我向mu pom添加JPA依赖项时。xml我得到了以下错误。 这是我的pom。xml看起来像 我尝试过解决类似问题的方法,比如创建名为“entityManagerFactory”的bean时出错 创建类路径资源中定义的名为entityManagerFactory的bean时出错对我不起作用。

  • 我正试图联系我的控制器: 应用程序servlet。xml: 网状物xml: 具体地说,我想启动我的服务器,让我的根目录位于localhost:8080/,但我似乎连FirstController都打不到。所以我的主要问题是:为什么我没有在FirstController中使用这两种方法? 我认为我的问题在于应用服务器。xml或web。xml文件。我在这里、这里、这里和这里查看了堆栈溢出,但我不知道我