2010-10-13 55 views
0

我不知道为什么我有404错误,而试图通过POST方法来访问/liginform.dlpModelAndView的404问题

我有以下web.xml中映射:

<servlet-name>doolloop</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>doolloop</servlet-name> 
    <url-pattern>*.dlp</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>doolloop</servlet-name> 
    <url-pattern>/index.dlp</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
    <welcome-file>index.dlp</welcome-file> 
    </welcome-file-list> 

doolloop- servlet.xml中看起来是这样的:

<context:component-scan base-package="com.doolloop.controllers" /> 
<bean id="viewResolver" 
class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
<property name="prefix"> 
<value>/</value> 
</property> 
<property name="suffix"> 
<value>.jsp</value> 
</property> 
</bean> 

我有两个JSP页面 /index.jsp /forms/loginform.jsp

的控制器看起来艾克这样的:

@Controller 
public class DoolloopController{ 
    protected final Log logger = LogFactory.getLog(getClass()); 

    @RequestMapping("/index.dlp") 
    public ModelAndView index(){ 
     logger.info("Return View"); 
     return new ModelAndView("index"); 
    } 

下面的代码带来的404错误:

@RequestMapping(value="/loginform.dlp",method = RequestMethod.GET) 
     public ModelAndView CheckLogin(){ 
      ModelAndView mv = new ModelAndView("/form/loginform"); 
      return mv; 
     } 

如果我将其更改为以下方式,它完美的作品:

@RequestMapping(value="/loginform.dlp",method = RequestMethod.GET) 
     public String showForm() { 
       return "/forms/loginform"; 

什么问题是什么?请帮忙

+0

为'org.springframework.web'记录器启动日志记录,Spring将输出大量关于哪些类和方法绑定到哪些URL模式的有用信息 – 2010-10-13 17:25:04

回答

2

也许你解决的JSP路径以双斜杠开始(一个来自prefix属性,另一个来自返回值)。

3

仔细检查您的进口。请确保您使用:

org.springframework.web.servlet.ModelAndView 

,而不是:

org.springframework.web.portlet.ModelAndView. 

第一个是servlet和后来的是门户。