localhost:8080 / homeにアクセスすると、次のようになります。
WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/home] in DispatcherServlet with name 'appServlet'
localhost:8080 /またはlocalhost:8080 / indexにアクセスすると、すべて問題ないように見えます。
なぜ1つのパスが機能し、別のパスが機能しないのですか?
そして、それは私を混乱させます:localhost:8080/homepage.html-私のホームビューを返します。
だから私のプロジェクトはここにあります:https ://github.com/IRus/jMusic
私のweb.xml
<!-- Base servlet handles all requests to the application. -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
servlet-context.xml-タイルを使用しています
<annotation-driven/>
<resources mapping="/resources/**" location="/resources/"/>
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/"/>
<beans:property name="suffix" value=".jsp"/>
<beans:property name="order" value="1" />
</beans:bean>
<beans:import resource="controllers.xml"/>
<beans:import resource="tiles.xml" />
<beans:import resource="i18n.xml"/>
<beans:import resource="themes.xml"/>
tiles.xml
<bean id="tilesviewResolver" class="org.springframework.web.servlet.view.tiles2.TilesViewResolver">
<property name="order" value="0"/>
</bean>
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/views/tiles-definitions.xml</value>
</list>
</property>
</bean>
ErrorController
@Controller
public class ErrorController {
@RequestMapping("/403")
public String error403() {
return "403";
}
@RequestMapping("/404")
public String error404() {
return "404";
}
}
UserController
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/")
public String index() {
return "redirect:/index";
}
@RequestMapping("/home")
public String home() {
return "home";
}
@RequestMapping("/login")
public String login() {
return "login";
}
@RequestMapping("/index")
public String listUsers(Map<String, Object> map) {
map.put("user", new User());
map.put("userList", userService.listUser());
return "user";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addUser(@ModelAttribute("user") User user,
BindingResult result) {
userService.addUser(user);
return "redirect:/index";
}
@RequestMapping("/delete/{idUser}")
public String deleteUser(@PathVariable("idUser") Long idUser) {
userService.removeUser(idUser);
return "redirect:/index";
}
}
ここにログ :https ://gist.github.com/IRus/2ac97c66070001247011
ログに興味のある瞬間:
URLパス[ /homepage.html ]をハンドラー'userController'にマップしました。追加し、コントローラーの@RequestMappingを削除しましたが、まだ生きています。
私はIdea12.0.4で働いています