我正在尝试构建Spring MVC Web应用程序。问题出在我的欢迎页面(localhost:8080/)。在我的输出日志中,我看到:没有GET的Map/
我将欢迎页面设置为URL:"/spring-mvc-login”但每次我重新启动应用程序时,它都试图查找我的控制器中不提供的URL"/"。我希望将欢迎页面重定向到URL**"/spring-mvc-login”**,但它不起作用。
有趣的是,当我输入“localhost:8080/spring-mvc-login”时,它运行得很好。唯一的问题是将此URL重定向到welcome-page。
网络.XML
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/todo-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/spring-mvc-login</welcome-file>
</welcome-file-list>
待办事项-小服务程序.xml
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/views/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
和控制器
public class LoginController {
@RequestMapping(value = "/spring-mvc-login", method= RequestMethod.GET)
public String sayHello(){
return "login";
}
@RequestMapping(value = "/spring-mvc-login", method = RequestMethod.POST)
public String handleLoginRequest(@RequestParam String name, @RequestParam String password,
ModelMap modelMap){
modelMap.put("name",name);
modelMap.put("password", password);
return "welcome";
}
}
在Controller中,当我将@RequestMapping从“/spring-mvc-login“更改为“/”时,它当然工作正常,但我想将我的欢迎页面重定向到“/spring-mvc-login”而不是“/"。谢谢帮助。
6条答案
按热度按时间vs3odd8k1#
确保在src/main/java中创建包和类,而不是在src/main/resources中创建包和类。如果maven没有创建src/main/java文件夹,只需创建该文件夹并将包文件夹/类移到那里。这样做可以为我解决无Map错误。
希望这些信息对某人有用。
8ehkhllq2#
不要忘记使用@RestController注解。如果要重定向用途:
w46czmvw3#
尝试删除“/”
之前
之后
yduiuuwa4#
尝试更改web.xml内容:
或者将控制器Map更改为:
7d7tgy0s5#
将@Controller注解放在Controller类的顶部
g6baxovj6#
只需在
spring-servlet.xml
文件中检查一次。特别是基础包名称。