学习日志day39(2021-09-01)(1、关于页面乱码 2、异常的处理 3、使用Token机制处理表单重复提交 4、jcaptcha验证码 5、Commons Codec )

学习内容:学习JavaWeb(Day39)

1、关于页面乱码
2、异常的处理
3、使用Token机制处理表单重复提交
4、jcaptcha验证码
5、Commons Codec


1、关于页面乱码

(1)页面请求转发时出现乱码,可能是因为转发的页面是在当前地址下调用的,所以会继承转发之前页面的编码格式,可以试着修改转发之前的编码格式。
重定向出现乱码,可能是因为重定向后页面的编码格式被重新设置,默认为浏览器的编码格式导致乱码。

2、异常的处理

(1)当数据库出现问题时,
三个步骤:
1.将异常转换为非强制捕获型异常
2.将异常向上层抛出,并统一处理
3.在错误页面给出客户友好提示,并通知管理员处理异常信息

(2)自定义异常

public class DataAccessException extends RuntimeException{
   

    public DataAccessException(){
   }
    public DataAccessException(String msg){
   
        super(msg);
    }

    public DataAccessException(Throwable th){
   
        super(th);
    }

    public DataAccessException(Throwable th,String msg){
   
        super(msg,th);
    }
}

将异常转换为非强制捕获型异常,并向上抛出统一处理

try {
   
    conn = getConnection();
    stat = conn.prepareStatement(sql);
    for (int i = 0; i < params.length; i++) {
   
        stat.setObject(i + 1, params[i]);
    }
    rs = stat.executeQuery();
    while (rs.next()) {
   
        obj = rowMapper.mapperRow(rs);
    }
} catch (SQLException sqlException) {
   
	//1.将异常转换为非强制捕获型异常 
	//不再打印异常,调用自定义异常显示详细信息
	//sqlException.printStackTrace();
    throw new DataAccessException(sqlException,"服务器正在升级,请稍后再试");
    //2.将异常向上层抛出,并统一处理
}

设计出错页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值