JAVA Web JSP
JAVA Web JSP
br
1. Faça o download e instale o Apache Tomcat (este cenário foi escrito usando Apache
Tomcat v5.5)
2. Inicie o Eclipse Ganymede workbench.
3. Menu Window -> Preferences -> Server -> Runtimes Environments adicionar o Apache
Tomcat
Página 1 de 34
Digidata – http://www.digirio.com.br
4. Clique em Add... para acrir a tela New Server Runtime, então selecione o servidor Apache
Tomcat (Apache Tomcat v5.5 neste exemplo):
Página 2 de 34
Digidata – http://www.digirio.com.br
6. Selecione a JRE.
7. Clique em Finish... OK
Página 3 de 34
Digidata – http://www.digirio.com.br
Página 4 de 34
Digidata – http://www.digirio.com.br
1. Menu File -> New -> Other... -> Web -> Dynamic Web Project para criar um novo Web
project chamado ProjWebJSP:
Página 5 de 34
Digidata – http://www.digirio.com.br
Página 6 de 34
Digidata – http://www.digirio.com.br
Primeiro JSP
Selecione o ProjWebJSP ... BT DIR ... New ... Other ... [-]Web ... JSP
Next …
Página 7 de 34
Digidata – http://www.digirio.com.br
<html>
<%-- comentário em jsp aqui: nossa primeira página jsp --%>
<head>
<title>Primeiro teste JSP</title>
</head>
<body>
<h1>Alo Mundo JSP</h1>
</body>
</html>
Página 8 de 34
Digidata – http://www.digirio.com.br
Teste da alomundo.jsp
Uma caixa de diálogo será exibida para escolher o servidor. Selecione ... Tomcat ... [Finish]
Página 9 de 34
Digidata – http://www.digirio.com.br
Página 10 de 34
Digidata – http://www.digirio.com.br
Página 11 de 34
Digidata – http://www.digirio.com.br
Selecione o ProjWebJSP ... BT DIR ... New ... Other ... [-]Web ... JSP
<html>
<head>
<title>Jsp Com Parâmetro</title>
</head>
<body>
<% String abacaxi = request.getParameter("nome");
if (abacaxi == null) abacaxi = "My name is Quim: jo-a-Quim !"; %>
<h1>Alô, <%= abacaxi %>!</h1>
</body>
</html>
Selecione a JSP ... BT DIR ... Run on Server ( Talvez o Servidor peça o restart )
Página 12 de 34
Digidata – http://www.digirio.com.br
package br.com.digirio.testebean;
public AloBean() {
this.nome = "Mundo!";
}
}
}
Selecione o ProjWebJSP … BT DIR ... New … Other … [-] Web … JSP … Name : meuJspComBean
<html>
<head>
<title>Meu JSP com Bean</title>
</head>
<body>
<jsp:useBean id="trem" class="br.com.digirio.testebean.AloBean" />
<jsp:setProperty name="trem" property="nome" param="nome" />
Alô,<jsp:getProperty name="trem" property="nome" />!
</body>
</html>
Página 13 de 34
Digidata – http://www.digirio.com.br
Tag Descrição
<jsp:useBean id=”oNomeDoMeuBean” Estabelece uma referência com o Bean e cria uma
class=”pacote.MinhaClasseBean” /> instância se necessário. O nome especificado no
atributo “id” é usado por outras tags para referenciar
o Bean.
<jsp:getProperty name=”oNomeDoMeuBean” Obtêm o valor de um atributo do Bean identificada
property=”atributoDesejado” /> pelo nome.
<jsp:setProperty name=” oNomeDoMeuBean” coloca no atributo desejado o valor informado.
property=” atributoDesejado” value= ”valorInf” />
Página 14 de 34
Digidata – http://www.digirio.com.br
JSP –
1. Selecione o ProjWebJSP ... BT DIR ... New ... Package ... Name : br.com.digirio.jdbc
3. Selecione o ProjWebJSP ... BT DIR ... New ... Package ... Name : br.com.digirio.usuario
5. Selecione o ProjWebJSP ... BT DIR ... New ... Other ... [-] Web ... HTML ... [Next] ... File
name : login
( Código da login.html )
<html>
<head>
<title>Insecure Login new</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<script language=javascript>
function validaLogin() {
if(document.form1.loginUsuario.value == "") {
alert("Favor digitar campo Usuário");
document.form1.loginUsuario.focus();
return false;
}
if(document.form1.senhaUsuario.value == "") {
alert("Favor digitar campo Senha");
document.form1.senhaUsuario.focus();
return false;
}
}
</script>
<body>
<form name="form1" method="post">
<table width="100%">
<tr height="12">
<td align="center" valign="middle"><b>LOGIN</b></td>
</tr>
</table>
<br><br><br>
Página 15 de 34
Digidata – http://www.digirio.com.br
<tr>
<td align="center">
<font face="Verdana" color="#999999"
size="1">Usuário:</FONT>
</td>
<td>
<input type="text" name="loginUsuario"
value="" size="10" maxlength="10">
</td>
</tr>
<tr>
<td align="center">
<font face="Verdana" color="#999999"
size="1">Senha: </FONT>
</td>
<td>
<input type="password" name="senhaUsuario"
value="" size="10" maxlength="10">
</td>
</tr>
</table>
<br><br><br>
<table width="500" border="0" align="center">
<tr>
<td align="center">
<input type="button" value="ENVIAR"
onclick="return validaLogin()"; >
</td>
</tr>
</table>
</form>
</body>
</html>
validaUsuario.jsp
Página 16 de 34
Digidata – http://www.digirio.com.br
Continuando …
document.form1.action="administrador.jsp ";
administrador.jsp
<%
String loginUsuario = request.getParameter("loginUsuario");
String senhaUsuario = request.getParameter("senhaUsuario");
// Validar usu/senha
boolean valida = false;
try {
valida =
daoUsuario.verifyUser(loginUsuario,senhaUsuario);
} catch (Exception e) {
out.println("Erro Valida Usuario
daoValidaUsuario.verifyUser:"+e);
}
%>
<html>
<head>
<title>Administrador</title>
</head>
<body>
<%
// Usuario Valida pode acessar Sistema - Usuario Invalido
recebe Pagina de Erro
if (!valida) {
String mensagem = "** Acesso Inválido! **";
%>
<input type="Hidden" name="mensagem"
value="<%=mensagem%>">
<%
out.println("<script language=\"JavaScript\">");
Página 17 de 34
Digidata – http://www.digirio.com.br
out.println("document.form1.action='mensagem.jsp?retorno=1'"); //
informa codigo de retorno para jsp mensagem
out.println("document.form1.submit()");
out.println("</script>");
} else {
out.println("<script language=\"JavaScript\">");
out.println("document.form1.action='gerPaciente.jsp'");
out.println("document.form1.submit()");
out.println("</script>");
}
%>
</form>
</body>
</html>
mensagem.jsp
<html>
<head>
<title>Mensagem JSP</title>
</head>
<script language=javascript>
function voltar(retorno) {
if(retorno == 1) {
document.form1.action="login.html";
} else if(retorno == 2) {
document.form1.action="gerPaciente.jsp";
}
document.form1.submit();
}
</script>
<body>
Página 18 de 34
Digidata – http://www.digirio.com.br
</td>
</tr>
</table>
</form>
</body>
</html>
gerPaciente.jsp
<html>
<head>
<title>Paciente</title>
</head>
<script language=javascript>
function valida(opcao) {
if(document.form1.nome.value == "") {
document.form1.nome.focus();
return false;
if(document.form1.nome.value != "") {
document.form1.action="scPaciente.jsp";
document.form1.submit();
function voltar() {
document.form1.action="login.html";
document.form1.submit();
</script>
<body>
<table width="100%">
Página 19 de 34
Digidata – http://www.digirio.com.br
<tr height="12">
<td align="center"
valign="middle"><b>Paciente</b></td>
</tr>
</table>
<br><br><br>
<tr>
<td align="center">
</tr>
</table>
</td>
</tr>
</table>
<tr>
<td align="center">
</td>
<td align="center">
</td>
<td align="center">
</td>
Página 20 de 34
Digidata – http://www.digirio.com.br
</tr>
</table>
<!-- campo tipo hidden não aparece no form, mas e passado como
parametro para outro pagina via HTTP -->
</form>
</body>
</html>
scPaciente.jsp
<html>
<head>
<title>Inclui / Altera Paciente</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<script language=javascript>
function valida(opcao) {
if(document.form1.nome.value == "") {
alert("Favor digitar campo Nome!");
document.form1.nome.focus();
return false;
}
if(document.form1.endereco.value == "") {
alert("Favor digitar campo endereco!");
document.form1.endereco.focus();
return false;
}
Página 21 de 34
Digidata – http://www.digirio.com.br
function voltar() {
document.form1.action="gerPaciente.jsp";
document.form1.submit();
}
</script>
<%
// Regras
// opcao 1 Incluir - nao pode existir igual - para incluir bExist
deve ser = false
// opcao 2 Consultar- tem que existir igual - para consultar
bExist deve ser = true
Página 22 de 34
Digidata – http://www.digirio.com.br
<body>
<form name="form1" method="post">
<input type="hidden" name="codPaciente"
value="<%=beanPaciente.getCodPaciente()%>"
<%
// Montagem das Páginas
// Controlar pela String mensagem
// Se mensagem for populada com texto, desviar para mensagem.jsp
// Se mensagem não foi populada com texto, apresentar campos do
BeanPaciente para (Inclusão ou alteração)
// Popular Mensagem
String mensagem = "";
// se for Incluir e Existe no BD
if(opcao.equals("1") && bExist) {
mensagem = "** Cliente já Cadastrado! **";
}
// se for Consultar e Não Existe no BD
if(opcao.equals("2") && !bExist) {
mensagem = "** Cliente Inexistente para Alteração! **";
}
%>
<!-- Criar campo Hidden para a Pagina de Mensagem -->
<input type="Hidden" name="mensagem"
value="<%=mensagem%>">
<%
// IF de Mensagem
if (!mensagem.equals("")) { // mensagem foi populada - desviar para
jsp mensagem
out.println("<script language=\"JavaScript\">");
out.println("document.form1.action='mensagem.jsp?retorno=2'"); //
informa codigo de retorno para jsp mensagem
out.println("document.form1.submit()");
out.println("</script>");
%>
<table width="100%">
<tr height="12">
<td align="center"
valign="middle"><b>Paciente</b></td>
</tr>
</table>
<br><br><br>
<tr>
Página 23 de 34
Digidata – http://www.digirio.com.br
<td align="center">
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Nome :</td>
<td
width="86%" colspan="3" ><input name="nome"
value="<%=beanPaciente.getNomPaciente()%>" type="text" size="45"></td>
</tr>
</table>
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Endereço :</td>
<td
width="52%"><input name="endereco" value="<%=beanPaciente.getEndereco()%>"
type="text" size="35"></td>
<td
width="15%">Complemento :</td>
<td
width="19%"><input name="complemento"
value="<%=beanPaciente.getComplemento()%>" type="text" size="15"></td>
</tr>
</table>
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Bairro :</td>
<td
width="21%"><input name="bairro" value="<%=beanPaciente.getBairro()%>"
type="text" size="20"></td>
<td
width="12%">Cidade :</td>
<td
width="19%"><input name="cidade" value="<%=beanPaciente.getCidade()%>"
type="text" size="15"></td>
<td
width="15%">Cep :</td>
<td
width="19%"><input name="cep" value="<%=beanPaciente.getCep()%>"
type="text" size="10"></td>
</tr>
</table>
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Tel Resid. :</td>
Página 24 de 34
Digidata – http://www.digirio.com.br
<td
width="21%"> <input name="telefoneRes"
value="<%=beanPaciente.getTelefoneRes()%>" type="text" size="10"></td>
<td
width="12%">Tel Comer. :</td>
<td
width="19%"> <input name="telefoneCom"
value="<%=beanPaciente.getTelefoneCom()%>" type="text" size="10"></td>
<td
width="15%">Tel Celular :</td>
<td
width="19%"> <input name="telefoneCel"
value="<%=beanPaciente.getTelefoneCel()%>" type="text" size="10"></td>
</tr>
</table>
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Observação :</td>
<td
width="86%"><input name="obs" value="<%=beanPaciente.getObs()%>"
type="text" size="60"></td>
</tr>
</table>
</td>
</tr>
</table>
<td align="center">
<input type="submit" value="VOLTAR"
onclick="return voltar();">
</td>
</tr>
</table>
<%
// fim do bloco IF de Mensagem
}
Página 25 de 34
Digidata – http://www.digirio.com.br
%>
</form>
</body>
</html>
Página 26 de 34
Digidata – http://www.digirio.com.br
incPaciente.jsp
<html>
<head>
<title>Inclui Paciente</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<script language=javascript>
function voltar() {
document.form1.action="gerPaciente.jsp";
document.form1.submit();
}
</script>
<%
// Recebe variáveis
String nome = request.getParameter("nome");
String endereco = request.getParameter("endereco");
String complemento = request.getParameter("complemento");
// INCLUSÃO
int flag = 0;
Página 27 de 34
Digidata – http://www.digirio.com.br
beanPaciente.setObs(obs);
%>
<body>
<form name="form1" method="post">
<table width="100%">
<tr height="12">
<td align="center"
valign="middle"><b>Paciente</b></td>
</tr>
</table>
<br><br><br>
<tr>
<td align="center">
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Nome :</td>
<td
width="86%" colspan="3" ><input name="nome" value="<%=nome%>" type="text"
size="45"></td>
</tr>
</table>
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Endereço :</td>
<td
width="52%"><input name="endereco" value="<%=endereco%>" type="text"
size="35"></td>
<td
width="15%">Complemento :</td>
<td
width="19%"><input name="complemento" value="<%=complemento%>" type="text"
size="15"></td>
</tr>
</table>
Página 28 de 34
Digidata – http://www.digirio.com.br
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Bairro :</td>
<td
width="21%"><input name="bairro" value="<%=bairro%>" type="text"
size="20"></td>
<td
width="12%">Cidade :</td>
<td
width="19%"><input name="cidade" value="<%=cidade%>" type="text"
size="15"></td>
<td
width="15%">Cep :</td>
<td
width="19%"><input name="cep" value="<%=cep%>" type="text" size="10"></td>
</tr>
</table>
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Tel Resid. :</td>
<td
width="21%"> <input name="telefoneRes" value="<%=telefoneRes%>"
type="text" size="10"></td>
<td
width="12%">Tel Comer. :</td>
<td
width="19%"> <input name="telefoneCom" value="<%=telefoneCom%>"
type="text" size="10"></td>
<td
width="15%">Tel Celular :</td>
<td
width="19%"> <input name="telefoneCel" value="<%=telefoneCel%>"
type="text" size="10"></td>
</tr>
</table>
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Observação :</td>
<td
width="86%"><input name="obs" value="<%=obs%>" type="text" size="60"></td>
</tr>
</table>
</td>
</tr>
</table>
Página 29 de 34
Digidata – http://www.digirio.com.br
</form>
</body>
</html>
Página 30 de 34
Digidata – http://www.digirio.com.br
altPaciente.jsp
<html>
<head>
<title>Altera Paciente</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<script language=javascript>
function voltar() {
document.form1.action="gerPaciente.jsp";
document.form1.submit();
}
</script>
<%
// Recebe variáveis
String codPaciente = request.getParameter("codPaciente");
// ALTERAÇÃO
int flag = 0;
Página 31 de 34
Digidata – http://www.digirio.com.br
beanPaciente.setTelefoneRes(telefoneRes);
beanPaciente.setTelefoneCom(telefoneCom);
beanPaciente.setTelefoneCel(telefoneCel);
beanPaciente.setObs(obs);
%>
<body>
<form name="form1" method="post">
<table width="100%">
<tr height="12">
<td align="center"
valign="middle"><b>Paciente</b></td>
</tr>
</table>
<br><br><br>
<tr>
<td align="center">
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Nome :</td>
<td
width="86%" colspan="3" ><input name="nome" value="<%=nome%>" type="text"
size="45"></td>
</tr>
</table>
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Endereço :</td>
<td
width="52%"><input name="endereco" value="<%=endereco%>" type="text"
size="35"></td>
<td
width="15%">Complemento :</td>
<td
width="19%"><input name="complemento" value="<%=complemento%>" type="text"
size="15"></td>
Página 32 de 34
Digidata – http://www.digirio.com.br
</tr>
</table>
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Bairro :</td>
<td
width="21%"><input name="bairro" value="<%=bairro%>" type="text"
size="20"></td>
<td
width="12%">Cidade :</td>
<td
width="19%"><input name="cidade" value="<%=cidade%>" type="text"
size="15"></td>
<td
width="15%">Cep :</td>
<td
width="19%"><input name="cep" value="<%=cep%>" type="text" size="10"></td>
</tr>
</table>
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Tel Resid. :</td>
<td
width="21%"> <input name="telefoneRes" value="<%=telefoneRes%>"
type="text" size="10"></td>
<td
width="12%">Tel Comer. :</td>
<td
width="19%"> <input name="telefoneCom" value="<%=telefoneCom%>"
type="text" size="10"></td>
<td
width="15%">Tel Celular :</td>
<td
width="19%"> <input name="telefoneCel" value="<%=telefoneCel%>"
type="text" size="10"></td>
</tr>
</table>
<table width="100%"
bgcolor="#EFF1F7" >
<tr
align="rigth" class="cx8Titulo">
<td
width="14%">Observação :</td>
<td
width="86%"><input name="obs" value="<%=obs%>" type="text" size="60"></td>
</tr>
</table>
</td>
</tr>
Página 33 de 34
Digidata – http://www.digirio.com.br
</table>
</form>
</body>
</html>
Página 34 de 34