我正在尝试将几个网址映射到各自的控制器,如下所示:
/index.html => HomeController
/login/index.html = LoginController
我的servlet xml中的映射bean如下所示:
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<map>
<entry key="/index.html">
<ref bean="homeController" />
</entry>
<entry key="/login/index.html">
<ref bean="loginController" />
</entry>
</map>
</property>
</bean>
我已正确定义了homeController
和loginController
的参考bean。
我可以正确加载主页,但是当我尝试导航到/login
时,我没有显示loginController
指向的jsp,而是获得了tomcat请求的资源不可用错误。这里的语法有问题吗?感谢
这是我的web.xml的一部分:
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/index.html</url-pattern>
</servlet-mapping>
<welcome-file-list>
<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>
答案 0 :(得分:1)
您的网址映射为/login/index.html
,您正在导航至/login
。
您的网址映射必须与网址匹配。将映射更改为/login
编辑:好的,url-pattern
中的web.xml
仅捕获索引页面,因此它永远不会向{Spring发送/login
的请求。您需要将模式扩展为<url-pattern>/*</url-pattern>
(将每个请求发送到Spring),或者添加多个模式以覆盖您希望Spring处理的每个URL。
你的welcome-file-list
也有点过分了。你真的需要这些吗?