2016-06-21 10 views
0

この404エラーに関するいくつかの記事を読みましたが、役に立たないです。私が基底のURL http://localhost:8080/chatapplicationでこのプロジェクトにアクセスしているとき、私は404エラーを得ました。私はURLでもhttp://localhost:8080/chatapplication/chatでも同じ結果を試みました。次のように私のコードは次のとおりです。 -タイルを実装するspring mvcアプリケーションで404エラーが見つかりません

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE tiles-definitions PUBLIC 
     "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" 
     "http://tiles.apache.org/dtds/tiles-config_3_0.dtd"> 
<tiles-definitions> 
    <definition name="base.definition" 
       template="/WEB-INF/jsp/layout.jsp"> 
     <put-attribute name="title" value="" /> 
     <put-attribute name="header" value="/WEB-INF/jsp/header.jsp" /> 
     <put-attribute name="body" value="" /> 
     <put-attribute name="footer" value="/WEB-INF/jsp/footer.jsp" /> 
    </definition> 

    <definition name="chat" extends="base.definition"> 
     <put-attribute name="title" value="Chat Application" /> 
     <put-attribute name="body" value="/WEB-INF/jsp/chat.jsp" /> 
    </definition> 
    </tiles-definitions> 

Controllerクラスtiles.xml

web.xmlの

<!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd" > 

<web-app version="2.5" 
     xmlns="http://java.sun.com/xml/ns/javaee" 
     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_2_5.xsd"> 
    <display-name>Archetype Created Web Application</display-name> 
    <servlet> 
     <servlet-name>dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 

    </servlet> 
    <servlet-mapping> 
     <servlet-name>dispatcher</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value> 
      /WEB-INF/dispatcher-servlet.xml 
     </param-value> 
    </context-param> 

    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 

</web-app> 

ディスパッチャ-servlet.xml

<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:context="http://www.springframework.org/schema/context" 
     xmlns:mvc="http://www.springframework.org/schema/mvc" 
     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"> 

    <context:component-scan base-package="com.abhishek.controllers" /> 

    <bean id="viewResolver" 
      class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
     <property name="viewClass"> 
      <value> 
       org.springframework.web.servlet.view.tiles3.TilesView 
      </value> 
     </property> 
    </bean> 
    <bean id="tilesConfigurer" 
      class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> 
     <property name="definitions"> 
      <list> 
       <value>/WEB-INF/tiles.xml</value> 
      </list> 
     </property> 
    </bean> 

    </beans> 

次のとおりです -

package com.abhishek.controllers; 

import org.springframework.web.bind.annotation.RequestMapping; 

/** 
* Created by CAN14 on 6/21/2016. 
*/ 
public class HelloWorldController { 
    @RequestMapping(value="/chat") 
    public String index() 
    { 
     System.out.println("**************"); 
     return "home"; 
    } 
} 
事前に

くださいhelp..thanks ..

答えて

0

がHelloWorldControllerクラスの@Controller注釈がありません。

+0

を追加する必要があります

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

はsir..Iがあまりにもその後、404エラーが見つかりませんを@Controller(それは大きな間違いを)書いたが、ありがとうございました。..任意のヘルプが評価されるだろう.. – Abhishek

0

タイルビューリゾルバを注文するマップされていないコントローラからビューを返す場合に備えて、他のビューリゾルバを定義することもできます。あなたのコントローラからの "012"を "home"に戻しています。 tiles.xmlにはマップされません。 "chat"に変更すると、chat.jspはtiles.xmlにマップされているので、ヘッダーとフッターが表示されます。あなたはまた、タイル

せずに一つだけのJSPをマッピングするには、以下の
<bean id="jspViewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix"> 
     <value>/WEB-INF/views/</value> 
    </property> 
    <property name="suffix"> 
     <value>.jsp</value> 
    </property> 

    <property name="order" value="1"/> 
</bean> 
関連する問題