?? generalactionbase.java
字號(hào):
/*
* Created on 2005-4-6
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.neu.wrm.common;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.neu.wrm.xml.QueriesConfig;
import com.neu.wrm.xml.QueriesConfigKeeper;
/**
* @author liuyuguang
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public abstract class GeneralActionBase extends Action {
public final ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception
{
//DB連接初始化
DataSource ds = null;
InitialContext initContext = new InitialContext();
try {
ds = (DataSource) initContext
.lookup("java:/comp/env/jdbc/myoracle");
} catch (Exception ex) {
ex.printStackTrace();
throw ex;
} finally {
initContext.close();
initContext = null;
}
Connection conn = ds.getConnection();
try {
conn.setAutoCommit(false);
ConnectionKeeper.setMyConnection(conn);
} catch (SQLException e) {
// ignore.
throw e;
}
ds = null;
//QueriesConfig取出
QueriesConfig qsc = (QueriesConfig) getServlet().getServletContext()
.getAttribute(Consts.QUERIES_CONFIG_KEY);
QueriesConfigKeeper.setMyQueriesConfig(qsc);
//data驗(yàn)證
Checkable[] checkables = getCheckables();
Checker checker = new Checker(checkables);
ActionErrors errors = checker.execute(this, mapping, form, request,
response);
if (errors != null && !errors.isEmpty()) {
throw new CheckerException(errors);
}
//doexecute執(zhí)行
ActionForward forward = doExecute(mapping, form, request, response);
try{
boolean b=NeedsCommit.class.isInstance(this);
if(NeedsCommit.class.isInstance(this))
conn.commit();
}catch(Exception e){
if(!conn.isClosed())
conn.rollback();
throw e;
}
finally{
if(!conn.isClosed())
conn.close();
}
ConnectionKeeper.clearMyConnection();
return forward;
}
public abstract ActionForward doExecute(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception;
public Checkable[] getCheckables() {
Checkable check[]={new checklogin()};
return check;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -