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
相关文档:
java多线程通信 收藏
转载请注明:来自http://blog.csdn.net/M_ChangGong/ 作者:张燕广
java多线程通信,模拟生产者-消费者关系。
第1种实现(该实现存在问题),具体代码如下:
view plaincopy to clipboardprint?
package com.zhangyg.thread.mytest;
/**
* 模拟生产者- ......
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 Web服务:构建与运行》2.1.1节
从WSDL文档中生成客户端支持代码(Generating Client-Support Code from a WSDL)
通过Java提供的“wsimport”工具可以很容易完成基于SOAP协议的Web服务客户端生成工作。这个工具可以从对应的WSDL文档的服务描述中生成客户端支持代码或其他相关资源。输入并执 ......
JVM:加载、链接和初始化
JVM要解释Java字节码,就必须对所需的类和接口执行如下3步操作:
(1) 加载:JVM在加载类时,会查找该类或该接口的二进制表示,并根据找到的二进制表示(通常是由Java编译器创建的类文件)创建一个Class对象。该Class对象中封装了类或接口的运行时状态。
(2) 链接:链接这一过程是指取得已加载的 ......