Spring MVC 解决无法访问静态文件和"全局异常处理"
我们都知道,Spring MVC的请求都会去找controller控制器,若果我们页面中引入了一个外部样式,这样是没效果的,
我们引入样式的时候是通过<like href="..."></like>

这也算请求,若果我们href中的URL是http://localhost:8080/Text/statics/css/main.css
他不会去找样式表,而是去拆解URL,在根据HandlerMapping去找对应的Handler,但是,这个地址是没有预支对应的Handler,也就会报错!
我们可以这样解决,很简单 在Xxx-servlet.xml配置文件中加入如下代码:
<mvc:resources location="/statics/" mapping="/statics/**" />
mapping中的"**"的意思是,去statics文件夹下迭代查找文件
这样就解决了问题!
全局异常处理:
第一步:创建一个自己的异常类,继承至运行时异常(RuntimeException)
package cn.happy.entity;
public class UserException extends RuntimeException {
public UserException() {
super();
}
//简单的异常类,用到的是这个构造
public UserException(String message){
super(message);
}
}
第二步:在Spring MVC核心配置文件中配置如下代码:
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="cn.happy.entity.UserException">error</prop>
</props>
</property>
</bean>
prop节点的key就是异常类,error就是异常页面也就是Value(可配置多个)
第三步:在一个Handler中手动抛出一个异常并且不做处理:
package cn.happy.controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import cn.happy.entity.Student;
import cn.happy.entity.UserException; @Controller
public class HelloController { @RequestMapping(value="/hello")
public String hello(Student stu,Model model){
throw new UserException("Sorry, the server was wrong.");
}
}
第四步:创建error异常页面:

第五步:访问该地址:(http://localhost:8080/项目名/hello)

异常成功处理到自己的异常页面!
Spring MVC 解决无法访问静态文件和"全局异常处理"的更多相关文章
- Spring MVC学习笔记——引入静态文件
1.在user-servlet.xml中加入以下代码,才能使得对静态文件的请求不被Controller捕获,而映射到一个固定的地址 <!-- 将静态文件指定到某个特殊的文件夹中统一处理 --&g ...
- Spring MVC程序中得到静态资源文件css,js,图片
转载自:http://www.blogjava.net/fiele/archive/2014/08/24/417283.html 用 Spring MVC 开发应用程序,对于初学者有一个很头疼的问题, ...
- Spring MVC程序中得到静态资源文件css,js,图片文件的路径问题总结
上一篇 | 下一篇 Spring MVC程序中得到静态资源文件css,js,图片 文件的路径 问题总结 作者:轻舞肥羊 日期:2012-11-26 http://www.blogjava.net/fi ...
- SPRING-MVC访问静态文件,如jpg,js,css
如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题.如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg ...
- SpringBoot学习笔记(二):SpringBoot访问静态文件、捕获全局异常、集成Thymeleaf、集成JSP
SpringBoot访问静态文件 什么是静态文件? 不需要通过web容器去得到的文件,直接通过路径就能得到的文件,比如项目的css,js,img等文件. 所有的资源文件都应该在src/main/res ...
- 利用 FormData 对象和 Spring MVC 配合可以实现Ajax文件上载功能
Ajax文件上载 利用 FormData 对象和 Spring MVC 配合可以实现Ajax文件上载功能: 步骤 导入组件并准备静态脚本 <dependency> <groupId& ...
- spingmvc 访问静态文件,比如css,img等
这里我来引用一段别人的原话 url-pattern有5种配置模式: (1)/xxx:完全匹配/xxx的路径 (2)/xxx/*:匹配以/xxx开头的路径,请求中必须包含xxx. (3)/*:匹配/下的 ...
- nginx访问静态文件配置
通过nginx访问静态文件配置,均是在server模块中配置,有两种方式: 1.alias 通过alias关键字,重定义路径,如 server{ listen 7001; server ...
- 在django中访问静态文件(js css img)
刚开始参考的是别的文章,后来参考文章<各种 django 静态文件的配置总结>才看到原来没有但是没有注意到版本,折腾了一晚上,浪费了很多很多时间.后来终于知道搜索django1.7访问静态 ...
随机推荐
- Javascript DOM 编程艺术———总结-1
第一章: 1.DOM:是一套对文档内容进行抽象和概念化的方法,是一种API. 2.W3C对DOM的定义:一个与系统平台和编程语言无关的借口程序和脚本可以通过这个接口动态的访问和修改文档内容,结构和样式 ...
- appach-maven-3.5.0配置与下载
今天需要搭建javaweb开发的环境,需要配置maven.弄了半天终于配置好了.蛋疼的一批.楼主用的是win10的系统.不知道Linux下的也是不是这么坑! 首先,需要把maven的包下载下来.进入h ...
- Csharp调用基于Opencv编写的类库文件
现在将Csharp调用基于Opencv编写的类库文件(Dll)的方法定下来,我取名叫做GreenOpenCsharpWarper,简称GOCW. 一.CLR编写的DLL部分 1.按照正常方法引入Ope ...
- Linux操作系统-安装JAVA
首先准备好jdk文件(例如:本地已下载了jdk-6u33-linux-x64.bin),将它上传到路径 “/home/username/” 这个目录的下面 其次按步骤执行: 1.进入到 “/home/ ...
- IOS开发之UITabBarController与UINavigationController混合使用
ios开发中UITabBarController与UINavigationController混合使用是很多app的基础页面结构,下面是简单的的页面初始化的方法,在AppDelegate.m的 - ( ...
- 纯JavaScript实现异步Ajax的基本原理
Ajax实际就是XMLHttpRequest对象和DOM.(X)HTML和CSS的简称,用于概括异步加载页面内容的技术. Ajax实例 HTML代码如下,包含一个h5标题和一个按钮: JS代码如下 ...
- Oracle基础--命令
====================== 基础命令====================== 1.su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界 ...
- 关于excel的导入导出
目前为方便操作,很多系统都增加了批量导入导出的功能.文件导入导出一般的格式都是excel,现将常用设计用例总结如下: 批量导入 一.模板检查检测:一般excel导入,都会提供模板下载功能 1.模板 ...
- APP测试容易忽略的地方
我们手机APP测试,主要针对的是android和ios两大主流操作系统,总体上来说android手机型号.版本多,bug也多:ios相对bug少.下面就针对Android说一下最容易忽略的测试点吧. ...
- 盼盼Degenerate——清除浮动的方法
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta name= ...