| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/06/2008 08:34:44
|
marthian_2
JavaBaby
![[Avatar]](/images/avatar/ef86e2c126d3fbb45783c5ccd26daed2.jpg)
Membro desde: 24/09/2007 12:44:38
Mensagens: 92
Offline
|
Bom dia pessoal,
tenho q implementar uma agenda de contato bem simples, mas não estou conseguindo.
segue os codigos abaixo:
ajax.js
function getXMLHttpRequest() {
/* Internet Explorer */
if (window.ActiveXObject) {
var versoes = ["Microsoft.XMLHttp", "MSXML2.XMLHttp",
"MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp.4.0",
"MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.6.0"];
for (i=0; i<versoes.length; i++) {
try {
var xmlHttp = new ActiveXObject(versoes[i]);
return xmlHttp;
} catch (ex) {}
}
}
/* Mozilla, Opera, Firefox e outros */
else if (window.XMLHttpRequest) {
return new XMLHttpRequest();
}
else {
return null;
}
}
function buscar() {
var filtro = document.getElementById("filtroContato").value;
var ajax = getXMLHttpRequest();
if (ajax!=null) {
/* ************************************************************* */
/* Tratar o evento no botão buscar */
/* ************************************************************* */
ajax.onreadystatechange = function() {
if (ajax.readyState == 4) {
if (ajax.status == 200) {
alert(ajax.responseXML.getElementsByTagName("resposta")[0].getAttribute("status"));
/* ************************************ */
/* TRATAMENTO DO EVENTO NO BOTÃO BUSCAR */
/* ************************************ */
}
}
}
ajax.open("GET", "BuscaContatoServlet?nome="+escape(filtro), true);
ajax.send(null);
}
else {
alert("Seu navegador não suporta AJaX!");
}
}
function incluir() {
var nomeContato = document.getElementById("filtroContato").value;
var ajax = getXMLHttpRequest();
if (ajax!=null) {
/* ************************************************************* */
/* Tratar o evento no botão incluir */
/* ************************************************************* */
ajax.onreadystatechange = function() {
if (ajax.readyState == 4) {
if (ajax.status == 200) {
alert(ajax.responseXML.getElementsByTagName("resposta")[0].getAttribute("status"));
/* ************************************* */
/* TRATAMENTO DO EVENTO NO BOTÃO INCLUIR */
/* ************************************* */
}
}
}
ajax.open("POST", "AdicionaContatoServlet", true);
ajax.setRequestHeader("content-type","application/x-www-form-urlencoded");
ajax.send("nome="+escape(nomeContato));
}
else {
alert("Seu navegador não suporta AJaX!");
}
}
function atualizar() {
var nomeContato = document.getElementById("nomeContato").value;
var emailContato = document.getElementById("emailContato").value;
var telefoneContato = document.getElementById("telefoneContato").value;
var ajax = getXMLHttpRequest();
if (ajax!=null) {
/* ************************************************************* */
/* Tratar o evento no botão atualizar */
/* ************************************************************* */
ajax.onreadystatechange = function() {
if (ajax.readyState == 4) {
if (ajax.status == 200) {
alert(ajax.responseXML.getElementsByTagName("resposta")[0].getAttribute("status"));
/* *************************************** */
/* TRATAMENTO DO EVENTO NO BOTÃO ATUALIZAR */
/* *************************************** */
}
}
}
ajax.open("POST", "AtualizaContatoServlet", true);
ajax.setRequestHeader("content-type","application/x-www-form-urlencoded");
ajax.send("nome="+escape(nomeContato)+"&email="+escape(emailContato)+"&telefone="+escape(telefoneContato));
}
else {
alert("Seu navegador não suporta AJaX!");
}
}
? Ao clicar no botão inserir, um servlet chamado AdicionaContatoServlet é invocado pelo motor AJaX, passando como parâmetro o nome fornecido no campo ?filtroContato?. No caso de sucesso, o servlet é pra retornar um documento XML conforme a seguir:
<resposta status="Ok">
<contato>
<nome>Fulano</nome>
<email>desconhecido</email>
<telefone>desconhecido</telefone>
</contato>
</resposta>
? Onde ?Fulano? foi o valor informado pelo usuário. No cadastro de novos contatos, por padrão, seu e-mail e telefone são desconhecidos.
? No caso de falha, o servlet é pra retornar o seguinte documento XML:
<resposta status = "Falha"></resposta>
? Tratamento para o Sucesso: Adicionar o nome do contato na lista de contatos do div ?resumoLista?.
? Tratamento para a Falha: Exibir uma mensagem de erro como um alerta para o usuário.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns si="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<listener>
<listener-class>ProjetoFWebSessionListener</listener-class>
</listener>
<servlet>
<servlet-name>AdicionaContatoServlet</servlet-name>
<servlet-class>AdicionaContatoServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>AtualizaContatoServlet</servlet-name>
<servlet-class>AtualizaContatoServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>LeContatoServlet</servlet-name>
<servlet-class>LeContatoServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>BuscaContatoServlet</servlet-name>
<servlet-class>BuscaContatoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AdicionaContatoServlet</servlet-name>
<url-pattern>/AdicionaContatoServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AtualizaContatoServlet</servlet-name>
<url-pattern>/AtualizaContatoServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>LeContatoServlet</servlet-name>
<url-pattern>/LeContatoServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>BuscaContatoServlet</servlet-name>
<url-pattern>/BuscaContatoServlet</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>120</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>
index.html
</welcome-file>
</welcome-file-list>
</web-app>
|
|
|
 |
|
|
|
|
|
|