java web中异常的处理

2024-10-13 00:14:13

1、@Controller使用注解声明控制器@RequestMapping("demo")请求的地址在该url之下才有该控制器相应public class DemoController {请求地址是此方法时才请求@RequestMapping("login.do")

java web中异常的处理java web中异常的处理

2、public String login(){返回视图名称,该视图名称会根据springmvc配置中的<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean>配置调用viewresolver视图解析处理器返回jsp页面return "demo";}

java web中异常的处理java web中异常的处理

3、简单测试一下:从前端获取数据如果为空,返回异常@RequestMapping("loginAction.do")@ResponseBodypublic String loginAction(String name) throws NameException{if(name==null||name==""){throw new NameException();}return "demo1";}

java web中异常的处理

4、在控制器中直接写此注解@ExceptionHandler(NameException.class)public String nameException(HttpServletRequest request,NameException ne){HttpSession session = request.getSession();session.setAttribute("message", ne.getMessage());System.out.println(ne.getMessage());return "demoException";}}

java web中异常的处理

5、异常只重写了getMessage方法public class NameException extends Exception {@Overridepublic String getMessage() {// TODO Auto-generated method stubreturn "无法获取姓名";}}

java web中异常的处理

6、<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body><h1>${message }</h1></body></html>

java web中异常的处理
猜你喜欢