我一直在閱讀很多這樣的問題,但我沒有擺脫困境,我開始認爲問題是tomcat玩弄。 首先,這裏是我的web.xml,my * -servlet.xml和我的控制器。在web.xml中彈出PageNotFound和URLMapping
的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"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
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>Spring REST Server</display-name>
<description>Spring REST Server</description>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:env/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:config/applicationContext.xml
classpath:config/kimboo-servlet.xml
</param-value>
</context-param>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>Kimboo</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Spring MVC Dispatcher Servlet -->
<servlet>
<servlet-name>kimboo</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:config/applicationContext.xml
classpath:config/kimboo-servlet.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>kimboo</servlet-name>
<url-pattern>/home/</url-pattern>
</servlet-mapping>
</web-app>
這是我kimboo-servlet.xml中
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<context:component-scan base-package="ar.com.kimboo.server.ui.controller" />
<mvc:annotation-driven />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/AppClient/pages/" />
<property name="suffix" value=".html" />
</bean>
這是我的控制器
@Controller
@RequestMapping(value = "/home")
public class HomeController {
@RequestMapping(value = "/")
public String home() {
return "login";
}
@RequestMapping(value = "/main")
public String main() {
return "main";
}
@RequestMapping(value = "/about")
public String main() {
return "about";
}
}
這是一個非常簡單的例如,我不知道w爲什麼不工作。我在這裏和另一個網站上收到了很多像這樣的問題,我不知道我錯過了什麼。
順便說一句,在控制器中,我嘗試了所有的匹配網址;在課程級別放置「/ home /」或「home /」,並將「login」或「main」放在方法級別。
唯一可行的是當我打localhost:8080/myServer/home /。我嘗試在web.xml的url-pattern中使用「/ home/」,而不是「/ home /」。我也試過使用「/」和「/」,但是是一樣的。
,這個工作的唯一方法是當web.xml中的url-pattern的我用
<url-pattern>/home/</url-pattern>
<url-pattern>/home/main/</url-pattern>
<url-pattern>/home/login/</url-pattern>
然後我就可以打所有的網址。我不知道該怎麼做,也許這是一個tomcat 7的問題?
這沒有奏效,我嘗試了幾次,這樣的配置,這真的很煩人,因爲在日誌中我實際上看到映射的URL像'DefaultAnnotationHandlerMapping - 映射的URL路徑[/ home/main]到處理程序'homeControlle'映射的URL路徑[/ home/main /]到處理程序'homeController''和控制器bean SimpleUrlHandlerMapping-映射的URL路徑[/ home/**]到處理程序'homeController''上,但是當我點擊' http:// localhost:8080/server/home/main'在日誌中顯示我沒有找到映射...在URI中[/ server/home/main]在''kimboo''中 – 4gus71n 2013-03-01 20:51:39
我不知道爲什麼它不適合你。改變web.xml的url模式。/* url-pattern>。但我不確定這一點。 –
Harish
2013-03-05 04:00:58