WEB开发网
开发学院软件开发Java 实战 Groovy: 用 Groovy 打造服务器端 阅读

实战 Groovy: 用 Groovy 打造服务器端

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 下一步是用 RequestDispatcher 将 request 转发给 GSP,它会处理报告应用程序的视图部分,实战 Groovy: 用 Groovy 打造服务器端(9),清单 8 定义了新的报告 Groovlet:清单 8. 重构后的数据库报告应用程序importgroovy.sql.Sq

下一步是用 RequestDispatcher 将 request 转发给 GSP,它会处理报告应用程序的视图部分。清单 8 定义了新的报告 Groovlet:


清单 8. 重构后的数据库报告应用程序
import groovy.sql.Sql 
/** 
 * forwards to passed in page 
 */ 
def forward(page, req, res){ 
 dis = req.getRequestDispatcher(page); 
 dis.forward(req, res); 
} 
sql = Sql.newInstance("jdbc:mysql://yourserver.anywhere/tiger", "scott", 
    "tiger", "org.gjt.mm.mysql.Driver") 
  
uptime = null 
questions = null 
insertnum = null 
selectnum = null 
updatenum = null 
sql.eachRow("show status"){ status | 
 if(status.variable_name == "Uptime"){ 
     uptime = status[1] 
 request.setAttribute("uptime", uptime) 
 }else if (status.variable_name == "Questions"){ 
     questions = status[1] 
 request.setAttribute("questions", questions) 
 } 
} 
request.setAttribute("qpm", Integer.valueOf(questions) / 
Integer.valueOf(uptime) ) 
sql.eachRow("show status like 'Com_%'"){ status | 
  if(status.variable_name == "Com_insert"){ 
     insertnum = Integer.valueOf(status[1]) 
  }else if (status.variable_name == "Com_select"){ 
     selectnum = Integer.valueOf(status[1]) 
  }else if (status.variable_name == "Com_update"){ 
     updatenum = Integer.valueOf(status[1]) 
  } 
} 
request.setAttribute("qinsert", 100 * (insertnum / Integer.valueOf(uptime))) 
request.setAttribute("qselect", 100 * (selectnum / Integer.valueOf(uptime))) 
request.setAttribute("qupdate", 100 * (updatenum / Integer.valueOf(uptime))) 
forward("mysqlreport.gsp", request, response) 

上一页  4 5 6 7 8 9 10  下一页

Tags:实战 Groovy Groovy

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接