Posted on 2006-10-24 18:56
zolly 阅读(1839)
评论(0) 编辑 收藏
在同一个页面插入数据到数据库,成功后返回成功插入的结果,相关文件PRPC.htm,SerDojo.java,DataDAO.java。
Dojo开发包:
dojo-0.3.1-ajax.zip.
相关网站:
http://www.blogjava.net/burnet/archive/2006/06/27/55339.htmlhttp://manual.dojotoolkit.org/(官方)
http://manual.dojotoolkit.org/WikiHome/DojoDotBook (Dojo Book)
http://ajaxcn.org/forum/posts/list/127.page (Ajax 中文站,Dojo 文档列表)
代码如下:
PRPC.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>PRPC Test</title>
<script type="text/javascript" src="js/dojo/dojo.js"></script>

<script type="text/javascript">
dojo.require("dojo.io.*");


function mySubmitProfile()
{
dojo.byId('btnAddProfile').disabled = 'disabled';

dojo.io.bind (
{
url: 'SerDojo?flag=profile',
handler: callBack,
formNode: dojo.byId('main')
});
}


function mySubmitCountry()
{
dojo.byId('btnAddCountry').disabled = 'disabled';


dojo.io.bind (
{
url: 'SerDojo?flag=country',
handler: callBack,
formNode: dojo.byId('main')
});
}


function callBack(type, data, evt)
{

if (data == 'profileYES')
{
insertStrProfile();
dojo.byId('stateFlag').innerHTML = data;
dojo.byId('btnAddProfile').disabled = '';

} else if (data == 'countryYES')
{
insertStrCountry();
dojo.byId('stateFlag').innerHTML = data;
dojo.byId('btnAddCountry').disabled = '';
}
}


function insertStrProfile()
{
var frm = dojo.byId('main');
var name = frm.name.value;
var sex;
var radio = document.getElementsByName('sex');

for (var i = 0; i < radio.length; i ++)
{

if(frm.sex[i].checked)
{
sex = radio[i].value;
}
}
var age = frm.age.value;
var address = frm.address.value;
var txtName = document.createTextNode(name);
var txtSex = document.createTextNode(sex);
var txtAge = document.createTextNode(age);
var txtAddress = document.createTextNode(address);
var tdName = document.createElement("td");
var tdSex = document.createElement("td");
var tdAge = document.createElement("td");
var tdAddress = document.createElement("td");
var tr = document.createElement("tr");

tdName.appendChild(txtName);
tdSex.appendChild(txtSex);
tdAge.appendChild(txtAge);
tdAddress.appendChild(txtAddress);
tr.appendChild(tdName);
tr.appendChild(tdSex);
tr.appendChild(tdAge);
tr.appendChild(tdAddress);

var parNode = document.getElementById("tbProfile");
parNode.appendChild(tr);
}


function insertStrCountry()
{
var frm = dojo.byId('main');
var country = frm.country.value;
var company = frm.company.value;
var website = frm.website.value;

var txtCountry = document.createTextNode(country);
var txtCompany = document.createTextNode(company);
var txtWebsite = document.createTextNode(website);

var tdCountry = document.createElement("td");
var tdCompany = document.createElement("td");
var tdWebsite = document.createElement("td");

var tr = document.createElement("tr");

tdCompany.appendChild(txtCompany);
tdCountry.appendChild(txtCountry);
tdWebsite.appendChild(txtWebsite);

tr.appendChild(tdCompany);
tr.appendChild(tdCountry);
tr.appendChild(tdWebsite);

var parNode = document.getElementById("tbCountry");
parNode.appendChild(tr);
}
</script>
</head>

<body>
<form id="main">
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" style="border: 1px dashed #000000;">
<tr>
<td valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td><table width="80%" border="1" align="center" cellpadding="1" cellspacing="1">
<tbody id="tbProfile">
<tr>
<td>Name</td>
<td>Age</td>
<td>Sex</td>
<td>Address</td>
</tr>
</tbody>
</table></td>
</tr>
<tr>
<td><table width="50%" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td width="29%" bgcolor="#EBEBEB">Name:</td>
<td width="71%" bgcolor="#EBEBEB"><input type="text" name="name" /></td>
</tr>
<tr>
<td bgcolor="#EBEBEB">Age:</td>
<td bgcolor="#EBEBEB"><input type="text" name="age" /></td>
</tr>
<tr>
<td bgcolor="#EBEBEB">Sex:</td>
<td bgcolor="#EBEBEB"><input type="radio" name="sex" checked="checked" value="Male" />
Male
<input type="radio" name="sex" value="Female" />
Female</td>
</tr>
<tr>
<td bgcolor="#EBEBEB">Address:</td>
<td bgcolor="#EBEBEB"><input type="text" name="address" /></td>
</tr>
<tr>
<td colspan="2" bgcolor="#EBEBEB"><div align="right">
<input type="button" name="btnAddProfile" value="AddNew" onclick="mySubmitProfile()" />
</div></td>
</tr>
</table></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20"><font color="#FF0000"><div id="stateFlag">State</div></font></td>
</tr>
</table>

<hr width="90%" size="1" noshade="noshade" />
</td>
</tr>
<tr>
<td valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td><table width="80%" border="1" align="center" cellpadding="1" cellspacing="1">
<tbody id="tbCountry">
<tr>
<td>Company</td>
<td>Country</td>
<td>WebSite</td>
</tr>
</tbody>
</table></td>
</tr>
<tr>
<td><table width="50%" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td width="29%" bgcolor="#EBEBEB">Company:</td>
<td width="71%" bgcolor="#EBEBEB"><input type="text" name="company" /></td>
</tr>
<tr>
<td bgcolor="#EBEBEB">Country:</td>
<td bgcolor="#EBEBEB"><input type="text" name="country" /></td>
</tr>
<tr>
<td bgcolor="#EBEBEB">WebSite:</td>
<td bgcolor="#EBEBEB"><input type="text" name="website" /></td>
</tr>

<tr>
<td colspan="2" bgcolor="#EBEBEB"><div align="right">
<input type="button" name="btnAddCountry" value="AddNew" onclick="mySubmitCountry()" />
</div></td>
</tr>
</table></td>
<tr>
<td align="right">
<input type="button" value="NEXT" onclick="javascript:window.open('dojoBind.htm','_self')" />
</td>
</tr>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>

SerDojo.java
package servlet;

import DAO.DataDAO;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;



/** *//**
* Servlet implementation class for Servlet: SerDojo
*
*/
public class SerDojo extends javax.servlet.http.HttpServlet

implements javax.servlet.Servlet
{

/**//* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/

public SerDojo()
{
super();
}


/**//* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException
{
// TODO Auto-generated method stub
PrintWriter out = response.getWriter();
String strFlag = request.getParameter("flag");

String strName = request.getParameter("name");
String strAge = request.getParameter("age");
String strSex = request.getParameter("sex");
String strAddress = request.getParameter("address");

String strCompany = request.getParameter("company");
String strCountry = request.getParameter("country");
String strWebSite = request.getParameter("website");

DataDAO dao = new DataDAO();
boolean isSuccess = false;


if (strFlag.equals("profile"))
{

try
{
isSuccess = dao.insertProfile(strName, strAge, strSex,
strAddress);

} catch (Exception e)
{
e.printStackTrace();
}


if (isSuccess)
{
out.print("profileYES");

} else
{
out.print("profileNO");
}

} else if (strFlag.equals("country"))
{

try
{
isSuccess = dao.insertCompany(strCompany, strCountry, strWebSite);

} catch (Exception e)
{
e.printStackTrace();
}


if (isSuccess)
{
out.print("countryYES");

} else
{
out.print("countryNO");
}
}
}


/**//* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException
{
// TODO Auto-generated method stub
doGet(request, response);
}
}

DataDAO.java
package DAO;

import java.sql.Connection;
import java.sql.Statement;



public class DataDAO
{
public boolean insertCompany(String djCompany, String djCountry,

String djWebSite) throws Exception
{
boolean success = false;
String sql = "insert into Dojo_Table_Company ";
sql += ("values('" + djCompany + "','" + djCountry + "','" + djWebSite +
"')");
//ResultSet rs=null;
Connection con = null;
Statement stat = null;


try
{
con = Login.getConnection();
stat = con.createStatement();
stat.executeUpdate(sql);
success = true;

} catch (Exception e)
{
//e.printStackTrace();
throw e;
}

finally
{
Login.closeStatement(stat);
Login.closeConnection(con);
}

return success;
![]()