http://t.csdn.cn/ofiZT
.Spring访问静态文件
<context:component-scan base-package=“cn.smbms.controller”/>
mvc:annotation-driven/
<mvc:resources mapping=“/statics/**” location=“/statics/” />
2.Servlet API作为入参
@RequestMapping(value=“/dologin.html”,method=RequestMethod.POST)
public String doLogin(@RequestParam String userCode, @RequestParam String userPassword,
HttpServletRequest request,HttpSession session
){
logger.debug(“doLogin==============================”);
User user= userService.login(userCode, userPassword);
if (user==null) {
throw new RuntimeException("用户名或者密码不正确!");
}
return “redirect:/user/main.html”;
}
jubuyichang
3.Spring局部异常、全局异常
1、error-page
在Servlet中,我们可以在web.xml中配置异常的处理
1、根据错误代码来处理对应的异常页面信息 比如404错误,500错误
500 /WEB-INF/jsp/errors/error_500.jsp 404 /WEB-INF/jsp/errors/error_404.jsp2、还可以根据异常类型来处理:
java.lang.RuntimeException /error.jsp2、局部异常
仅能处理指定Controller中的异常
//描述局部异常,作用域是Controller类中所有发送了异常就执行这个方法
//通过注解描述RuntimeException\NullPointerException
//这两种异常,就执行handlerException方法
@ExceptionHandler(value={RuntimeException.class,NullPointerException.class})
public String handlerException(RuntimeException e,HttpServletRequest request){
request.setAttribute(“e”, e);
return “errors/error”;
}
3、全局异常:
基于HandlerExceptionResolver接口的方式实现全局异常,实现全局异常有两种方式
一种是自定义一个类继承HandlerExceptionResolver,还有一种方式也是Spring已经提供默认的实现类
SimpleMappingExceptionResolver,
SimpleMappingExceptionResolver实习类这种方式可以不用自己写类,直接配置即可,更简单!
package cn.smbms.controller;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
public class CustomerHandlerException implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object obj,
Exception exception) {
request.setAttrib