1 package com.geinuke.action; 2 3 import java.util.HashMap ; 4 5 import javax.servlet.http.HttpServletRequest ; 6 import javax.servlet.http.HttpServletResponse ; 7 8 import org.apache.velocity.context.Context; 9 10 import com.geinuke.util.TextUtil; 11 import com.ibatis.common.jdbc.ScriptRunner; 12 import com.ibatis.common.resources.Resources; 13 import com.magic.servlet.action.MagicAction; 14 15 import java.io.Reader ; 16 import java.sql.*; 17 18 public class InstallAction extends MagicAction { 19 20 protected HashMap paths=null,drivers=null; 21 22 public InstallAction(){ 23 super(); 24 drivers=new HashMap (); 25 drivers.put("hsqldb","org.hsqldb.jdbcDriver"); 26 drivers.put("mysql","org.gjt.mm.mysql.Driver"); 27 28 paths=new HashMap (); 29 paths.put("hsqldb","./dbinst/hsqldb.sql"); 30 paths.put("mysql","./dbinst/mysql.sql"); 31 32 } 33 34 protected String check(Context ctx,HttpServletRequest req){ 35 String ris=null; 36 37 String dbType=req.getParameter("dbType"); 38 String dbURL=req.getParameter("dbURL"); 39 String dbUser=req.getParameter("dbUser"); 40 String dbPassw=req.getParameter("dbPassw"); 41 System.out.println(dbType+" "+dbURL+" "+dbUser+" "+dbPassw); 42 if(TextUtil.isEmpty(dbType) || TextUtil.isEmpty(dbURL) 43 || TextUtil.isEmpty(dbUser) ){ 44 45 ris="error"; 46 }else{ 47 ris="ok"; 48 } 49 System.out.println("ris="+ris); 50 51 return ris; 52 } 53 54 protected Connection getConnection(HttpServletRequest req) throws Exception { 55 Connection con=null; 56 String dbType=req.getParameter("dbType"); 57 String dbURL=req.getParameter("dbURL"); 58 String dbUser=req.getParameter("dbUser"); 59 String dbPassw=TextUtil.normString(req.getParameter("dbPassw")); 60 61 String driver=(String )drivers.get(dbType); 62 Class.forName(driver); 63 con=DriverManager.getConnection(dbURL,dbUser,dbPassw); 64 return con; 65 } 66 67 68 protected String getTemplateString(Context ctx, HttpServletRequest req, HttpServletResponse res) throws Exception { 69 String ris=null; 70 String checkk=this.check(ctx,req); 71 if(checkk!=null && checkk.equals("ok") ){ 72 Connection con=null; 73 try{ 74 75 con=this.getConnection(req); 76 ScriptRunner script=new ScriptRunner(); 77 String path=(String )this.paths.get(req.getParameter("dbType")); 78 Reader reader = Resources.getResourceAsReader (path); 79 script.runScript(con,reader); 80 ris="./install/ok.vm"; 81 }catch(Exception e){ 82 ris="./install/error.vm"; 83 e.printStackTrace(); 84 ctx.put("dbError","y"); 85 }finally{ 86 if(con!=null) 87 con.close(); 88 } 89 }else{ 90 ris="./install/error.vm"; 91 ctx.put("error","y"); 92 } 93 return ris; 94 } 95 96 }
| Popular Tags
|