Spring MVC之(三)Spring MVC中静态资源的引用和异常处理

本文详细介绍了如何在SpringMVC中配置静态资源引用,以确保CSS、图片、JS等静态文件的正常访问。同时,通过设置全局和局部异常处理,展示了如何捕获并展示运行时异常,提供了具体的配置代码和错误页面示例,帮助开发者更好地管理和处理应用中的异常情况。
摘要由CSDN通过智能技术生成

三、Spring MVC中静态资源的引用和异常处理

3.1 静态资源的引用

在Spring MVC的web.xml文件中配置前端控制器映射时,会限定拦截的页面,这些显示的页面一般都是动态的,要想让静态页面的资源也可以使用,我们就不得不配置静态资源的引用,在引用时只需在Spring MVC核心配置文件中配置即可:

<!--静态资源的引用-->
<mvc:resources mapping="/css/*" location="/css/"/>
<mvc:resources mapping="/images/*" location="/images/"/>
<mvc:resources mapping="/js/*" location="/js/"/>

<mvc:resources mapping="/resource/**/" location="/resource/"/>

在这里插入图片描述

3.2 Spring MVC中的异常处理

  • 全局异常

    <!--异常处理——配置全局异常处理-->
    <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <!--定义异常处理页面来获取异常信息的变量名,默认为exception-->
        <property name="exceptionAttribute" value="ex"/>
        <property name="exceptionMappings">
            <props>
                <!--如果出现运行时异常,就返回到error页面-->
                <prop key="java.lang.RuntimeException">error</prop>
            </props>
        </property>
    </bean>
    
    @RequestMapping(method = RequestMethod.GET,value = {"/toLogin"})
    public String toLogin(){
        //故意写错,会调到错误界面,并把错误信息带过去
        System.out.println(1/0);
        return "login";
    }
    
    <%--
      Created by IntelliJ IDEA.
      User: lenovo
      Date: 2021/7/22
      Time: 11:13
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>错误界面</title>
    </head>
    <body>
    ${ex}
    </body>
    </html>
    

    在这里插入图片描述
    在这里插入图片描述

  • 局部异常

    /**
     * 运行时异常--局部异常处理
     * @param re
     * @param request
     * @return
     */
    @ExceptionHandler(value = RuntimeException.class)
    public String expection(RuntimeException re,HttpServletRequest request){
        request.setAttribute("MSG",re.getMessage());
        return "error";
    }
    
    @RequestMapping(method = RequestMethod.GET,value = {"/toLogin"})
    public String toLogin(){
        //故意写错,会调到错误界面,并把错误信息带过去
        System.out.println(1/0);
        return "login";
    }
    
    <%--
      Created by IntelliJ IDEA.
      User: lenovo
      Date: 2021/7/22
      Time: 11:13
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>错误界面</title>
    </head>
    <body>
    这是错误界面-----${requestScope.MSG}
    </body>
    </html>
    

    在这里插入图片描述
    在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值