untitled
|
|
- 진서 경
- 5 years ago
- Views:
Transcription
1 OZ Framework Manual OZ Framework... 2 POST... 3 DataModule POST... 3 FXDataModule POST Custom... 5 Servlet API (for OZ Java Server) DataModuleFactory DataModule FXDataModule Servlet API (for OZ.Net Server) FXDataModule Servlet API : Application : Application - DataAction : Report : XML SDM : FXDataModule... 75
2 OZ Framework User's Guide OZR, OZA OZ Framework OZR, OZA., (Fetch Unit). ODI 3 (fetchunit=dm_per_dataset), (fetchunit=dm_per_datamodule) ODI. URL ODI, POST URL. URL,, DataAction DataAction POST URL. DataAction "ok" "success". POST "POST ". OZ Framework ODI DB (UDS) FXDataModule. 2 FORCS Co., LTD
3 A Leader of Enterprise e-business Solution,, POST POST. Post ODI DataModule POST FXDataModule FXDataModule POST. DataModule POST POST _OZ_ODIFetchType OZ_ODIITEM OZ_ODICATEGORY OZ_DATASET OZ_DEBUG_ MyParam DM_BATCH_FETCH DM_CONCURRENT_FETCH FetchUnit DM_PER_DATASET DM_CONCURRENT_FETCH. ODI ODI FetchUnit DM_PER_DATASET. Debug (true / false) : XML SDM Debug. ODI ODI DataAction POST MyParam _OZ_DAC_CNT ODI ODI DataAction <INDEX> FORCS Co., LTD 3
4 OZ Framework User's Guide <INDEX>.DATASET <INDEX>.TYPE <INDEX>.EXT <INDEX>.SRC_CNT <INDEX>.SF_<INDEX2> <INDEX>.SV_<INDEX2> <INDEX>.TRG_CNT <INDEX>.DF_<INDEX2> <INDEX>.DV_<INDEX2> DataAction DataAction CUD Insert, Delete, RowUpdate DataAction Extra DataAction Source <INDEX2> DataAction <INDEX2> SourceName DataAction <INDEX2> SourceValue DataAction Target <INDEX2> DataAction <INDEX2> TargetName DataAction <INDEX2> TargetValue : 3 ODI, DataAction 3 Commit POST parama=somevalue paramb=somevalue paramc=somevalue _OZ_DAC_CNT=3 0.DATASET=dataset1 0.TYPE=Insert 0.EXT= 0.SRC_CNT=2 0.SF_0=FieldName1 0.SV_0=a 0.SF_1=FieldName2 0.SV_1=b 1.DATASET=dataset1 1.TYPE=Delete 1.EXT= 1.TRG_CNT=1 1.DF_0=FieldName1 1.DV_0=a 2.DATASET=dataset1 2.TYPE=RowUpdate 2.EXT= 2.SRC_CNT=2 2.SF_0=FieldName1 2.SV_0=newvalue 2.SF_1=FieldName2 4 FORCS Co., LTD
5 A Leader of Enterprise e-business Solution 2.SV_1=oldvalue 2.TRG_CNT=2 2.DF_0=FieldName1 2.DV_0=newvalue 2.DF_1=FieldName2 2.DV_1=oldvalue FXDataModule POST Custom DataAction POST _OZ_DAC_CNT_ <DAC_INDEX>.DATASET <DAC_INDEX>.TYPE <DAC_INDEX>.EXT <DAC_INDEX>.SRC_CNT <DAC_INDEX>.SF_<SRC_INDEX> <DAC_INDEX>.SFT_<SRC_INDEX> <DAC_INDEX>.SV_<SRC_INDEX> <DAC_INDEX>.TRG_CNT <DAC_INDEX>.DF_<TRG_INDEX> <DAC_INDEX>.DFT_<TRG_INDEX> <DAC_INDEX>.DV_<TRG_INDEX> DataAction DataAction (Insert, RowUpdate, Delete) DataAction ext DataAction Source DataAction Source DataAction Source DataAction Source ( null ) DataAction Target DataAction Target DataAction Target DataAction Target ( null ) - Type Object Const FX_DT_BIT Boolean -7 "BIT" FX_DT_TINYINT Integer -6 "TINYINT" FORCS Co., LTD 5
6 OZ Framework User's Guide FX_DT_SMALLINT Integer 5 "SMALLINT" FX_DT_INTEGER Integer 4 "INTEGER" FX_DT_BIGINT Long -5 "BIGINT" FX_DT_FLOAT Double 6 "FLOAT" FX_DT_REAL Float 7 "REAL" FX_DT_DOUBLE Double 8 "DOUBLE" FX_DT_NUMERIC String 2 "NUMERIC" FX_DT_DECIMAL String 3 "DECIMAL" FX_DT_CHAR String 1 "CHAR" FX_DT_VARCHAR String 12 "VARCHAR" FX_DT_LONGVARCHAR String -1 "LONGVARCHAR" FX_DT_DATE Date 91 "DATE" FX_DT_TIME Time 92 "TIME" FX_DT_TIMESTAMP Timestamp 93 "TIMESTAMP" FX_DT_BINARY byte[] -2 "BINARY" FX_DT_VARBINARY byte[] -3 "VARBINARY" FX_DT_LONGVARBINARY byte[] -4 "LONGBINARY" FX_DT_BLOB byte[] 2004 "BLOB" FX_DT_CLOB byte[] 2005 "CLUB" : BINARY, VARBINARY, LONGVARBINARY, BLOB, CLOB BASE64. (enum FX_DataTypes) - Type Object BIT TINYINT SMALLINT INTEGER BIGINT FLOAT REAL DOUBLE Boolean Integer Integer Integer Long Double Float Double 6 FORCS Co., LTD
7 A Leader of Enterprise e-business Solution NUMERIC DECIMAL CHAR VARCHAR LONGVARCHAR DATE TIME TIMESTAMP BINARY VARBINARY LONGVARBINARY BLOB CLOB String String String String String Date Time Timestamp byte[] byte[] byte[] byte[] byte[] : BINARY, VARBINARY, LONGVARBINARY, BLOB, CLOB BASE64. Custom DataModule ( ) Child Parameter, DataSetMeta, DataSet DataModule ( ) Attribute runat "server" Child Parameter, DataSetMeta, DataSet Parameter Attribute Text name fieldtype FORCS Co., LTD 7
8 OZ Framework User's Guide DataSetMeta Attribute Child name mastersetname DataFieldMeta DataFieldMeta Attribute fieldname fieldtype DataSet Attribute name Child Record Record Child Column, DataSet Column Attribute Name Text Send Attribute Child iscompress issdm Error (gzip) (true : SDM, false : XML) Error 8 FORCS Co., LTD
9 A Leader of Enterprise e-business Solution Text Servlet 2.3. DataAction. DataModule runat="server". Custom JSP WAS web.xml Custom. location ozsdmtag.tld. web.xml.... <!-- JSPC servlet mappings start -->... <taglib> <taglib-uri> <taglib-location>/web-inf/ozsdmtag.tld</taglib-location> </taglib>... <servlet-mapping> <servlet-name>sample.test </servlet-name> <url-pattern>/test </url-pattern> </servlet-mapping> FORCS Co., LTD 9
10 OZ Framework User's Guide... <!-- JSPC servlet mappings end --> jsp HTML. URL web.xml URL. taglib uri=" prefix="oz" %> ASP.NET OZSDMAPI aspx HTML. Register TagPrefix="oz" Namespace="oz.fxapi.custom.tag" Assembly="OZSDMAPI" %>. <oz:datamodule runat="server"> <oz:datasetmeta name="ids" > <oz:datafieldmeta fieldname="carid" fieldtype="varchar" /> </oz:datasetmeta> <oz:datasetmeta name="informations" mastersetname="ids" > <oz:datafieldmeta fieldname="maker" fieldtype="varchar" /> <oz:datafieldmeta fieldname="carname" fieldtype="clob" /> <oz:datafieldmeta fieldname="ecarname" fieldtype="varchar" /> </oz:datasetmeta> <oz:parameter name="param1" fieldtype="integer">35</oz:parameter> <oz:dataset name="ids"> <oz:record> <oz:column name="carid" >08</oz:Column> <oz:dataset name="informations" > <oz:record> <oz:column name="maker" >HYUNDAI</oz:Column> <oz:column name="carname" >EF</oz:Column> <oz:column name="ecarname" >EFSONATA</oz:Column> </oz:record> </oz:dataset> </oz:record> <oz:record> <oz:column name="carid" >05</oz:Column> <oz:dataset name="informations" > <oz:record> <oz:column name="maker" >HYUNDAI</oz:Column> <oz:column name="carname" ></oz:column> 10 FORCS Co., LTD
11 A Leader of Enterprise e-business Solution <oz:column name="ecarname" >DYNASTY</oz:Column> </oz:record> </oz:dataset> </oz:record> <oz:record> <oz:column name="carid" >07</oz:Column> <oz:dataset name="informations" > <oz:record> <oz:column name="maker" >HYUNDAI</oz:Column> <oz:column name="carname" ></oz:column> <oz:column name="ecarname" >GRANDEUR</oz:Column> </oz:record> </oz:dataset> </oz:record> <oz:record> <oz:column name="carid" >04</oz:Column> <oz:dataset name="informations" > <oz:record> <oz:column name="maker" >HYUNDAI</oz:Column> <oz:column name="carname" ></oz:column> <oz:column name="ecarname" >EQUUS</oz:Column> </oz:record> </oz:dataset> </oz:record> <oz:record> <oz:column name="carid" >09</oz:Column> <oz:dataset name="informations" > <oz:record> <oz:column name="maker" >HYUNDAI</oz:Column> <oz:column name="carname" ></oz:column> <oz:column name="ecarname" >VERNA</oz:Column> </oz:record> </oz:dataset> </oz:record> </oz:dataset> <oz:send iscompressed="false" issdm="true"> <oz:error>not implemented</oz:error> </oz:send> </oz:datamodule> FORCS Co., LTD 11
12 OZ Framework User's Guide DataModuleFactory DataModuleFactory - getdatamodule public static DataModule getdatamodule(string FetchType) throws OZSDMException. "DM_CONCURRENT_FETCH" getdatamodule CONCURRENT. Argument FetchType DM_CONCURRENT_FETCH / DM_BATCH_FETCH / DM_PER_DATASET :,. OZ Framework. DM_CONCURRENT_FETCH :. DM_BATCH_FETCH :. DM_PER_DATASET :.,. 12 FORCS Co., LTD
13 A Leader of Enterprise e-business Solution DataModule DataModule - init public void init(outputstream out) throws IOException Stream. Argument out Response OutputStream - startbinding public void startbinding() throws IOException, SQLException.. - endbinding public void endbinding() throws IOException, SQLException.. - startset public void startset(string DatasetName) throws IOException.. Argument DatasetName - endset public void endset(string DatasetName) throws IOException. Argument DatasetName - addparameter public void addparameter(string ParamName, int FieldType, Object Value) FORCS Co., LTD 13
14 OZ Framework User's Guide. :., getdatamodule() DM_CONCURRENT_FETCH DM_BATCH_FETCH. Argument ParamName FieldType Value - addsetinfo public void addsetinfo(string DatasetName, String MasterDatasetName, String[] FieldNames, int[] FieldTypes) throws IllegalArgumentException., DM_CONCURRENT_FETCH DM_BATCH_FETCH. DatasetName Argument MasterDatasetName FieldNames FieldTypes, "" - addsetinfo public void addsetinfo(string DatasetName, String[] FieldNames, int[] FieldTypes) throws IllegalArgumentException., DM_PER_DATASET. Argument DatasetName FieldNames FieldTypes - addrow public void addrow(string DatasetName, HashMap hmap) throws IOException, SQLException 14 FORCS Co., LTD
15 A Leader of Enterprise e-business Solution ResultSet Row. DatasetName Argument hmap HashMap Row )... rs = stmt.executequery(query); while(rs.next()) HashMap hmap = new HashMap(); hmap.put(_fn[0], rs.getstring(_fn[0])); hmap.put(_fn[1], rs.getstring(_fn[1])); hmap.put(_fn[2], rs.getstring(_fn[2])); hmap.put(_fn[3], rs.getstring(_fn[3])); hmap.put(_fn[4], rs.getstring(_fn[4])); hmap.put(_fn[5], rs.getstring(_fn[5])); module.addrow("set_1", hmap);... - addrow public void addrow(string DatasetName, List list) throws IOException, SQLException ResultSet Row. Argument DatasetName list ArrayList Row - addrow public void addrow(string DatasetName, String[] arr) throws IOException, SQLException ResultSet Row. Argument DatasetName arr String[] Row - makesdm_set FORCS Co., LTD 15
16 OZ Framework User's Guide public void makesdm_set(string DatasetName, ResultSet rs, OutputStream out) throws OZSDMException, IOException DM_PER_DATASET SDM., Batch. Argument DatasetName rs out ResultSet Response OutputStream - sendbinderrormessage public void sendbinderrormessage(string msg) throws IOException. :. Argument msg - senderrormessage public void senderrormessage(string msg, OutputStream out) throws IOException. :. Argument msg out Response OutputStream - setdebug public void setdebug(boolean isdebug, HttpServletResponse response) throws IOException Debug. : XML SDM Debug. : init,. "setdebug method can't call after init method calling and call only one time". 16 FORCS Co., LTD
17 A Leader of Enterprise e-business Solution Argument isdebug response Debug - true : Debug - false : Debug () Servlet API - ODI getdatamodule(); init(); addparameter(); addsetinfo(); startbinding(); startset(); * addrow(); endset(); endbinding(); :. - - ODI getdatamodule(); init(); addparameter(); addsetinfo(); startbinding(); startset(); FORCS Co., LTD 17
18 OZ Framework User's Guide * addrow(); * startset(); * * addrow(); * endset(); endset(); endbinding(); :,. - getdatamodule(); init(); addsetinfo(); startbinding(); startset(); * addrow(); endset(); endbinding(); :. 18 FORCS Co., LTD
19 A Leader of Enterprise e-business Solution FXDataModule FX_DataModule - FX_DataModule Argument public FX_DataModule() FXDataModule. addparameter public void addparameter(fx_parameter param). Argument Param addparameters public void addparameters(fx_parameter[] param). Argument Params adddatasetmeta public void adddatasetmeta(fx_datasetmeta meta). Argument Meta write Argument public void write(outputstream out, booleam issdm, boolen iscompress) DataModule SDM XML. : XML Response ContentType. (Ex : "text/xml") out OutStream issdm SDM (false XML ) FORCS Co., LTD 19
20 OZ Framework User's Guide iscompress : true GZip Unzip. Return senderrormessage public void senderrormessage(outputstream out, booleam issdm, boolen iscompress, String error) DataModule SDM XML,. Argument out issdm iscompress error OutStream SDM (false XML ) : true GZip Unzip. Return getdataaction public FX_DataAction getdataaction(httpservletrequest request) Request FX_DataAction. Argument request error Request Return DataAction FX_DataSetMeta FX_ DataSetMeta public FX_DataSetMeta(String name) FXDataModule. Argument name 20 FORCS Co., LTD
21 A Leader of Enterprise e-business Solution FX_DataSetMeta public FX_DataSetMeta(String name, String msetname) FXDataModule. Argument name msetname setmastersetname public void setmastersetname(string msetname). Argument msetname adddatafieldmeta public void adddatafieldmeta(fx_datafieldmeta field). Argument field adddatafieldmeta public void adddatafieldmeta(fx_datafieldmeta[] fields). Argument fields FX_DataFieldMeta FX_DataFieldMeta public FX_DataFieldMeta(String name, int type). Argument name type FX_ DataFieldMeta public FX_DataFieldMeta(String name) VARCHAR. Argument name FORCS Co., LTD 21
22 OZ Framework User's Guide settype public void settype(int type). Argument type FX_DataSet FX_DataSet public FX_DataSet(String name) FXDataModule. Argument name addrecord public void addrecord(fx_record record),. Argument record FX_Record FX_Record public FX_Record(),. addcolumn public void addcolumn(string name, Object value). Argument name value adddetaildataset public void adddetaildataset(fx_dataset detail). Argument detail 22 FORCS Co., LTD
23 A Leader of Enterprise e-business Solution FX_DataAction FX_DataAction public FX_DataAction(String name, String actiontype) DataAcion. Argument name actiontype DataAction FX_DataAction public FX_DataAction(String name, String actiontype, String ext) DataAcion. Argument name actiontype ext DataAction ext getdatasetname Return public String getdatasetname(). getactiontype Return public String getactiontype() DataAction. DataAction (Insert, RowUpdate, Delete) getext Return public String getext() ext. ext setext public String setext(string ext) ext. FORCS Co., LTD 23
24 OZ Framework User's Guide Argument ext ext getsourcefields Return public FX_Parameter[] getsourcefields() Source. Source setsourcefields public void setsourcefields(fx_parameter[] fields) Source. Argument fields Source gettargetfields Return public FX_Parameter[] gettargetfields() Target. Target settargetfields public void settargetfields(fx_parameter[] fields) Target. Argument fields Target FX_Parameter FX_Parameter public FX_Parameter(String name, int type, String value) FXDataModule. Argument name type value FX_Parameter public FX_Parameter(String name, String value) 24 FORCS Co., LTD
25 A Leader of Enterprise e-business Solution FXDataModule VARCHAR. Argument name value getname Return public String getname(). gettype Return public int gettype(). settype public void settype(int type). type getvalue Return public String gettype(). isnull Return public boolean isnull() null. null FORCS Co., LTD 25
26 OZ Framework User's Guide : Servlet API Framework FXDataModule FX_DataModule FX_DataModule Argument public FX_DataModule() FXDataModule. addparameter public void addparameter(fx_parameter param). Argument Param addparameters public void addparameters(fx_parameter[] param). Argument Params adddatasetmeta Public void adddatasetmeta(fx_datasetmeta meta). Argument Meta write public void write(outputstream output, booleam issdm, boolen iscompress) 26 FORCS Co., LTD
27 A Leader of Enterprise e-business Solution Argument Return DataModule SDM XML. : XML Response ContentType. (Ex : "text/xml") output OutStream issdm SDM (false XML ) iscompress : true GZip Unzip. senderrormessage public void senderrormessage(outputstream output, booleam issdm, boolen iscompress, string error) DataModule SDM XML,. Argument output issdm iscompress error OutStream SDM (false XML ) : true GZip Unzip. Return getdataaction public FX_DataAction getdataaction(httpservletrequest request) Request FX_DataAction. Argument request error Request Return DataAction FX_DataSetMeta FX_ DataSetMeta public FX_DataSetMeta(String name) FORCS Co., LTD 27
28 OZ Framework User's Guide FXDataModule. Argument name FX_DataSetMeta public FX_DataSetMeta(String name, String msetname) FXDataModule. Argument name msetname MasterSetName public string MasterSetNameget; set;. adddatafieldmeta public void adddatafieldmeta(fx_datafieldmeta[] field). Argument field FX_DataFieldMeta FX_DataFieldMeta public FX_DataFieldMeta(string name, int type) Argument name type FX_ DataFieldMeta public FX_DataFieldMeta(String name) VARCHAR. Argument name Type public FX_DataTypes Typeget; set;. 28 FORCS Co., LTD
29 A Leader of Enterprise e-business Solution FX_DataSet FX_DataSet public FX_DataSet(string name) FXDataModule Argument name addrecord public void AddRecord(FX_Record record),. Argument record FX_Record FX_Record public FX_REcord(),. addcolumn public void addcolumn(string name, Object value). Argument name value adddetaildataset public void adddetaildataset(fx_dataset detail). Argument detail FX_DataAction FX_DataAction public FX_DataAction(string name, string actiontype) DataAcion. Argument name FORCS Co., LTD 29
30 OZ Framework User's Guide actiontype DataAction FX_DataAction public FX_DataAction(string name, string actiontype, string ext) DataAcion. Argument name actiontype ext DataAction ext DataSetName public string DataSetNameget;. ActionType public string ActionTypeget; DataAction. (Insert, RowUpdate, Delete) ExtraArgument public string ExtraArgumentget; set; ext. SourceFields public FX_Parameter[] SourceFieldsget; set; Source. TargetFields public FX_Parameter[] TargetFieldsget; set; Target. FX_Parameter FX_Parameter public FX_Parameter(string name, int type, string value) 30 FORCS Co., LTD
31 A Leader of Enterprise e-business Solution FXDataModule. Argument name type value FX_Parameter public FX_Parameter(string name, string value) FXDataModule VARCHAR. Argument name value Name public string Nameget;. Type public FX_DataTypes Typeget; set;. value public string valueget;. IsNull public string gettypeget; set; null. FORCS Co., LTD 31
32 OZ Framework User's Guide 1 : Application - Servlet API Table. Servlet API ozsdmapi.jar WAS UDS ODI. Step 1 ozsdmapi.jar WAS Servlet API ozsdmapi.jar WAS. Tomcat 5.0 webapps\root\web-inf\lib ozsdmapi.jar. Step 2. java DataModuleSampleServlet.class. package sample; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; import java.util.*; import oz.framework.api.datamodule; import oz.uds.rs.listmapresultset; import oz.sdm.datamodulefactory; import oz.uds.rs.listmapresultset; /** * <p>title: OZ SDM API</p> * <p>description: </p> * <p>copyright: Copyright (c) 2005</p> * <p>company: </p> Forcs 1.0 */ public class DataModuleSampleServlet extends HttpServlet 32 FORCS Co., LTD
33 A Leader of Enterprise e-business Solution private static final String _KEY_ODI_FETCH_TYPE = "_OZ_ODIFetchType_"; private static final String _KEY_ODIITEM = "_OZ_ODIITEM_"; private static final String _KEY_ODICATEGORY = "_OZ_ODICATEGORY_"; private static final String _KEY_OZ_DATASET_ = "_OZ_DATASET_"; private Connection m_conn = null; public void init(servletconfig config) throws ServletException super.init(config); System.out.println("init..."); public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException process(request, response); public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException process(request, response); private void process(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException // init connection. try String _URL = "jdbc:odbc:ozdemokr30"; Properties prop = new Properties(); prop.put("user", ""); prop.put("password", ""); Driver driver = (Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); m_conn = driver.connect(_url, prop); System.out.println("connection ok..."); catch(exception e) System.out.println("connection error..."); DataModule.sendErrorMessage("connection error...",response.getoutputstream()); if (m_conn!= null) try m_conn.close(); catch (Exception e1) throw new ServletException(e.getMessage()); try System.out.println("start "); Enumeration enum = request.getparameternames(); while (enum.hasmoreelements()) String temp = (String) enum.nextelement(); System.out.println("name=" + temp + " value=" + getencode(request.getparameter(temp))); FORCS Co., LTD 33
34 OZ Framework User's Guide // // fetch parameters // "DM_BATCH_FETCH DM_CONCURRENT_FETCH" String odifetchtype = getencode(request.getparameter(_key_odi_fetch_type)); String item = getencode(request.getparameter(_key_odiitem)); String category = getencode(request.getparameter(_key_odicategory)); String dataset = getencode(request.getparameter(_key_oz_dataset_)); // if (odifetchtype == null) odifetchtype = "DM_CONCURRENT_FETCH"; if ( (dataset == null) (dataset.length() == 0)) // ODI FetchUnit DM_PER_DATAMODULE. if (item.equals("jasmin_sample3.odi")) // Master-Detail Sample. Master_Detail_Style(request, response, odifetchtype); else if (item.equals("jasmin_sample2.odi") (item.equals("jasmin_sample4.odi"))) // SET Sample. default_style(request, response, odifetchtype); else System.out.println("unsupported odi error..."); DataModule.sendErrorMessage("unsupported odi error...", response.getoutputstream()); throw new ServletException("Unknown Item :" + item); else // ODI FetchUnit DM_PER_DATASET. // odifetchtype DM_PER_DATASET DM_CONCURRENT_FETCH. //. (batch.) if (odifetchtype.equalsignorecase("dm_concurrent_fetch")) // set #1 setdefaultstyle(request, response, "DM_PER_DATASET"); // set #2 // setresultsetquerystyle(request, response, "DM_CONCURRENT_FETCH"); else System.out.println("unsupported error..."); DataModule.sendErrorMessage("unsupported error...", response.getoutputstream()); throw new ServletException("unsupported"); catch(exception ex) ex.printstacktrace(); // senderrormessage // throw. client DataModule.sendErrorMessage(ex.getMessage(), response.getoutputstream()); throw new ServletException(ex.getMessage()); finally if (m_conn!= null) try m_conn.close(); catch (Exception e) 34 FORCS Co., LTD
35 A Leader of Enterprise e-business Solution System.out.println("end "); private void Master_Detail_Style(HttpServletRequest request, HttpServletResponse response, String fetchtype) throws ServletException, IOException Statement stmt1 = null; Statement stmt4 = null; ResultSet rs1 = null; ResultSet rs4 = null; DataModule module = null; // jasmin/jasmin_sample1.odi // SET_1 String[] _FN1 = "FirstName" ; int[] _FT1 = java.sql.types.varchar ; // SET_4 String[] _FN4 = "ContactId", "FirstName", "LastName", "Phone", "Fax", " ", "OrgUnitId", "UserName" ; int[] _FT4 = 4, 12, 12, 12, 12, 12, 5, 12 ; try module = DataModuleFactory.getDataModule(fetchType); module.init(response.getoutputstream()); // set SET Info. module.addsetinfo("set_1", "", _FN1, _FT1); module.addsetinfo("set_4", "SET_1", _FN4, _FT4); catch(exception ex) throw new ServletException(ex.getMessage()); try module.startbinding(); String query1 = "select distinct FirstName from contact"; module.startset("set_1"); stmt1 = m_conn.createstatement(); rs1 = stmt1.executequery(query1); while(rs1.next()) String f1 = rs1.getstring(_fn1[0]); HashMap map1 = new HashMap(); map1.put(_fn1[0], f1); module.addrow("set_1", map1); contactid"; String query4 = "select * from contact where FirstName='" + f1 + "' order by module.startset("set_4"); stmt4 = m_conn.createstatement(); rs4 = stmt4.executequery(query4); while(rs4.next()) HashMap map4 = new HashMap(); map4.put(_fn4[0], new Integer(rs4.getInt(_FN4[0]))); map4.put(_fn4[1], rs4.getstring(_fn4[1])); map4.put(_fn4[2], rs4.getstring(_fn4[2])); map4.put(_fn4[3], rs4.getstring(_fn4[3])); map4.put(_fn4[4], rs4.getstring(_fn4[4])); FORCS Co., LTD 35
36 OZ Framework User's Guide map4.put(_fn4[5], rs4.getstring(_fn4[5])); map4.put(_fn4[6], new Integer(rs4.getInt(_FN4[6]))); map4.put(_fn4[7], rs4.getstring(_fn4[7])); module.addrow("set_4", map4); rs4.close(); rs4 = null; stmt4.close(); stmt4 = null; module.endset("set_4"); rs1.close(); rs1 = null; stmt1.close(); stmt1 = null; module.endset("set_1"); module.endbinding(); catch(exception e) e.printstacktrace(); // sendbinderrormessage. if(module!= null) module.sendbinderrormessage(e.tostring()); finally if(rs1!= null) try rs1.close(); catch(exception e) if(stmt1!= null) try stmt1.close(); catch(exception e) if(rs4!= null) try rs4.close(); catch(exception e) if(stmt4!= null) try stmt4.close(); catch(exception e) private void default_style(httpservletrequest request, HttpServletResponse response, String fetchtype) throws ServletException, IOException System.out.println("select time=="+system.currenttimemillis()); Statement stmt = null; ResultSet rs = null; DataModule module = null; // jasmin/jasmin_sample2.odi // SET_1 String[] _FN = "CarID", "Maker", "EMaker", "CarName", "ECarName", "CarImageFile"; int[] _FT = java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar ; try module = DataModuleFactory.getDataModule(fetchType); 36 FORCS Co., LTD
37 A Leader of Enterprise e-business Solution module.init(response.getoutputstream()); // module.init(output); // set Parameter Info. module.addparameter("param1", java.sql.types.varchar, getencode(request.getparameter("param1"))); module.addparameter("param2", java.sql.types.varchar, getencode(request.getparameter("param2"))); // set SET Info. module.addsetinfo("set_1", "", _FN, _FT); catch(exception ex) throw new ServletException(ex.getMessage()); try module.startbinding(); String query = "select * from car"; module.startset("set_1"); stmt = m_conn.createstatement(); rs = stmt.executequery(query); while(rs.next()) HashMap map = new HashMap(); String a = rs.getstring(_fn[0]); String b = rs.getstring(_fn[1]); String c = rs.getstring(_fn[2]); String d = rs.getstring(_fn[3]); String e = rs.getstring(_fn[4]); String f = rs.getstring(_fn[5]); map.put(_fn[0], a); map.put(_fn[1], b); map.put(_fn[2], c); map.put(_fn[3], d); map.put(_fn[4], e); map.put(_fn[5], f); module.addrow("set_1", map); System.out.print("select FN0="+_FN[0]+" name="+a); System.out.print(" FN1="+_FN[1]+" name="+b); System.out.print(" FN2="+_FN[2]+" name="+c); System.out.print(" FN3="+_FN[3]+" name="+d); System.out.print(" FN4="+_FN[4]+" name="+e); System.out.print(" FN5="+_FN[5]+" name="+f); System.out.println(""); module.endset("set_1"); module.endbinding(); rs.close(); rs = null; stmt.close(); stmt = null; catch(exception e) e.printstacktrace(); // sendbinderrormessage. module.sendbinderrormessage(e.tostring()); finally OutputStream out = response.getoutputstream(); FORCS Co., LTD 37
38 OZ Framework User's Guide if(rs!= null) try rs.close(); catch(exception e) if(stmt!= null) try stmt.close(); catch(exception e) private void setdefaultstyle(httpservletrequest request, HttpServletResponse response, String fetchtype) throws ServletException, IOException System.out.println("setDefaultStyle fetchtype =="+fetchtype); Statement stmt = null; ResultSet rs = null; DataModule module = null; // jasmin/jasmin_sample4.odi // SET_1 String[] _FN = "CarID", "Maker", "EMaker", "CarName", "ECarName", "CarImageFile"; int[] _FT = java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar ; try module = DataModuleFactory.getDataModule(fetchType); module.init(response.getoutputstream()); // set SET Info. module.addsetinfo("set_1", _FN, _FT); catch(exception ex) throw new ServletException(ex.getMessage()); try module.startbinding(); String query = "select * from car"; module.startset("set_1"); stmt = m_conn.createstatement(); rs = stmt.executequery(query); while(rs.next()) HashMap map = new HashMap(); String a = rs.getstring(_fn[0]); String b = rs.getstring(_fn[1]); String c = rs.getstring(_fn[2]); String d = rs.getstring(_fn[3]); String e = rs.getstring(_fn[4]); String f = rs.getstring(_fn[5]); map.put(_fn[0], a); map.put(_fn[1], b); map.put(_fn[2], c); map.put(_fn[3], d); map.put(_fn[4], e); map.put(_fn[5], f); 38 FORCS Co., LTD
39 A Leader of Enterprise e-business Solution module.addrow("set_1", map); System.out.print("select FN0="+_FN[0]+" name="+a); System.out.print(" FN1="+_FN[1]+" name="+b); System.out.print(" FN2="+_FN[2]+" name="+c); System.out.print(" FN3="+_FN[3]+" name="+d); System.out.print(" FN4="+_FN[4]+" name="+e); System.out.print(" FN5="+_FN[5]+" name="+f); System.out.println(""); module.endset("set_1"); module.endbinding(); rs.close(); rs = null; stmt.close(); stmt = null; catch(exception e) e.printstacktrace(); // sendbinderrormessage. module.sendbinderrormessage(e.tostring()); finally OutputStream out = response.getoutputstream(); if(rs!= null) try rs.close(); catch(exception e) if(stmt!= null) try stmt.close(); catch(exception e) private void setresultsetquerystyle(httpservletrequest request, HttpServletResponse response, String fetchtype) throws ServletException, IOException System.out.println("setResultSetQueryStyle..."); Statement stmt = null; ResultSet rs = null; DataModule module = null; try // jasmin/jasmin_sample4.odi // SET_1 String[] _FN = "CarID", "Maker", "EMaker", "CarName", "ECarName", "CarImageFile" ; int[] _FT = java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar,java.sql.types.varchar; module = DataModuleFactory.getDataModule(fetchType); String query = "select * from car"; stmt = m_conn.createstatement(); rs = stmt.executequery(query); module.makesdm_set("set_1",rs,response.getoutputstream()); rs.close(); rs = null; stmt.close(); stmt = null; FORCS Co., LTD 39
40 OZ Framework User's Guide catch(exception e) e.printstacktrace(); // set sendbinderrormessage. // makesdm_set. throw new ServletException(e.getMessage()); finally if(rs!= null) try rs.close(); catch(exception e) if(stmt!= null) try stmt.close(); catch(exception e) public void destroy() super.destroy(); private String getencode(string value) try return new String(value.getBytes("8859_1"), "KSC5601"); catch(exception ex) return value; Step 3 DataModuleSampleServlet.class WAS. DataModuleSampleServlet.class. Tomcat 5.0 webapps\root\web-inf\classes sample. DataModuleSampleServlet.class WAS. Tomcat 5.0 webapps\root\web-inf web.xml.... <!-- JSPC servlet mappings start -->... <servlet> <servlet-name>sample.datamodulesampleservlet</servlet-name> <servlet-class>sample.datamodulesampleservlet</servlet-class> </servlet> 40 FORCS Co., LTD
41 A Leader of Enterprise e-business Solution... <servlet-mapping> <servlet-name>sample.datamodulesampleservlet</servlet-name> <url-pattern>/sample.datamodulesampleservlet</url-pattern> </servlet-mapping>... <!-- JSPC servlet mappings end --> Step 4 ODI Servlet API (UDS),. POST "_OZ_ODIITEM_".. (UDS).. FORCS Co., LTD 41
42 OZ Framework User's Guide. [ ]. [].. 42 FORCS Co., LTD
43 A Leader of Enterprise e-business Solution. ( ). URL []. FORCS Co., LTD 43
44 OZ Framework User's Guide "_OZ_ODIITEM_=ODI" [].. ODI "JASMIN_SAMPLE2.odi". Step 5 OZF : Servlet API URL DataModule RegisterUserDataModule JavaScript. JavaScript, Document.GlobalFunction OZF OZF. OZF. OZF "MyFrameworkURLUDS.ozf". MyFrameworkURLUDS.prototype.GetFrameworkURL = MyFrameworkURLUDS_GetFrameworkURL; MyFrameworkURLUDS.prototype.GetCUDFrameworkURL = 44 FORCS Co., LTD
45 A Leader of Enterprise e-business Solution MyFrameworkURLUDS_GetCUDFrameworkURL; MyFrameworkURLUDS.prototype.GetFrameworkPostParam = MyFrameworkURLUDS_GetFrameworkPostParam; MyFrameworkURLUDS.prototype.GetCUDFrameworkPostParam = MyFrameworkURLUDS_GetCUDFrameworkPostParam; function MyFrameworkURLUDS(_url, _cud_url, _url_param, _cud_url_param) this.url = _url; this.cud_url = _cud_url; this.url_param = _url_param; if(this.url_param == null) this.url_param = ""; this.cud_url_param = _cud_url_param; if(this.cud_url_param == null) this.cud_url_param = ""; function MyFrameworkURLUDS_GetFrameworkURL(dataset_name) return this.url; function MyFrameworkURLUDS_GetCUDFrameworkURL(dataset_name) return this.cud_url; function MyFrameworkURLUDS_GetFrameworkPostParam(dataset_name) return "default&"+this.url_param; function MyFrameworkURLUDS_GetCUDFrameworkPostParam(dataset_name) return "default&"+this.cud_url_param; GetFrameworkURL GetCUDFrameworkURL. GetFrameworkURL URL. GetCUDFrameworkURL DataAction URL. URL FORCS Co., LTD 45
46 OZ Framework User's Guide, URL. "JASMIN_SAMPLE2.odi" "MyFrameworkURLUDS.ozf". Board Table Table ODIKey "JASMIN_SAMPLE2", DataSet "SET_1",. Table OnInitialize. var uds = new MyFrameworkURLUDS(" var datamanager = _GetDataManager(); var datamodule = datamanager.getdatamodule("jasmin_sample2"); datamodule.registeruserdatamodule(uds); Step 6 WAS. 46 FORCS Co., LTD
47 A Leader of Enterprise e-business Solution 2 : Application - DataAction Servlet API Table,,. Step 1 ozsdmapi.jar WAS Servlet API ozsdmapi.jar WAS. Tomcat 5.0 webapps\root\web-inf\lib ozsdmapi.jar. Step 2 DataAction DataAction. java DataActionSampleServlet.class. package sample; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; import java.util.*; /** * <p>title: OZ SDM API</p> FORCS Co., LTD 47
48 OZ Framework User's Guide * <p>description: </p> * <p>copyright: Copyright (c) 2005</p> * <p>company: </p> Forcs 1.0 */ public class DataActionSampleServlet extends HttpServlet private static final String _KEY_ODI_FETCH_TYPE = "_OZ_ODIFetchType_"; private static final String _KEY_ODIITEM = "_OZ_ODIITEM_"; private static final String _KEY_ODICATEGORY = "_OZ_ODICATEGORY_"; private static final String _KEY_OZ_DATASET_ = "_OZ_DATASET_"; private static final String _KEY_OZ_DAC_CNT = "_OZ_DAC_CNT"; private static String TABLENAME = "car"; private String dac_insert_query = ""; private String dac_update_query = ""; private String dac_delete_query = ""; private PreparedStatement p_insert_stmt = null; private PreparedStatement p_update_stmt = null; private PreparedStatement p_delete_stmt = null; private Connection m_conn = null; public void init(servletconfig config) throws ServletException super.init(config); public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException process(request, response); public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException process(request, response); private void process(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException try String _URL = "jdbc:odbc:ozdemokr30"; Properties prop = new Properties(); prop.put("user", ""); prop.put("password", ""); Driver driver = (Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); m_conn = driver.connect(_url, prop); catch(exception ex) response.getoutputstream().write(ex.getmessage().getbytes()); throw new ServletException(ex.getMessage()); 48 FORCS Co., LTD
49 A Leader of Enterprise e-business Solution try dac_insert_query = ""; dac_update_query = ""; dac_delete_query = ""; Enumeration enum = request.getparameternames(); while (enum.hasmoreelements()) String temp = (String) enum.nextelement(); System.out.println("name=" + temp + " value=" + getencode(request.getparameter(temp))); // // fetch parameters // "DM_BATCH_FETCH DM_CONCURRENT_FETCH" String odifetchtype = getencode(request.getparameter( _KEY_ODI_FETCH_TYPE)); String item = getencode(request.getparameter(_key_odiitem)); String category = getencode(request.getparameter(_key_odicategory)); String dataset = getencode(request.getparameter(_key_oz_dataset_)); // System.out.println(" "); if (odifetchtype == null) odifetchtype = "DM_CONCURRENT_FETCH"; m_conn.setautocommit(false); //Action. int dac_cnt = Integer.parseInt(request.getParameter(_KEY_OZ_DAC_CNT)); for (int i = 0; i < dac_cnt; i++) String type = request.getparameter(i + ".TYPE"); if (type.equalsignorecase("insert")) insert(request, response, i); else if (type.equalsignorecase("rowupdate")) update(request, response, i); else if (type.equalsignorecase("delete")) delete(request, response, i); System.out.println(type+" time=="+system.currenttimemillis()); m_conn.commit(); response.getoutputstream().write(new String("OK").getBytes()); catch(exception ex) ex.printstacktrace(); try m_conn.rollback(); catch(exception e) response.getoutputstream().write(ex.getmessage().getbytes()); throw new ServletException(ex.getMessage()); finally if(p_insert_stmt!= null) try p_insert_stmt.close(); catch(exception e) if(p_update_stmt!= null) try p_update_stmt.close(); catch(exception e) if(p_delete_stmt!= null) try p_delete_stmt.close(); catch(exception e) if (m_conn!= null) try m_conn.close(); catch(exception e) FORCS Co., LTD 49
50 OZ Framework User's Guide private void insert(httpservletrequest request, HttpServletResponse response, int cnt) throws Exception int insert_source_fieldcnt = Integer.parseInt(request.getParameter(cnt + ".SRC_CNT")); if (dac_insert_query.equalsignorecase("")) // prepared. dac_insert_query = "INSERT INTO "+TABLENAME+" ("; for (int i = 0; i < insert_source_fieldcnt; i++) String s_fieldname = getencode(request.getparameter(cnt + ".SF_" + i)); if (i == insert_source_fieldcnt - 1) dac_insert_query += s_fieldname; else dac_insert_query += s_fieldname + ","; dac_insert_query += ") VALUES ( "; for (int i = 0; i < insert_source_fieldcnt; i++) if (i == insert_source_fieldcnt - 1) dac_insert_query += "?"; else dac_insert_query += "?,"; dac_insert_query += ")"; System.out.println("dac_insert_query="+dac_insert_query); p_insert_stmt = m_conn.preparestatement(dac_insert_query); for (int i = 0; i < insert_source_fieldcnt; i++) String value = getencode(request.getparameter(cnt + ".SV_" + i)); p_insert_stmt.setstring(i + 1, value); p_insert_stmt.execute(); private void update(httpservletrequest request, HttpServletResponse response, int cnt) throws Exception int update_source_fieldcnt = Integer.parseInt(request.getParameter(cnt + ".SRC_CNT")); int update_target_fieldcnt = 0; try update_target_fieldcnt = Integer.parseInt(request.getParameter(cnt + ".TRG_CNT")); catch(exception ex) if (dac_update_query.equalsignorecase("")) // prepared. dac_update_query = "UPDATE "+TABLENAME+" set "; for (int i = 0; i < update_source_fieldcnt; i++) String s_fieldname = getencode(request.getparameter(cnt + ".SF_" + i)); if (i == update_source_fieldcnt - 1) 50 FORCS Co., LTD
51 A Leader of Enterprise e-business Solution dac_update_query += s_fieldname +" =? "; else dac_update_query += s_fieldname +" =?,"; dac_update_query += " WHERE "; for (int i = 0; i < update_target_fieldcnt; i++) String t_fieldname = getencode(request.getparameter(cnt + ".DF_" + i)); if (i == update_target_fieldcnt - 1) dac_update_query += t_fieldname +" =? "; else dac_update_query += t_fieldname +" =? AND "; System.out.println("dac_update_query="+dac_update_query); p_update_stmt = m_conn.preparestatement(dac_update_query); int i = 0; for (i = 0; i < update_source_fieldcnt; i++) String value = getencode(request.getparameter(cnt + ".SV_" + i)); p_update_stmt.setstring(i + 1, value); for (int j = 0; j < update_source_fieldcnt; j++) String value = getencode(request.getparameter(cnt + ".DV_" + j)); p_update_stmt.setstring(i + 1, value); i++; p_update_stmt.execute(); private void delete(httpservletrequest request, HttpServletResponse response, int cnt) throws Exception int delete_target_fieldcnt = Integer.parseInt(request.getParameter(cnt + ".TRG_CNT")); if (dac_delete_query.equalsignorecase("")) // prepared. dac_delete_query = "DELETE FROM "+TABLENAME+" WHERE "; for (int i = 0; i < delete_target_fieldcnt; i++) String t_fieldname = getencode(request.getparameter(cnt + ".DF_" + i)); if (i == delete_target_fieldcnt - 1) dac_delete_query += t_fieldname +" =? "; else dac_delete_query += t_fieldname +" =? AND "; System.out.println("dac_delete_query="+dac_delete_query); p_delete_stmt = m_conn.preparestatement(dac_delete_query); FORCS Co., LTD 51
52 OZ Framework User's Guide int i = 0; for (i = 0; i < delete_target_fieldcnt; i++) String value = getencode(request.getparameter(cnt + ".DV_" + i)); p_delete_stmt.setstring(i + 1, value); p_delete_stmt.execute(); public void destroy() super.destroy(); private String getencode(string value) try return new String(value.getBytes("8859_1"), "KSC5601"); catch(exception ex) return value; Step 3 " 1" DataModuleSampleServlet.class DataActionSampleServlet.class WAS. DataModuleSampleServlet.class, DataActionSampleServlet.class WAS. Tomcat 5.0 webapps\root\web-inf\classes sample. DataModuleSampleServlet.class, DataActionSampleServlet.class WAS. Tomcat 5.0 webapps\root\web-inf web.xml.... <!-- JSPC servlet mappings start -->... <servlet> <servlet-name>sample.datamodulesampleservlet</servlet-name> <servlet-class>sample.datamodulesampleservlet</servlet-class> </servlet> <servlet> <servlet-name>sample.dataactionsampleservlet</servlet-name> 52 FORCS Co., LTD
53 A Leader of Enterprise e-business Solution <servlet-class>sample.dataactionsampleservlet</servlet-class> </servlet>... <servlet-mapping> <servlet-name>sample.datamodulesampleservlet</servlet-name> <url-pattern>/sample.datamodulesampleservlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>sample.dataactionsampleservlet</servlet-name> <url-pattern>/sample.dataactionsampleservlet</url-pattern> </servlet-mapping>... <!-- JSPC servlet mappings end --> Step 4 ODI Servlet API (UDS),. (UDS).. FORCS Co., LTD 53
54 OZ Framework User's Guide. [ ]. []. 54 FORCS Co., LTD
55 A Leader of Enterprise e-business Solution. SET_1 [ ], [ ], [ ],,.. INSERT INTO car(#@arg_sf1#, #@ARG_SF2#, #@ARG_SF3#, #@ARG_SF4#, #@ARG_SF5#, #@ARG_SF6#) VALUES('#@ARG_SV1#','#@ARG_SV2#', '#@ARG_SV3#','#@ARG_SV4#', '#@ARG_SV5#', '#@ARG_SV6#'). DELETE FROM car WHERE [#@ARG_DF1#] = '#@ARG_DV1#"; FORCS Co., LTD 55
56 OZ Framework User's Guide. UPDATE car SET = [#@ARG_SF2#] = '#@ARG_SV2#', [#@ARG_SF3#] = '#@ARG_SV3#', [#@ARG_SF4#] = '#@ARG_SV4#', [#@ARG_SF5#] = '#@ARG_SV5#', [#@ARG_SF6#] = '#@ARG_SV6#' WHERE [#@ARG_DF1#] = '#@ARG_DV1#' ODI "JASMIN_SAMPLE4.odi". Step 5 "JASMIN_SAMPLE4.odi" " 1" "MyFrameworkURLUDS.ozf". Board Table Table ODIKey "JASMIN_SAMPLE4", DataSet "SET_1",. Table,, Table "AllowInsert", "AllowDelete", "AllowUpdate" "True". Table OnInitialize. var uds = new MyFrameworkURLUDS(" var datamanager = _GetDataManager(); var datamodule = datamanager.getdatamodule("jasmin_sample4"); datamodule.registeruserdatamodule(uds); 56 FORCS Co., LTD
57 A Leader of Enterprise e-business Solution Board Button Button OnClick. var result = Table1.CommitQueuedActions(); if(result == "") Table1.GetDataModule().RefreshAllDataSet(); else _MessageBox(result); //var myodiobject = _GetDataManager().GetDataModule("odiName").GetUserDataModule(); //Select // myodiobject.url_param = "key1=value1&key2=value2"; //DataAction // myodiobject.cud_url_param = "key1=value1&key2=value2"; //_GetDataManager().GetDataModule("odiName").RefreshAllDataSet(); Step 7.. Delete.. FORCS Co., LTD 57
58 OZ Framework User's Guide,, DataAction. [CommitQueueActions]. 3 : Report - Servlet API. Servlet API framworkurl (HTTP URL). odi.odi.framworkurl, odi.framworkurl, connection.framworkurl. : Servlet API,. Step 1 ozsdmapi.jar WAS Servlet API ozsdmapi.jar WAS. Tomcat 5.0 webapps\root\web-inf\lib ozsdmapi.jar. Step 2 " 1" DataModuleSampleServlet.class WAS. DataModuleSampleServlet.class WAS. Tomcat 5.0 webapps\root\web-inf\classes\sample. 58 FORCS Co., LTD
59 A Leader of Enterprise e-business Solution DataModuleSampleServlet.class WAS. Tomcat 5.0 webapps\root\web-inf web.xml.... <!-- JSPC servlet mappings start -->... <servlet> <servlet-name>sample.datamodulesampleservlet</servlet-name> <servlet-class>sample.datamodulesampleservlet</servlet-class> </servlet>... <servlet-mapping> <servlet-name>sample.datamodulesampleservlet</servlet-name> <url-pattern>/sample.datamodulesampleservlet</url-pattern> </servlet-mapping>... <!-- JSPC servlet mappings end --> Step 3 " 1" JASMIN_SAMPLE2.odi.,. "ODI " "JASMIN_SAMPLE2", "" "SET_1". &.. FORCS Co., LTD 59
60 OZ Framework User's Guide [] " " []. [],,. 60 FORCS Co., LTD
61 A Leader of Enterprise e-business Solution "Sample_ServletAPI.ozr". Step 4. Sample_ServletAPI.htm. <HTML> <BODY> <OBJECT width = "0" height = "0" ID="ZTransferX" CLASSID="CLSID:C7C7225A AC- B0B0-FF3B79D55E67" codebase=" :8088/ozrviewer/ztransferx.cab#version=2,0,1,2"> <PARAM NAME="download.Server" VALUE=" <PARAM NAME="download.Port" VALUE="8088"> <PARAM NAME="download.Instruction" VALUE="ozrviewer.idf"> <PARAM NAME="install.Base" VALUE="<PROGRAMS>/Forcs"> <PARAM NAME="install.Namespace" VALUE="Sample_ServletAPI"> </OBJECT> <OBJECT id = "ozrviewer" CLASSID="CLSID:0DEF32F8-170F-46f8-B1FF-4BF7443F5F25" width="100%" height="100%"> <param name="connection.servlet" value=" <param name="connection.reportname" value="sample_servletapi.ozr"> <param name="odi.odinames" value="jasmin_sample2"> <param name="odi.jasmin_sample2.frameworkurl" value=" <param name="odi.jasmin_sample2.fetchtype" value="batch"> <param name="viewer.isframe" value="false"> <param name="viewer.namespace" value="sample_servletapiozviewer"> </OBJECT> </BODY> </HTML> : Servlet API odi.odi.framworkurl odi.framworkurl connection.framworkurl URL.. FORCS Co., LTD 61
62 OZ Framework User's Guide. 62 FORCS Co., LTD
63 A Leader of Enterprise e-business Solution 4 : XML SDM Servlet API XML SDM. Servlet API XML SDM ozsdmapi.jar, crimson.jar XML SDM WAS UDS ODI. Step 1 ozsdmapi.jar crimson.jar WAS Servlet API ozsdmapi.jar, crimson.jar WAS. Tomcat 5.0 webapps\root\web-inf\lib ozsdmapi.jar, crimson.jar. Step 2 XML SDM XML SDM. java DebugDMSampleServlet.class. package sample; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; import java.util.*; import oz.framework.api.datamodule; import oz.sdm.datamodulefactory; public class DebugDMSampleServlet extends HttpServlet private static final String _KEY_ODI_FETCH_TYPE = "_OZ_ODIFetchType_"; private static final String _KEY_ODIITEM = "_OZ_ODIITEM_"; private static final String _KEY_OZ_DATASET_ = "_OZ_DATASET_"; private static final String _KEY_OZ_DEBUG_ = "_OZ_DEBUG_"; private static final String ODI_NAME_1 = "JASMIN_SAMPLE2.odi"; private static final String ODI_NAME_2 = "JASMIN_SAMPLE3.odi"; private static final String ODI_NAME_3 = "JASMIN_SAMPLE4.odi"; private Connection m_conn = null; public void init(servletconfig config) throws ServletException super.init(config); System.out.println("init..."); public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException process(request, response); FORCS Co., LTD 63
64 OZ Framework User's Guide public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException process(request, response); public void destroy() super.destroy(); System.out.println("destroy..."); private void process(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException try String _URL = "jdbc:odbc:ozdemokr30"; Properties prop = new Properties(); prop.put("user", ""); prop.put("password", ""); Driver driver = (Driver)Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); m_conn = driver.connect(_url, prop); System.out.println("connection ok..."); catch(exception e) System.out.println("connection error..."); System.out.println(e.getMessage()); DataModule.sendErrorMessage("connection error...", response.getoutputstream()); close(m_conn, null, null); throw new ServletException(e.getMessage()); try System.out.println("start "); Enumeration enum = request.getparameternames(); System.out.println("parameter list "); while (enum.hasmoreelements()) String temp = (String) enum.nextelement(); System.out.println("name=" + temp + " value=" + getencode(request.getparameter(temp))); System.out.println(" "); String odifetchtype = getencode(request.getparameter(_key_odi_fetch_type)); String item = getencode(request.getparameter(_key_odiitem)); String dataset = getencode(request.getparameter(_key_oz_dataset_)); if (odifetchtype == null) odifetchtype = "DM_CONCURRENT_FETCH"; if ((dataset == null) (dataset.length() == 0)) if (item.equals(odi_name_2)) Master_Detail_Style(request, response, odifetchtype); else if (item.equals(odi_name_1) item.equals(odi_name_3)) default_style(request, response, odifetchtype); else System.out.println("unsupported odi error..."); DataModule.sendErrorMessage("unsupported odi error...", response.getoutputstream()); throw new ServletException("Unknown Item :" + item); else if (odifetchtype.equalsignorecase("dm_concurrent_fetch") odifetchtype.equalsignorecase("dm_per_dataset")) 64 FORCS Co., LTD
65 A Leader of Enterprise e-business Solution setdefaultstyle(request, response, odifetchtype); //setresultsetquerystyle(request, response, odifetchtype); else System.out.println("unsupported error..."); DataModule.sendErrorMessage("unsupported error...", response.getoutputstream()); throw new ServletException("unsupported"); catch(exception ex) System.out.println(ex.getMessage()); DataModule.sendErrorMessage(ex.getMessage(), response.getoutputstream()); throw new ServletException(ex.getMessage()); finally close(m_conn, null, null); System.out.println("end "); private void Master_Detail_Style(HttpServletRequest request, HttpServletResponse response, String fetchtype) throws ServletException, IOException Statement stmt1 = null; Statement stmt4 = null; ResultSet rs1 = null; ResultSet rs4 = null; DataModule module = null; String[] _FN1 = "FirstName"; int[] _FT1 = java.sql.types.varchar; String[] _FN4 = "ContactId", "FirstName", "LastName", "Phone", "Fax", " ", "OrgUnitId", "UserName" ; int[] _FT4 = 4, 12, 12, 12, 12, 12, 5, 12 ; try module = DataModuleFactory.getDataModule(fetchType); // debug true. // init setdebug. module.setdebug(parseboolean(request), response); module.init(response.getoutputstream()); module.addsetinfo("set_1", "", _FN1, _FT1); module.addsetinfo("set_4", "SET_1", _FN4, _FT4); catch(exception ex) throw new ServletException(ex.getMessage()); try module.startbinding(); String query1 = "select distinct FirstName from contact"; module.startset("set_1"); stmt1 = m_conn.createstatement(); rs1 = stmt1.executequery(query1); while(rs1.next()) String f1 = rs1.getstring(_fn1[0]); HashMap map1 = new HashMap(); map1.put(_fn1[0], f1); module.addrow("set_1", map1); contactid"; String query4 = "select * from contact where FirstName='" + f1 + "'order by module.startset("set_4"); stmt4 = m_conn.createstatement(); rs4 = stmt4.executequery(query4); FORCS Co., LTD 65
66 OZ Framework User's Guide while(rs4.next()) HashMap map4 = new HashMap(); map4.put(_fn4[0], new Integer(rs4.getInt(_FN4[0]))); map4.put(_fn4[1], rs4.getstring(_fn4[1])); map4.put(_fn4[2], rs4.getstring(_fn4[2])); map4.put(_fn4[3], rs4.getstring(_fn4[3])); map4.put(_fn4[4], rs4.getstring(_fn4[4])); map4.put(_fn4[5], rs4.getstring(_fn4[5])); map4.put(_fn4[6], new Integer(rs4.getInt(_FN4[6]))); map4.put(_fn4[7], rs4.getstring(_fn4[7])); module.addrow("set_4", map4); rs4.close(); stmt4.close(); module.endset("set_4"); module.endset("set_1"); module.endbinding(); catch(exception e) System.out.println(e.getMessage()); if(module!= null) module.sendbinderrormessage(e.tostring()); finally close(null, stmt1, rs1); close(null, stmt4, rs4); private void default_style(httpservletrequest request, HttpServletResponse response, String fetchtype) throws ServletException, IOException System.out.println("select time=="+system.currenttimemillis()); Statement stmt = null; ResultSet rs = null; DataModule module = null; String[] _FN = "CarID", "Maker", "EMaker", "CarName", "ECarName", "CarImageFile"; int[] _FT = java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar; try module = DataModuleFactory.getDataModule(fetchType); // debug true. // init setdebug. module.setdebug(parseboolean(request), response); module.init(response.getoutputstream()); module.addparameter("param1", java.sql.types.varchar, getencode(request.getparameter("param1"))); module.addparameter("param2", java.sql.types.varchar, getencode(request.getparameter("param2"))); module.addsetinfo("set_1", "", _FN, _FT); catch(exception ex) throw new ServletException(ex.getMessage()); try module.startbinding(); String query = "select * from car"; module.startset("set_1"); stmt = m_conn.createstatement(); rs = stmt.executequery(query); 66 FORCS Co., LTD
67 A Leader of Enterprise e-business Solution while(rs.next()) HashMap map = new HashMap(); String a = rs.getstring(_fn[0]); String b = rs.getstring(_fn[1]); String c = rs.getstring(_fn[2]); String d = rs.getstring(_fn[3]); String e = rs.getstring(_fn[4]); String f = rs.getstring(_fn[5]); map.put(_fn[0], a); map.put(_fn[1], b); map.put(_fn[2], c); map.put(_fn[3], d); map.put(_fn[4], e); map.put(_fn[5], f); module.addrow("set_1", map); System.out.print("select FN0="+_FN[0]+" name="+a); System.out.print(" FN1="+_FN[1]+" name="+b); System.out.print(" FN2="+_FN[2]+" name="+c); System.out.print(" FN3="+_FN[3]+" name="+d); System.out.print(" FN4="+_FN[4]+" name="+e); System.out.print(" FN5="+_FN[5]+" name="+f); System.out.println(""); module.endset("set_1"); module.endbinding(); catch(exception e) System.out.println(e.getMessage()); module.sendbinderrormessage(e.tostring()); finally close(null, stmt, rs); private void setdefaultstyle(httpservletrequest request, HttpServletResponse response, String fetchtype) throws ServletException, IOException System.out.println("1setDefaultStyle fetchtype =="+fetchtype); Statement stmt = null; ResultSet rs = null; DataModule module = null; String[] _FN = "CarID", "Maker", "EMaker", "CarName", "ECarName", "CarImageFile"; int[] _FT = java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar; try module = DataModuleFactory.getDataModule(fetchType); // debug true. // init setdebug. module.setdebug(parseboolean(request), response); module.init(response.getoutputstream()); module.addsetinfo("set_1", _FN, _FT); catch(exception ex) throw new ServletException(ex.getMessage()); try module.startbinding(); String query = "select * from car"; module.startset("set_1"); stmt = m_conn.createstatement(); FORCS Co., LTD 67
68 OZ Framework User's Guide rs = stmt.executequery(query); while(rs.next()) HashMap map = new HashMap(); String a = rs.getstring(_fn[0]); String b = rs.getstring(_fn[1]); String c = rs.getstring(_fn[2]); String d = rs.getstring(_fn[3]); String e = rs.getstring(_fn[4]); String f = rs.getstring(_fn[5]); map.put(_fn[0], a); map.put(_fn[1], b); map.put(_fn[2], c); map.put(_fn[3], d); map.put(_fn[4], e); map.put(_fn[5], f); module.addrow("set_1", map); System.out.print("select FN0="+_FN[0]+" name="+a); System.out.print(" FN1="+_FN[1]+" name="+b); System.out.print(" FN2="+_FN[2]+" name="+c); System.out.print(" FN3="+_FN[3]+" name="+d); System.out.print(" FN4="+_FN[4]+" name="+e); System.out.print(" FN5="+_FN[5]+" name="+f); System.out.println(""); module.endset("set_1"); module.endbinding(); catch(exception e) System.out.println(e.getMessage()); module.sendbinderrormessage(e.tostring()); finally close(null, stmt, rs); private void setresultsetquerystyle(httpservletrequest request, HttpServletResponse response, String fetchtype) throws ServletException, IOException System.out.println("setResultSetQueryStyle..."); Statement stmt = null; ResultSet rs = null; DataModule module = null; try module = DataModuleFactory.getDataModule(fetchType); // debug true. // init setdebug. module.setdebug(parseboolean(request), response); String query = "select * from car"; stmt = m_conn.createstatement(); rs = stmt.executequery(query); module.makesdm_set("set_1", rs, response.getoutputstream()); catch(exception e) System.out.println(e.getMessage()); throw new ServletException(e.getMessage()); finally close(null, stmt, rs); private String getencode(string value) try 68 FORCS Co., LTD
69 A Leader of Enterprise e-business Solution return new String(value.getBytes("8859_1"), "KSC5601"); catch(exception ex) return value; private void close(connection con, Statement stmt, ResultSet rs) try if(rs!= null) rs.close(); if(stmt!= null) stmt.close(); if(con!= null) con.close(); catch(sqlexception se) private boolean parseboolean(httpservletrequest request) String tmp = (String)request.getParameter(_KEY_OZ_DEBUG_); if("true".equalsignorecase(tmp)) return true; else return false; Step 3 DebugDMSampleServlet.class WAS. DebugDMSampleServlet.class WAS. Tomcat 5.0 webapps\root\web-inf\classes\sample. DebugDMSampleServlet.class WAS. Tomcat 5.0 webapps\root\web-inf web.xml.... <!-- JSPC servlet mappings start -->... <servlet> <servlet-name>sample.debugdmsampleservlet </servlet-name> <servlet-class>sample.debugdmsampleservlet</servlet-class> </servlet>... <servlet-mapping> FORCS Co., LTD 69
70 OZ Framework User's Guide <servlet-name>sample.debugdmsampleservlet </servlet-name> <url-pattern>/sample.debugdmsampleservlet </url-pattern> </servlet-mapping>... <!-- JSPC servlet mappings end --> Step 4 ODI Servlet API (UDS),. POST "_OZ_ODIITEM_".. (UDS).. 70 FORCS Co., LTD
71 A Leader of Enterprise e-business Solution. [ ]. [].. FORCS Co., LTD 71
72 OZ Framework User's Guide. ( ). URL []. 72 FORCS Co., LTD
73 A Leader of Enterprise e-business Solution "_OZ_ODIITEM_=ODI" [].. ODI "JASMIN_SAMPLE2.odi". Step 5 XML SDM. FORCS Co., LTD 73
74 OZ Framework User's Guide XML SDM URL. &_OZ_DEBUG_=true&_OZ_ODIITEM_=JASMIN_SAMPLE2.odi XML SDM. 74 FORCS Co., LTD
75 A Leader of Enterprise e-business Solution 5 : FXDataModule Servlet API FX Data Accesses "_OZData_" Table,,. XML Servlet API ozsdmapi.jar, crimson.jar WAS. Step 1 ozsdmapi.jar crimson.jar WAS Servlet API ozsdmapi.jar, crimson.jar WAS. Tomcat 5.0 webapps\root\web-inf\lib ozsdmapi.jar, crimson.jar. Step 2 FXDataModule FXDataModule. java Test.class. package sample; import java.io.ioexception; import java.sql.connection; import java.sql.driver; import java.sql.preparedstatement; import java.sql.resultset; import java.sql.statement; import java.util.properties; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import oz.fxapi.core.convertexception; import oz.fxapi.core.dataactionparser; import oz.fxapi.dm.fx_dataaction; import oz.fxapi.dm.fx_datafieldmeta; import oz.fxapi.dm.fx_datamodule; import oz.fxapi.dm.fx_dataset; import oz.fxapi.dm.fx_datasetmeta; import oz.fxapi.dm.fx_datatypes; import oz.fxapi.dm.fx_parameter; import oz.fxapi.dm.fx_record; import oz.fxapi.dm.fx_unmatchingmetaexception; import oz.util.ozsql; import oz.util.ozstring; /** <p>title: Framework test module</p> * <p>description: Tests framework functionality </p> * <p>copyright: Copyright (c) 2006 by FORCS All rights reserved </p> * <p>company: FORCS Co.,LTD.</p> FORCS Co., LTD 75
76 OZ Framework User's Guide kgn */ public class Test extends HttpServlet private static final long serialversionuid = L; public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException process(request, response); public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException process(request, response); private void process(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException String type = request.getparameter("type"); boolean iscompressed = "true".equalsignorecase(request.getparameter("compressed")); if (OZString.isNullOrEmpty(type)) throw new ServletException("Operation type not specified."); try if ("sdm".equalsignorecase(type)) processsdm(request, response, true, iscompressed); else if ("xml".equalsignorecase(type)) processsdm(request, response, false, iscompressed); else if ("dac".equalsignorecase(type)) processdac(request, response); else throw new ServletException("Unknown operation code; " + type); catch (Exception e) e.printstacktrace(); throw new ServletException(e.getMessage()); /** Generate data module which has master-detail relation request response issdm Exception */ private void processsdm(httpservletrequest request, HttpServletResponse response, boolean issdm, boolean iscompressed) throws Exception FX_DataModule dm = new FX_DataModule(); // Access does not support multiple ResultSet Connection con = null; Connection con2 = null; try String url = "jdbc:odbc:ozcar"; Properties prop = new Properties(); 76 FORCS Co., LTD
77 A Leader of Enterprise e-business Solution Driver driver = (Driver) Class.forName( "sun.jdbc.odbc.jdbcodbcdriver").newinstance(); con = driver.connect(url, prop); con2 = driver.connect(url, prop); catch (Exception e) dm.senderrormessage(response.getoutputstream(), issdm, iscompressed, e.getmessage()); OZSQL.close(con); OZSQL.close(con2); throw new ServletException(e.getMessage()); response.setcontenttype(issdm iscompressed? "application/octet-stream" : "text/xml"); FX_DataSetMeta fxmeta = new FX_DataSetMeta("IDs"); fxmeta.adddatafieldmeta(new FX_DataFieldMeta("CarID", FX_DataTypes.FX_DT_VARCHAR)); dm.adddatasetmeta(fxmeta); fxmeta = new FX_DataSetMeta("Informations"); fxmeta.adddatafieldmeta(new FX_DataFieldMeta("Maker", FX_DataTypes.FX_DT_VARCHAR)); fxmeta.adddatafieldmeta(new FX_DataFieldMeta("CarName", FX_DataTypes.FX_DT_VARCHAR)); fxmeta.adddatafieldmeta(new FX_DataFieldMeta("ECarName", FX_DataTypes.FX_DT_VARCHAR)); fxmeta.setmastersetname("ids"); dm.adddatasetmeta(fxmeta); Statement stmt = con.createstatement(); Statement stmt2 = con2.createstatement(); String id; ResultSet master = stmt.executequery("select CarID from car"); try FX_DataSet masterset = new FX_DataSet("IDs"); while (master.next()) FX_Record record = new FX_Record(); id = master.getstring(1); record.addcolumn("carid", id); car where CarID = '" if (!OZString.isNullOrEmpty(id)) ResultSet detail = stmt2.executequery("select Maker, CarName, ECarName from try + id + "'"); FX_DataSet detailset = new FX_DataSet("Informations"); while (detail.next()) FX_Record detailrecord = new FX_Record(); detailrecord.addcolumn("maker", detail.getstring(1)); detailrecord.addcolumn("carname", detail.getstring(2)); detailrecord.addcolumn("ecarname", detail.getstring(3)); detailset.addrecord(detailrecord); FORCS Co., LTD 77
78 OZ Framework User's Guide record.adddetailset(detailset); finally detail.close(); masterset.addrecord(record); dm.adddataset(masterset); catch (Exception e) dm.senderrormessage(response.getoutputstream(), issdm, iscompressed, e.getmessage()); throw e; finally master.close(); stmt.close(); stmt2.close(); OZSQL.close(con); OZSQL.close(con2); try String error = request.getparameter("error"); if(!ozstring.isnullorempty(error)) throw new FX_UnmatchingMetaException(error); dm.write(response.getoutputstream(), issdm, iscompressed); catch(fx_unmatchingmetaexception ue) dm.senderrormessage(response.getoutputstream(), issdm, iscompressed, ue.getmessage()); catch(convertexception ce) dm.senderrormessage(response.getoutputstream(), issdm, iscompressed, ce.getmessage()); catch(ioexception e) // ignore private void processdac(httpservletrequest request, HttpServletResponse response) throws Exception Connection con = null; try String url = "jdbc:odbc:ozcar"; Properties prop = new Properties(); prop.put("user", ""); prop.put("password", ""); Driver driver = (Driver) Class.forName( 78 FORCS Co., LTD
79 A Leader of Enterprise e-business Solution "sun.jdbc.odbc.jdbcodbcdriver").newinstance(); con = driver.connect(url, prop); catch (Exception e) OZSQL.close(con); throw new ServletException(e.getMessage()); FX_DataModule dm = new FX_DataModule(); FX_DataAction[] dacs = dm.getdataaction(request); for (int i = 0; i < dacs.length; i++) FX_DataAction dac = dacs[i]; String type = dac.getactiontype(); if ("insert".equalsignorecase(type)) // do insert insert(dac, con); else if ("delete".equalsignorecase(type)) // do delete delete(dac, con); else if ("rowupdate".equalsignorecase(type)) // to update update(dac, con); else throw new Exception("Illegal data action type; " + type); private String m_insert, m_update, m_delete; private static final String TABLENAME = "car"; private PreparedStatement m_insertstmt, m_deletestmt, m_updatestmt; private void insert(fx_dataaction dac, Connection con) throws Exception FX_Parameter[] srcfields = dac.getsourcefields(); if (OZString.isNullOrEmpty(m_insert)) // prepared. m_insert = "INSERT INTO " + TABLENAME + " ("; for (int i = 0; i < srcfields.length; i++) if (i == srcfields.length - 1) m_insert += srcfields[i].getname(); else m_insert += srcfields[i].getname() + ","; m_insert += ") VALUES ( "; for (int i = 0; i < srcfields.length; i++) if (i == srcfields.length - 1) m_insert += "?"; FORCS Co., LTD 79
80 OZ Framework User's Guide else m_insert += "?,"; m_insert += ")"; m_insertstmt = con.preparestatement(m_insert); for (int i = 0; i < srcfields.length; i++) m_insertstmt.setstring(i + 1, encode(srcfields[i].getvalue())); m_insertstmt.execute(); private void update(fx_dataaction dac, Connection con) throws Exception FX_Parameter[] srcfields = dac.getsourcefields(); FX_Parameter[] destfields = dac.gettargetfields(); if (OZString.isNullOrEmpty(m_update)) // prepared. m_update = "UPDATE " + TABLENAME + " set "; for (int i = 0; i < srcfields.length; i++) if (i == srcfields.length - 1) m_update += srcfields[i].getname() + " =? "; else m_update += srcfields[i].getname() + " =?, "; m_update += " WHERE "; for (int i = 0; i < destfields.length; i++) if (i == destfields.length - 1) m_update += destfields[i].getname() + " =? "; else m_update += destfields[i].getname() + " =? AND "; m_updatestmt = con.preparestatement(m_update); int i = 0; for (i = 0; i < srcfields.length; i++) m_updatestmt.setstring(i + 1, encode(srcfields[i].getvalue())); for (int k = 0; k < destfields.length; k++) m_updatestmt.setstring(i + 1, encode(destfields[k].getvalue())); 80 FORCS Co., LTD
81 A Leader of Enterprise e-business Solution i++; m_updatestmt.execute(); private void delete(fx_dataaction dac, Connection con) throws Exception FX_Parameter[] targetfields = dac.gettargetfields(); if (OZString.isNullOrEmpty(m_delete)) m_delete = "DELETE FROM " + TABLENAME + " WHERE "; for (int i = 0; i < targetfields.length; i++) if (i == targetfields.length - 1) m_delete += targetfields[i].getname() + " =? "; else m_delete += targetfields[i].getname() + " =? AND "; m_deletestmt = con.preparestatement(m_delete); int i = 0; for (i = 0; i < targetfields.length; i++) m_deletestmt.setstring(i + 1, encode(targetfields[i].getvalue())); m_deletestmt.execute(); private String encode(string value) try return new String(value.getBytes("8859_1"), "KSC5601"); catch(exception ex) return value; Step 3 Test.class WAS. Test.class. Tomcat 5.0 webapps\root\web-inf\classes sample. Test.class WAS. Tomcat 5.0 FORCS Co., LTD 81
82 OZ Framework User's Guide webapps\root\web-inf web.xml.... <!-- JSPC servlet mappings start -->... <servlet> <servlet-name>sample.test</servlet-name> <servlet-class>sample.test</servlet-class> </servlet>... <servlet-mapping> <servlet-name>sample.test </servlet-name> <url-pattern>/test </url-pattern> </servlet-mapping>... <!-- JSPC servlet mappings end --> Step 4 FX Data Accesses "_OZData_" [ FX DataSet] []. [ ]. [ Detail FX DataSet] [] 82 FORCS Co., LTD
83 A Leader of Enterprise e-business Solution. [ ]. -. Step 5 OZA Board Panel, Label, TextBox, Button, Table,. Label Lable "Text" "CarID", "Maker", "CarName", "ECarName". FORCS Co., LTD 83
84 OZ Framework User's Guide Button 4 Button "Text" "XML ", "Insert", "Update", "Delete". TextBox (Location), (Size) TextBox. TextBox1 "ODIKey" "_OZData_", "DataSet" "IDs", "Field" "CarID" "TextBox2", "TextBox3", "TextBox4" "ODIKey" "_OZData_", "DataSet" "Informations" "Field" "Maker", "CarName", "ECarName". Table 2 Table1 "ODIKey" "_OZData_", "DataSet" "IDs", "FireRowCursorChange" "True" Table2 "ODIKey" "_OZData_", "DataSet" "Informations". Table1 "CarID", Table2 "Maker", "CarName", "ECarName". Step 5 XML DataAction. [XML ] "OnClick" XML. _GetFXDataModule().RemoveAllDataSet(); var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // XML, xmlhttp.open("post", " false); xmlhttp.send(""); var dm = _GetFXDataModule(); dm.applydata(xmlhttp.responsestream); if(dm.fxerrormessage!= "") _MessageBox(dm.FXErrorMessage); [Insert] "OnClick" "CarID: K04". _GetFXDataModule().RemoveAllDataSet(); 84 FORCS Co., LTD
85 A Leader of Enterprise e-business Solution var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // XML, xmlhttp.open("post", F_0=CarID&0.SFT_0=VARCHAR&0.SV_0=K04&0.SF_1=Maker&0.SFT_1=VARCHAR&0.SV_1= &0.SF_2=CarName&0.SFT_2=VARCHAR&0.SV_2=&0.SF_3=ECarName&0.SFT_3 =VARCHAR&0.SV_3=SEPHIA, false); xmlhttp.send(""); var dm = _GetFXDataModule(); dm.applydata(xmlhttp.responsestream); if(dm.fxerrormessage!= "") _MessageBox(dm.FXErrorMessage); [Update] 'OnClick' "CarID: K04". _GetFXDataModule().RemoveAllDataSet(); var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // XML, xmlhttp.open("post", " &0.SF_0=ECarName&0.SFT_0=VARCHAR&0.SV_0=SEPHIA2&0.TRG_CNT=1&0.DF_0=CarID&0.D FT_0=VARCHAR&0.DV_0=K04", false); xmlhttp.send(""); var dm = _GetFXDataModule(); dm.applydata(xmlhttp.responsestream); if(dm.fxerrormessage!= "") _MessageBox(dm.FXErrorMessage); [Delete] "OnClick" "CarID: K04". _GetFXDataModule().RemoveAllDataSet(); var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // XML, xmlhttp.open("post", F_0=CarID&0.DFT_0=VARCHAR&0.DV_0=K04, false); xmlhttp.send(""); var dm = _GetFXDataModule(); FORCS Co., LTD 85
86 OZ Framework User's Guide dm.applydata(xmlhttp.responsestream); if(dm.fxerrormessage!= "") _MessageBox(dm.FXErrorMessage); Step 6 WAS. [File] [Preview] ( ). 86 FORCS Co., LTD
untitled
OZ Framework Manual OZ Framework... 2 POST... 3 DataModule POST... 3 FXDataModule POST Custom... 5 Servlet API (for OZ Java Server)... 12 DataModuleFactory... 12 DataModule... 13 FXDataModule... 19...
More informationuntitled
OZ User Data Store Manual... 6 UDS... 6 JDBC UDS... 12 Connection UDS... 17 Connection UDS... 23 DataAction... 31 DataAction... 31 - DataAction... 46... 68 HttpRequest... 76 ResultSet... 83 OZ User Data
More informationConnection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET
135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26
More informationuntitled
OZ User Data Store Manual OZ User Data Store Manual,,,,, DataAction,, Http Request.. DLL DLL lib launch.cfg. // lib OZUDSSample_Csharp.dll, OZUDSSample_VBNET.dll lib. // config assembly.properties OZUDSSample_Csharp.dll,
More informationuntitled
A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Getting Started (ver 5.1) 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Getting
More information14-Servlet
JAVA Programming Language Servlet (GenericServlet) HTTP (HttpServlet) 2 (1)? CGI 3 (2) http://jakarta.apache.org JSDK(Java Servlet Development Kit) 4 (3) CGI CGI(Common Gateway Interface) /,,, Client Server
More informationPowerPoint 프레젠테이션
@ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program
More information10.ppt
: SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL
More informationI T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r
I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r Jakarta is a Project of the Apache
More informationuntitled
Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.
More informationuntitled
A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Getting Started 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Getting Started 'OZ
More informationuntitled
A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Designer Getting Started 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Designer
More informationuntitled
A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Designer Getting Started 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Designer
More informationJ2EE Concepts
! Introduction to J2EE (1) - J2EE Servlet/JSP/JDBC iseminar.. 1544-3355 ( ) iseminar Chat. 1 Who Are We? Business Solutions Consultant Oracle Application Server 10g Business Solutions Consultant Oracle10g
More information歯JavaExceptionHandling.PDF
(2001 3 ) from Yongwoo s Park Java Exception Handling Programming from Yongwoo s Park 1 Java Exception Handling Programming from Yongwoo s Park 2 1 4 11 4 4 try/catch 5 try/catch/finally 9 11 12 13 13
More informationJavaGeneralProgramming.PDF
, Java General Programming from Yongwoo s Park 1 , Java General Programming from Yongwoo s Park 2 , Java General Programming from Yongwoo s Park 3 < 1> (Java) ( 95/98/NT,, ) API , Java General Programming
More information신림프로그래머_클린코드.key
CLEAN CODE 6 11st Front Dev. Team 6 1. 2. 3. checked exception 4. 5. 6. 11 : 2 4 : java (50%), javascript (35%), SQL/PL-SQL (15%) : Spring, ibatis, Oracle, jquery ? , (, ) ( ) 클린코드를 무시한다면 . 6 1. ,,,!
More informationFileMaker ODBC and JDBC Guide
FileMaker 13 5 5 5 6 6 6 7 7 8 8 8 8 9 9 10 10 11 11 12 12 12 12 12 12 13 13 14 14 16 16 18 4 19 19 20 20 21 21 21 23 23 23 23 25 26 26 26 26 27 28 28 28 28 29 31 31 32 33 33 33 33 34 34 35 35 35 36 1
More informationModern Javascript
ES6 - Arrow Function Class Template String Destructuring Default, Rest, Spread let, const for..of Promises Module System Map, Set * Generator * Symbol * * https://babeljs.io/ Babel is a JavaScript compiler.
More information12-file.key
11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,
More informationAnalytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras
Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios
More information07 자바의 다양한 클래스.key
[ 07 ] . java.lang Object, Math, String, StringBuffer Byte, Short, Integer, Long, Float, Double, Boolean, Character. java.util Random, StringTokenizer Calendar, GregorianCalendar, Date. Collection, List,
More information04장
20..29 1: PM ` 199 ntech4 C9600 2400DPI 175LPI T CHAPTER 4 20..29 1: PM ` 200 ntech4 C9600 2400DPI 175LPI T CHAPTER 4.1 JSP (Comment) HTML JSP 3 home index jsp HTML JSP 15 16 17 18 19 20
More informationPowerPoint 프레젠테이션
@ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field
More informationFileMaker 15 ODBC 및 JDBC 설명서
FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker, Inc... FileMaker.
More informationFileMaker ODBC and JDBC Guide
FileMaker 14 5 5 5 5 6 6 6 7 7 7 8 8 8 9 9 10 10 11 11 12 12 12 12 12 13 13 14 15 16 17 18 18 19 19 20 20 20 21 21 21 22 22 22 22 23 24 24 24 24 25 27 27 28 29 29 29 29 30 30 31 31 31 32 1 1 1 1 1 1 1
More informationNoSQL
MongoDB Daum Communications NoSQL Using Java Java VM, GC Low Scalability Using C Write speed Auto Sharding High Scalability Using Erlang Read/Update MapReduce R/U MR Cassandra Good Very Good MongoDB Good
More informationIBM blue-and-white template
IBM Software Group 웹기반의 DB2 개발환경구축및 DB2 Information Integrator 를이용한정보통합데모 한국 IBM 소프트웨어사업부 정진영대리 (jyjeong@kr.ibm.com) Agenda Preparation JAVA ENV JAVA CONNECTION PHP ENV PHP CONNECTION Preparation Installation
More information자바-11장N'1-502
C h a p t e r 11 java.net.,,., (TCP/IP) (UDP/IP).,. 1 ISO OSI 7 1977 (ISO, International Standards Organization) (OSI, Open Systems Interconnection). 6 1983 X.200. OSI 7 [ 11-1] 7. 1 (Physical Layer),
More informationFileMaker ODBC 및 JDBC 가이드
FileMaker ODBC JDBC 2004-2019 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker, FileMaker Cloud, FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker,
More informationrmi_박준용_final.PDF
(RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:
More information02 C h a p t e r Java
02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER
More information05-class.key
5 : 2 (method) (public) (private) (interface) 5.1 (Method), (public method) (private method) (constructor), 3 4 5.2 (client). (receiver)., System.out.println("Hello"); (client object) (receiver object)
More informationKYO_SCCD.PDF
1. Servlets. 5 1 Servlet Model. 5 1.1 Http Method : HttpServlet abstract class. 5 1.2 Http Method. 5 1.3 Parameter, Header. 5 1.4 Response 6 1.5 Redirect 6 1.6 Three Web Scopes : Request, Session, Context
More information개발문서 Oracle - Clob
개발문서 ORACLE CLOB 2008.6.9 ( 주 ) 아이캔매니지먼트 개발팀황순규 0. clob개요 1. lob과 long의비교와 clob와 blob 2. 테이블생성쿼리 ( 차이점-추가사항 ) 3. select 쿼리 4. insert 쿼리및 jdbc프로그래밍 5. update 쿼리및 jdbc프로그래밍 (4, 5). putclobdata() 클래스 6. select
More informationPowerPoint 프레젠테이션
@ Lesson 1,..... @ 1 Green Project 1991 Oak Java 1995. 5 December '90 by Patrick Naughton, Mike Sheridan and James Gosling Embedded in various consumer electronic device 1992. 9. 3 Star 7 1993 www portability
More informationInterstage5 SOAP서비스 설정 가이드
Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service
More informationChap12
12 12Java RMI 121 RMI 2 121 RMI 3 - RMI, CORBA 121 RMI RMI RMI (remote object) 4 - ( ) UnicastRemoteObject, 121 RMI 5 class A - class B - ( ) class A a() class Bb() 121 RMI 6 RMI / 121 RMI RMI 1 2 ( 7)
More information교육2 ? 그림
Interstage 5 Apworks EJB Application Internet Revision History Edition Date Author Reviewed by Remarks 1 2002/10/11 2 2003/05/19 3 2003/06/18 EJB 4 2003/09/25 Apworks5.1 [ Stateless Session Bean ] ApworksJava,
More information13주-14주proc.PDF
12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float
More information<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>
i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,
More information09-interface.key
9 Database insert(record r): boolean find(key k): Record 1 Record getkey(): Key * Record Key Database.? Key equals(key y): boolean Database insert(record r): boolean find(key k): Record * Database OK 1
More informationMasoJava4_Dongbin.PDF
JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: Issued by: < > SI, dbin@handysoftcokr
More informationJMF2_심빈구.PDF
JMF JSTORM http://wwwjstormpekr Issued by: < > Document Information Document title: Document file name: Revision number: Issued by: JMF2_ doc Issue Date: Status: < > raica@nownurinet
More information목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공
메신저의새로운혁신 채팅로봇 챗봇 (Chatbot) 입문하기 소 이 메 속 : 시엠아이코리아 름 : 임채문 일 : soulgx@naver.com 1 목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper
More information목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4
ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]
More informationMicrosoft PowerPoint - 04-UDP Programming.ppt
Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여
More informationchapter1,2.doc
JavaServer Pages Version 08-alpha copyright2001 B l u e N o t e all rights reserved http://jspboolpaecom vesion08-alpha, UML (?) part1part2 Part1 part2 part1 JSP Chapter2 ( ) Part 1 chapter 1 JavaServer
More informationChap7.PDF
Chapter 7 The SUN Intranet Data Warehouse: Architecture and Tools All rights reserved 1 Intranet Data Warehouse : Distributed Networking Computing Peer-to-peer Peer-to-peer:,. C/S Microsoft ActiveX DCOM(Distributed
More informationmytalk
한국정보보호학회소프트웨어보안연구회 총괄책임자 취약점분석팀 안준선 ( 항공대 ) 도경구 ( 한양대 ) 도구개발팀도경구 ( 한양대 ) 시큐어코딩팀 오세만 ( 동국대 ) 전체적인 그림 IL Rules Flowgraph Generator Flowgraph Analyzer 흐름그래프 생성기 흐름그래프 분석기 O parser 중간언어 O 파서 RDL
More informationuntitled
API... 5 Class Cache... 7 Class ConnectionPool... 12 Class DataBind... 17 Class Log... 21 Class Module... 25 Class Monitor... 43 Class Repository... 47 Class Service... 92 Class Viewer... 96 API... 105
More informationMicrosoft PowerPoint - web-part03-ch19-node.js기본.pptx
과목명: 웹프로그래밍응용 교재: 모던웹을 위한 JavaScript Jquery 입문, 한빛미디어 Part3. Ajax Ch19. node.js 기본 2014년 1학기 Professor Seung-Hoon Choi 19 node.js 기본 이 책에서는 서버 구현 시 node.js 를 사용함 자바스크립트로 서버를 개발 다른서버구현기술 ASP.NET, ASP.NET
More informationMobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V
Mobile Service > IAP > Android SDK IAP SDK TOAST SDK. IAP SDK. Android Studio IDE 2.3.3 Android SDK Version 2.3.3 (API Level 10). Name Reference Version License okhttp http://square.github.io/okhttp/ 1.5.4
More information쉽게 풀어쓴 C 프로그래밊
Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.
More information03-JAVA Syntax(2).PDF
JAVA Programming Language Syntax of JAVA (literal) (Variable and data types) (Comments) (Arithmetic) (Comparisons) (Operators) 2 HelloWorld application Helloworldjava // class HelloWorld { //attribute
More information서블릿의라이프사이클 뇌를자극하는 JSP & Servlet
서블릿의라이프사이클 뇌를자극하는 JSP & Servlet Contents v 학습목표 서블릿클래스로부터서블릿객체가만들어지고, 서블릿객체가초기화되어서서블릿이되고, 서블릿이사용되고, 최종적으로소멸되기까지의전과정을서블릿의라이프사이클이라고한다. 이장에서는서브릿의라이프사이클에관련된프로그래밍기술을배워보자. v 내용 서블릿의라이프사이클 서블릿클래스의 init 메서드의 destroy
More informationthesis
( Design and Implementation of a Generalized Management Information Repository Service for Network and System Management ) ssp@nile nile.postech.ac..ac.kr DPE Lab. 1997 12 16 GMIRS GMIRS GMIRS prototype
More informationAPI STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum
API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date
More informationuntitled
- -, (insert) (delete) - - (insert) (delete) (top ) - - (insert) (rear) (delete) (front) A A B top A B C top push(a) push(b) push(c) A B top pop() top A B D push(d) top #define MAX_STACK_SIZE 100 int
More informationMicrosoft PowerPoint - GUI _DB연동.ppt [호환 모드]
GUI 설계 6 주차 DB 연동김문정 tops@yd.ac.kr 강의순서강의전환경 JDK 설치및환경설정톰캣설치및환경설정이클립스 (JEE) 설치및환경설정 MySQL( 드라이버 ) 설치및커넥터드라이브연결 DB 생성 - 계정생성이클립스에서 DB에연결서버생성 - 프로젝트생성 DB연결테이블생성및등록 2 MySQL 설치확인 mysql - u root -p MySQL 에데이터베이스추가
More information@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a
1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL
More informationPowerPoint 프레젠테이션
실습문제 Chapter 05 데이터베이스시스템... 오라클로배우는데이터베이스개론과실습 1. 실습문제 1 (5 장심화문제 : 각 3 점 ) 6. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (2) 7. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (5)
More informationETL_project_best_practice1.ppt
ETL ETL Data,., Data Warehouse DataData Warehouse ETL tool/system: ETL, ETL Process Data Warehouse Platform Database, Access Method Data Source Data Operational Data Near Real-Time Data Modeling Refresh/Replication
More information교육자료
THE SYS4U DODUMENT Java Reflection & Introspection 2012.08.21 김진아사원 2012 SYS4U I&C All rights reserved. 목차 I. 개념 1. Reflection 이란? 2. Introspection 이란? 3. Reflection 과 Introspection 의차이점 II. 실제사용예 1. Instance의생성
More informationC# Programming Guide - Types
C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든
More information歯처리.PDF
E06 (Exception) 1 (Report) : { $I- } { I/O } Assign(InFile, InputName); Reset(InFile); { $I+ } { I/O } if IOResult 0 then { }; (Exception) 2 2 (Settling State) Post OnValidate BeforePost Post Settling
More information자바 프로그래밍
5 (kkman@mail.sangji.ac.kr) (Class), (template) (Object) public, final, abstract [modifier] class ClassName { // // (, ) Class Circle { int radius, color ; int x, y ; float getarea() { return 3.14159
More informationuntitled
FORCS Co., LTD 1 2 FORCS Co., LTD . Publishing Wizard Publishing Wizard Publishing Wizard Publishing Wizard FORCS Co., LTD 3 Publishing Wizard Publidhing Wizard HTML, ASP, JSP. Publishing Wizard [] []
More information1
1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2
More informationuntitled
API... 3 Class Cache... 5 Class ConnectionPool... 10 Class DataBind... 15 Class Log... 19 Class Module... 23 Class Monitor... 36 Class Repository... 40 Class Service... 86 Class Viewer... 89 API... 97
More informationuntitled
API... 4 Class Cache... 6 Class ConnectionPool... 11 Class DataBind... 23 Class Log... 27 Class Mail... 31 Class Module... 38 Class Monitor... 50 Class Service... 55 Class Viewer... 59 Class Servlet......
More informationuntitled
PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0
More information혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가
혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가웹페이지내에뒤섞여있어서웹페이지의화면설계가점점어려워진다. - 서블릿이먼저등장하였으나, 자바내에
More informationMicrosoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]
- Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소
More information歯Writing_Enterprise_Applications_2_JunoYoon.PDF
Writing Enterprise Applications with Java 2 Platform, Enterprise Edition - part2 JSTORM http//wwwjstormpekr Revision Document Information Document title Writing Enterprise Applications
More information초보자를 위한 C# 21일 완성
C# 21., 21 C#., 2 ~ 3 21. 2 ~ 3 21.,. 1~ 2 (, ), C#.,,.,., 21..,.,,, 3. A..,,.,.. Q&A.. 24 C#,.NET.,.,.,. Visual C# Visual Studio.NET,..,. CD., www. TeachYour sel f CSharp. com., ( )., C#.. C# 1, 1. WEEK
More informationPowerPoint 프레젠테이션
@ Lesson 4 (Object) (Class) (Instance) (Method) (Constructor) Memory 1 UML 1 @ & 1 (Real World) (Software World) @ &.. () () @ & 2 (Real World) (Software World) OOA/ Modeling Abstraction Instantiation
More informationuntitled
API... 3 Class Cache... 5 Class ConnectionPool... 10 Class DataBind... 15 Class Log... 19 Class Module... 23 Class Monitor... 34 Class Repository... 38 Class Service... 84 Class Viewer... 87 API... 95
More informationilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형
바에 제네릭스(generics)를 도입하기 위한 연구는 이미 8년 전인 1996년부터라고 한다. 실제로 자바에 제네릭스를 도입하 는 몇 가지 방안들이 논문으로 나오기 시작한 것이 1998년 초임을 감 안하면 무려 8년이 지난 후에야 자바 5.0에 전격 채택되었다는 것은 이것이 얼마나 어려운 일이었나 하는 것을 보여준다. 자바의 스펙을 결정하는 표준화 절차인
More informationK&R2 Reference Manual 번역본
typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct
More information비긴쿡-자바 00앞부속
IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter
More information4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona
이름 : 학번 : A. True or False: 각각항목마다 True 인지 False 인지적으세요. 1. (Python:) randint 함수를사용하려면, random 모듈을 import 해야한다. 2. (Python:) '' (single quote) 는한글자를표현할때, (double quote) 는문자열을표현할때사용한다. B. 다음에러를수정하는방법을적으세요.
More informationJMF3_심빈구.PDF
JMF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: Revision number: Issued by: JMF3_ doc Issue Date:
More informationibmdw_rest_v1.0.ppt
REST in Enterprise 박찬욱 1-1- MISSING PIECE OF ENTERPRISE Table of Contents 1. 2. REST 3. REST 4. REST 5. 2-2 - Wise chanwook.tistory.com / cwpark@itwise.co.kr / chanwook.god@gmail.com ARM WOA S&C AP ENI
More information목차 JEUS EJB Session Bean가이드 stateful session bean stateful sample 가이드 sample source 결과확인 http session에
개념정리및샘플예제 EJB stateful sample 문서 2016. 01. 14 목차 JEUS EJB Session Bean가이드... 3 1. stateful session bean... 3 1.1 stateful sample 가이드... 3 1.1.1 sample source... 3 1.1.2 결과확인... 6 1.2 http session에서사용하기...
More informationMicrosoft PowerPoint - 03-TCP Programming.ppt
Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):
More information뇌를 자극하는 JSP & Servlet 슬라이드
서블릿의라이프사이클 JSP & Servlet 2/39 Contents 학습목표 서블릿클래스로부터서블릿객체가만들어지고, 서블릿객체가초기화되어서서블릿이되고, 서블릿이사용되고, 최종적으로소멸되기까지의전과정을서블릿의라이프사이클이라고한다. 이장에서는서브릿의라이프사이클에관련된프로그래밍기술을배워보자. 내용 서블릿의라이프사이클 서블릿클래스의 init 메서드의 destroy
More informationMicrosoft PowerPoint - aj-lecture7.ppt [호환 모드]
Servlet 이해하기 웹 MVC 524730-1 2019 년봄학기 4/29/2019 박경신 Servlet 자바플랫폼에서컴포넌트기반의웹애플리케이션개발기술 JSP는서블릿기술에기반함 Servlet의프리젠테이션문제를해결하기위해 JSP가등장 이로인해웹애플리케이션의유지보수어려움심각. JSP 모델2가주목받으며다시서블릿에대한중요성부각 Servlet 변천 1 서블릿문제점대두
More informationT100MD+
User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+
More information3장
C H A P T E R 03 CHAPTER 03 03-01 03-01-01 Win m1 f1 e4 e5 e6 o8 Mac m1 f1 s1.2 o8 Linux m1 f1 k3 o8 AJAX
More informationOCaml
OCaml 2009.. (khheo@ropas.snu.ac.kr) 1 ML 2 ML OCaml INRIA, France SML Bell lab. & Princeton, USA nml SNU/KAIST, KOREA 3 4 (let) (* ex1.ml *) let a = 10 let add x y = x + y (* ex2.ml *) let sumofsquare
More informationSRC PLUS 제어기 MANUAL
,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO
More informationch09
9 Chapter CHAPTER GOALS B I G J A V A 436 CHAPTER CONTENTS 9.1 436 Syntax 9.1 441 Syntax 9.2 442 Common Error 9.1 442 9.2 443 Syntax 9.3 445 Advanced Topic 9.1 445 9.3 446 9.4 448 Syntax 9.4 454 Advanced
More informationuntitled
FORCS Co., LTD 1 OZ Query Designer User's Guide 2 FORCS Co., LTD FORCS Co., LTD 3 OZ Query Designer User's Guide 4 FORCS Co., LTD FORCS Co., LTD 5 OZ Query Designer User's Guide UI. (ODI)., ODI. 6 FORCS
More informationCluster management software
자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException
More information제목을 입력하세요.
1. 4 1.1. SQLGate for Oracle? 4 1.2. 4 1.3. 5 1.4. 7 2. SQLGate for Oracle 9 2.1. 9 2.2. 10 2.3. 10 2.4. 13 3. SQLGate for Oracle 15 3.1. Connection 15 Connect 15 Multi Connect 17 Disconnect 18 3.2. Query
More information03장
CHAPTER3 ( ) Gallery 67 68 CHAPTER 3 Intent ACTION_PICK URI android provier MediaStore Images Media EXTERNAL_CONTENT_URI URI SD MediaStore Intent choosepictureintent = new Intent(Intent.ACTION_PICK, ë
More informationDocsPin_Korean.pages
Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google
More informationPolly_with_Serverless_HOL_hyouk
{ } "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "polly:synthesizespeech", "dynamodb:query", "dynamodb:scan", "dynamodb:putitem", "dynamodb:updateitem", "sns:publish", "s3:putobject",
More informationDialog Box 실행파일을 Web에 포함시키는 방법
DialogBox Web 1 Dialog Box Web 1 MFC ActiveX ControlWizard workspace 2 insert, ID 3 class 4 CDialogCtrl Class 5 classwizard OnCreate Create 6 ActiveX OCX 7 html 1 MFC ActiveX ControlWizard workspace New
More information