1
回答
SpringMVC自定义异常处理以及视图问题
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
// Handler
public class ExceptionResolver implements HandlerExceptionResolver {
	
	public ModelAndView resolveException(HttpServletRequest req,
			HttpServletResponse res, Object obj, Exception ex) {
		return new ModelAndView("exceptionView");
	}
}
// View
public class ExceptionView extends AbstractView{

	@Override
	protected void renderMergedOutputModel(Map model,
			HttpServletRequest req, HttpServletResponse res) throws Exception {
		// TODO Auto-generated method stub
	
		res.getWriter().print("");
	}
}


配置文件:


        <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
		<property name="mediaTypes">
			<map>
				<entry key="json" value="application/json" />
				<entry key="amf" value="application/x-amf"/>
			</map>
		</property>
		<property name="viewResolvers">
		    <list>
		    	<bean class="org.springframework.web.servlet.view.BeanNameViewResolver" />
		    	<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
					<property name="basenames">
						<list><value>configs/views-support</value></list>
					</property>
				</bean>
			    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
					<property name="prefix" value="/WEB-INF/jsp/" />
					<property name="suffix" value=".jsp" />
				</bean>
		    </list>
		</property>
	    <property name="defaultViews">
		    <list>
		      <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
		    </list>
	    </property>
	</bean> <!-- 下面就是自定义的view以及handler -->
	<bean class="com.secn.commons.resolver.ExceptionResolver" />
	<bean name="exceptionView" class="com.secn.commons.views.ExceptionView" />

程序抛出异常时ExceptionResolver正常执行,当ExceptionResolver返回ExceptionView时没有任何反映。

奇怪的是我单独创建一个项目然后写的是一样的代码就好使,只不过异常是在controller自己抛出的。

上面的是对数据库事务操作时hibernate抛出的。

有大牛遇到过这种问题吗?

举报
顶部