1:我看精通struts 邮电出版社的那本书的时候,讲的是使用struts-config.xml中的datasource配置数据源。 然后在每个action都写一个获得数据源 DataSource dataSource=(DataSource)this.getDataSource(request, "datasource ");然后在写数据库的读取或者增加或者删除操作。最后相应的每个数据库资源的释放。代码贴出: stuts-config.xml: <struts-config> <data-sources> <data-source key= "datasource " type= "org.apache.commons.dbcp.BasicDataSource "> <set-property property= "driverClassName " value= "com.microsoft.jdbc.sqlserver.SQLServerDriver " /> <set-property property= "url " value= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=shopping "/> <set-property property= "maxActive " value= "5 " /> <set-property property= "username " value= "sa " /> <set-property property= "password " value= " " /> <set-property property= "autoCommit " value= "true " /> </data-source> </data-sources> ..... </struts-config> 相关的action类: /* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package com.wnkj.struts.action.corporation; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.sql.DataSource; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.wnkj.struts.form.NewloginForm; /** * MyEclipse Struts * Creation date: 07-07-2007 * * XDoclet definition: * @struts.action path= "/newlogin " name= "newloginForm " input= "/form/newlogin.jsp " scope= "request " validate= "true " * @struts.action-forward name= "success " path= "/struts/ok1.jsp " */ public class NewloginAction extends Action { String howemail= "@ny114.cn "; Connection con=null; Statement stat=null; public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { NewloginForm newloginForm = (NewloginForm) form;// TODO Auto-generated method stub String username=newloginForm.getUsername(); String psd=newloginForm.getPassword1(); String email=newloginForm.getEmail(); String standemail=username+howemail; try{ DataSource dataSource=(DataSource)this.getDataSource(request, "datasource "); con=dataSource.getConnection(); stat=con.createStatement(); String sql= "insert into t_user(f_nickName,f_password,f_email,f_regtime,f_standemail) values ( ' "+username+ " ', ' "+psd+ " ', ' "+email+ " ',getdate(), ' "+standemail+ " ') "; int i=stat.executeUpdate(sql); if(i> 0){ request.setAttribute( "insert ", sql); HttpSession session=request.getSession(); session.setAttribute( "username ", username); } else{ request.setAttribute( "error ", sql); } } catch(Exception ex){ ex.printStackTrace(); } finally{ if(con!=null){ try{ con.close(); } catch(Exception ex){ ex.printStackTrace(); } } close(); } return mapping.findForward( "success "); } public void close(){ try{ if(stat!=null){ try{ stat.close(); } catch(Exception ex){ ex.printStackTrace(); } } } catch(Exception ex){ ex.printStackTrace(); } } } 以上是第一种方法,下面是第二种方法。 见下帖: |
88 |
id="Topic_Zone" style="HEIGHT: 4px" marginwidth="0" marginheight="0" src="/u/AD/Topic_Zone.aspx" frameborder="0" width="100%" scrolling="no" height="0">
|
|
|
|
|
|