12 自定义登录异常

新建UserException类

package com.xue.exception;

public class UserException extends Exception{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public UserException(String message) {
		super(message);
		// TODO Auto-generated constructor stub
	}	
}

在UserServiceImpl中,添加一个登录方法

	@Override
	public User login(User user) throws UserException {
		// TODO Auto-generated method stub
		User u=userDao.findUser(user.getUsername(), user.getPassword());
		if(u!=null){
			return u;
		}else {
			throw new UserException("用户名密码错误");
		}
	}

重构LoginServlet方法

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType("text/html;charset=utf-8");
		User formUser = new User();
		IUserService userService = new UserServiceImpl();
		try {
			BeanUtils.populate(formUser, request.getParameterMap());
			User dbuser;
			try {
				dbuser=userService.login(formUser);
				request.getSession().setAttribute("loginUsername", dbuser.getUsername());
				response.getWriter().write("登陆成功,3秒后进入主页");
				response.setHeader("refresh", "3;url=" + request.getContextPath() + "/main.jsp");
			} catch (UserException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				response.getWriter().write("登陆失败,用户名或密码错误,3秒转回登陆页面");
				response.setHeader("refresh", "3;url=" + request.getContextPath() + "/login.jsp");
			}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值