出现此错误的“ GET没有映射”的原因是什么?

时间:2019-02-15 07:40:44

标签: java xml spring-mvc

在Spring MVC中执行时出现错误,但是在我的代码中我无法正常工作。我正在尝试解决此问题。但是我没有走错地方。

@Controller
public class LoginController 
{
   @RequestMapping("login")
   public void loginController()
   {
    System.out.println("login method is called");
    return login.jsp;
   }

   @RequestMapping("register")
   public void registerController()
   {
        return register.jsp;
   }
}


<web-app>
<display-name>Archetype Created Web Application</display-name>

<servlet>
    <servlet-name>hospital</servlet-name>
    <servlet-class>
         org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>    
     <servlet-name>hospital</servlet-name>    
     <url-pattern>/</url-pattern>    
</servlet-mapping>    
</web-app>

<context:annotation-config></context:annotation-config>
    <context:component-scan base-package="com.kauvery"/>
<mvc:annotation-driven></mvc:annotation-driven> 

1 个答案:

答案 0 :(得分:0)

尝试

1。将此bean定义添加到servlet.xml文件中

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
</bean>

2。所有jsp文件放入“ / WEB-INF / jsp”路径

3.void不是返回类型。因此将控制器中方法的返回类型更改为String

4。在网址格式中添加斜杠(“ /”)

5。控制器中方法的返回类型为String。因此,每个方法都将视图名称(相关的jsp文件名)作为String值返回。

6。删除jsp文件(视图)名称的文件扩展名。因为上面的bean定义告诉Spring这些文件的扩展名是一个“ .jsp”(<property name="suffix" value=".jsp" />)并且这些文件位于“ / WEB-INF / jsp”(<property name="prefix" value="/WEB-INF/jsp/" />)路径中

@RequestMapping("/login")
public String loginController(){
    System.out.println("login method is called");
    return "login";
}

@RequestMapping("/register")
public String registerController(){
    return "register";
}