Java用户回调方法消除冗余代码
一. 看一段冗余的代码
public String login(HttpServletRequest request){
OperatorService operatorService = new OperatorService();
WebContext webContext= request.getSession().getAttribute("WEB_CONTEXT_KEY");
Connection conn=null;
try{
Conection conn =DBManager.getConnection();
if(webContext.getOperatorName.equals("123")){
// 登陆成功
}
}catch(Throwable t){
//记录日志
//跳转到统一的错误页面,不能让用户看到异常页面
//关闭Connection
if(conn!=null){
try{conn.close();}cath(SQLException ex){}
}
}
}
public String logOut(HttpServletRequest request){
OperatorService operatorService = new OperatorService();
WebContext webContext= request.getSession().getAttribute("WEB_CONTEXT_KEY");
try{
Conection conn =DBManager.getConnection();
operatorService.logout();
request.getSession().invalidate();
}catch(Throwable t){
//记录日志
//跳转到统一的错误页面,不能让用户看到异常页面
//关闭Connection
if(conn!=null){
try{conn.close();}cath(SQLException ex){}
}
}
}
二、可以看到,红色部分代码完全是冗余的,下面用回调方法简化这部分代码
1.先定义一个回调抽象类
public abstract class AppCallback {
/**
* 回调执行方法
*
* @return
*/
public String execute() {
&n
相关文档:
MonoRail是经典的MVC模式,所以其中也具有三个元素Model,Controller,View,其中MonoRail是通过Url地址来解析
相应的操作的,如当你访问:/home/index.rail,对应会执行HomeController类中的Index方法,而且可以自动绑定参数和
Request的数据,如访问:/home/index.rail?id=1,你可以在HomeController类中的Index方法中定义一个参数 ......
第一部分. 提示
我需要读这篇文章吗?
Java类加载器对Java系统的运行是至关重要的,但是却常常被我们忽略。Java类加载器负载
在运行时查找和加载类。自定义类加载器可以完全改变类的加载方式,以自己喜欢的方式来
个性化你的Java虚拟机。本文简要的介绍Java类加载器,然后通过一个构造自定义类加载器
的例子来说明,这 ......
第一部分. 提示
我需要读这篇文章吗?
Java类加载器对Java系统的运行是至关重要的,但是却常常被我们忽略。Java类加载器负载
在运行时查找和加载类。自定义类加载器可以完全改变类的加载方式,以自己喜欢的方式来
个性化你的Java虚拟机。本文简要的介绍Java类加载器,然后通过一个构造自定义类加载器
的例子来说明,这 ......
Java基础-学习使用Annotation注解对象
注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某
个时刻非常方便地使用这些数据
1-1:基本语法
Java SE5内置三种标准注解
@Override:表示当前的方法定义将覆盖超类中的方法.如果你不小心拼写错误,或者方法签名对不上被覆
盖的方法 ......
package algorithm.binarytree;
import java.util.Arrays;
import java.util.Stack;
import util.ArrayUtil;
import util.OutputUtil;
public class BinTree {
private BinNode root = null;
public BinTree()
{
}
&nb ......