基本上,我正在嘗試做的是開始將.html
文件作爲視圖提供,並且由於指定的擴展名爲.html
而不起作用。將其更改爲.jsp
後,情況開始良好。所以,我猜InternalResourceViewResolver
需要.jsp
s。
這是需要(除重命名文件.jsp
)的主要變化,fomo-config.xml
:
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
可以看出我也從方式Martin Frey
推薦意見分離靜態資源。也許這也很重要。
applicationContext.xml
改爲如下:
<!-- Root Context: defines shared resources visible to all other web components -->
<mvc:resources mapping="/resources/**" location="/resources/" />
<mvc:default-servlet-handler/>
然後,即使login
加載頁面,靜態文件裏面它是沒有,所以我需要做兩件事情:
在webapp
文件夾內創建另一個resources
文件夾並將其移動到那裏所有資源
指定映射爲我web.xml
以下方式中的文件擴展名:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
的目錄結構看起來像現在這樣:
它現在工作正常,但我我仍然不確定爲什麼我們需要main/resources
文件夾,如果我不能通過指定絕對路徑的方式訪問它,請按照以下方式解釋:
http://akshaybobde.blogspot.com/2014/07/spring-mvc-serving-images-from-physical.html
我無法刪除或移動它:項目不會編譯。
嘗試刪除所有'/ resources'目錄引用。我不知道你是否在使用maven,但是如果你是... src/main/resources裏面的所有文件都在你的類路徑上,所以你永遠不需要引用「resources」目錄本身,只有子展位。 –
只是一個快速的評論:在你的配置中有一些我不喜歡的東西:你讓servlet通過你的標籤管理靜態內容,並且同時指示你的控制器管理相同的路徑。您在配置文件中聲明資源路徑只是沒有配置控制器來管理靜態資源!對我來說,如果你需要提供一個靜態html文件,你可以擺脫整個控制器。 –
MaVVamaldo
我刪除了'資源'引用,但沒有成功。我試圖直接訪問(無控制器)URL''.html'文件,但不能。 –