SpringMVC(三)——其他知识
来源:互联网 发布:胎教讲故事软件 编辑:程序博客网 时间:2024/06/09 20:22
这篇博客,看一下在Controller类中,进行结果的跳转方式,对于SpringMVC框架中异常,如何统一捕捉,还有就是S(SpringMVC)SH的整合。
一,框架默认情况下是通过转发进行跳转的,如果我们想通过重定向怎么办呢?只需要在控制器类中,将返回的结果对象中传递View视图参数,RedirectView对象就是重定向的视图。
View view = new RedirectView("http://www.ljh.com/index.jsp");
returnnew ModelAndView(view);
或者可以将路径写到配置文件中,或者属性配置文件中,都是可以的。这样我们的控制器类的返回对象ModelAndView的构造方法只需要设置一个字符串参数即可。
returnnew ModelAndView("index");
配置文件中使用重定向视图解析器进行页面跳转。
<bean id="viewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver"></bean> <!-- bean的id属性值要与控制器的返回对象参数名称一致--> <bean id="index" class="org.springframework.web.servlet.view.RedirectView"> <property name="url" value="http://www.ljh.com/index.jsp"></property> </bean>
这样,我们一个配置文件中就可能出现多个视图解析器,怎么判断使用那个呢?我们可以通过设置order来进行选择优先级的设置,<property name="order"value="2"></property> ,需要注意的是,InternalResourceViewResolver优先级应该最低,order属性值要比其他的视图解析器的值要大。能够保证所有的映射不被遗忘。而且能够达到我们想要的效果。这是对转发和重定向的学习,其实就是一些新设置,原理和其它都是相同的,我们可以通过查看资料获取更多,例如api,网上资料等。
二,Exception,一般在项目中,出现异常,我们会跳到指定的错误页面,以防给用户暴露不友善的页面信息。这个功能在SpringMVC中也是很容易配置的。准备好我们的错误页面,这里将其错误页面的路径放到属性配置文件中进行读取,然后在配置文件中添加:
<bean id="viewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver"> <property name="basenames"> <list> <!-- 框架默认绑定的属性资源文件的名称views.properties,可以不用注入basenames属性。如果属性资源文件名称自定义,那么必须要手动注入basenames属性,指定文件的名称,不需要增加后缀名。 --> <value>view</value> </list> </property> </bean><!-- 异常处理解析器 --><bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"><property name="exceptionMappings"><props><prop key="java.lang.Exception">error</prop></props></property></bean>
在属性配置文件中添加:
error.class=org.springframework.web.servlet.view.RedirectView
error.url=http://www.egov.com/error.jsp
这样,当出现任何异常时,就会跳到我们提前设置好的错误页面上了。
三,最后看一下S(SpringMVC)SH三的框架的整合吧,由于SpringMVC和Spring能够无缝集成,所以这里不需要说太多,只需要把框架需要的jar包,配置文件进行导入编写即可。看网上一篇文章吧,写的很详细:搭建SpringMvc+Spring+Hibernate开发框架详细说明
总而言之,对于MVC流程框架,我们学习会一种了,其它的都大同小异,通过横向对比着来学习,就相当于我们的横切面编程。数据持久层的框架相互对比着学习,业务层的框架相互对比着学习,这样我们能够举一反三,理解的更加深刻。当然实践中的开发,更有助于我们的理解。
- SpringMVC(三)——其他知识
- SpringMVC(三)其他注解与 使用Pojo作为参数
- Java知识总结---MVC模式解析之SpringMVC(三)
- SpringMVC进阶(三)——控制器
- MySQL知识(三)——数据类型
- shell笔记(三)——其他循环结构
- SpringMvc知识 (2)
- JUnit(三) 其他
- C语言学习笔记(六)——其他编程知识
- java特种兵读书笔记(5-8)——其他并发编程知识
- 其他知识
- SpringMVC学习总结(三)——ModelAndView 和 Model
- springMVC系列(三)——异常统一处理
- SpringMVC学习(三)——SpringMVC的配置文件
- SpringMVC(三)—文件的上传和下载
- 数据结构知识整理(三)——排序
- tomcat源码阅读(三)——ClassLoader背景知识
- springmvc + shiro 配置(二、其他配置文件)
- 两个有序数组合并成一个有序数组
- Azure学习笔记:Cloud Service(4)
- 003_003 Python 计算日期之间隔了几周
- C语言中的无符号数
- biancheng
- SpringMVC(三)——其他知识
- C语言单元测试
- android屏幕适配基础知识
- hdu1008 Elevator
- Android实现图片轮播切换
- range xrange iterator generator
- HighCharts之2D堆条状图
- GCC与LLVM见解
- TreeMap的有序设计及实现