如何处理未在Spring中映射的url

用户名

我的调度程序servlet映射

  <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/springconfig/dispatcher-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>*.html</url-pattern>
  </servlet-mapping>

控制器具有类似的处理程序

@RequestMapping("moduleone")
public class ApplicationController {    

    @RequestMapping(value="Login.html",method=RequestMethod.GET)
    public ModelAndView showLoginPage(){

        ModelAndView mv=new ModelAndView("../moduleone/Login");
        mv.addObject("loginForm", new LoginForm());
        return mv;

    }
    @RequestMapping(value="Home.html", method = RequestMethod.GET)
    public  ModelAndView showHome(HttpServletRequest request)  {
        ModelAndView mv=new ModelAndView("Home");       
        mv.addObject("customerName",appCon.getFirstName() );
        return mv;  
    }   

}

是否可以处理未映射在控制器中的处理程序请求

  http://localhost:8090/Project/moduleone/invalidpage.html

  http://localhost:8090/Project/moduleone/invalidurl/invalidpage

我试过了@RequestMapping(value="*",method=RequestMethod.GET)但是没用

重金属

由于404(未找到页面)实际上在Web容器级别上产生异常,因此容器通常提供异常处理机制,因此您可以尝试异常(或所谓的错误)处理,如下所示;

首先创建一个控制器

@Controller
public class PageNotFoundErrorController {

    @RequestMapping(value="/pageNotFound.html")
    public String handlePageNotFound() {
            // do something
        return "pageNotFound";
    }
}

并配置web.xml以便将错误映射到上面编写的控制器;

<error-page>
    <error-code>404</error-code>
    <location>/pageNotFound.html</location>
</error-page>

您还可以通过简单地将403、500和其他错误代码添加到web.xml并将它们映射到任何控制器来扩展它。

更令人着迷的是,您还可以映射任何异常(甚至是由代码创建的异常);在这里您可以找到有关它的漂亮示例http://www.mkyong.com/spring-mvc/spring-mvc-exception-handling-example/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章