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 – [Link]
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 – [Link]
6. Selecione a JRE.
7. Clique em Finish... OK
Página 3 de 34
Digidata – [Link]
Página 4 de 34
Digidata – [Link]
1. Menu File -> New -> Other... -> Web -> Dynamic Web Project para criar um novo Web
project chamado ProjWebJSP:
Página 5 de 34
Digidata – [Link]
Página 6 de 34
Digidata – [Link]
Primeiro JSP
Selecione o ProjWebJSP ... BT DIR ... New ... Other ... [-]Web ... JSP
Next …
Página 7 de 34
Digidata – [Link]
<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 – [Link]
Teste da [Link]
Uma caixa de diálogo será exibida para escolher o servidor. Selecione ... Tomcat ... [Finish]
Página 9 de 34
Digidata – [Link]
Página 10 de 34
Digidata – [Link]
Página 11 de 34
Digidata – [Link]
Selecione o ProjWebJSP ... BT DIR ... New ... Other ... [-]Web ... JSP
<html>
<head>
<title>Jsp Com Parâmetro</title>
</head>
<body>
<% String abacaxi = [Link]("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 – [Link]
package [Link];
public AloBean() {
[Link] = "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="[Link]" />
<jsp:setProperty name="trem" property="nome" param="nome" />
Alô,<jsp:getProperty name="trem" property="nome" />!
</body>
</html>
Página 13 de 34
Digidata – [Link]
Tag Descrição
<jsp:useBean id=”oNomeDoMeuBean” Estabelece uma referência com o Bean e cria uma
class=”[Link]” /> 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 – [Link]
JSP –
1. Selecione o ProjWebJSP ... BT DIR ... New ... Package ... Name : [Link]
3. Selecione o ProjWebJSP ... BT DIR ... New ... Package ... Name : [Link]
5. Selecione o ProjWebJSP ... BT DIR ... New ... Other ... [-] Web ... HTML ... [Next] ... File
name : login
( Código da [Link] )
<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([Link] == "") {
alert("Favor digitar campo Usuário");
[Link]();
return false;
}
if([Link] == "") {
alert("Favor digitar campo Senha");
[Link]();
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 – [Link]
<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>
[Link]
Página 16 de 34
Digidata – [Link]
Continuando …
[Link]="[Link] ";
[Link]
<%
String loginUsuario = [Link]("loginUsuario");
String senhaUsuario = [Link]("senhaUsuario");
// Validar usu/senha
boolean valida = false;
try {
valida =
[Link](loginUsuario,senhaUsuario);
} catch (Exception e) {
[Link]("Erro Valida Usuario
[Link]:"+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%>">
<%
[Link]("<script language=\"JavaScript\">");
Página 17 de 34
Digidata – [Link]
[Link]("[Link]='[Link]?retorno=1'"); //
informa codigo de retorno para jsp mensagem
[Link]("[Link]()");
[Link]("</script>");
} else {
[Link]("<script language=\"JavaScript\">");
[Link]("[Link]='[Link]'");
[Link]("[Link]()");
[Link]("</script>");
}
%>
</form>
</body>
</html>
[Link]
<html>
<head>
<title>Mensagem JSP</title>
</head>
<script language=javascript>
function voltar(retorno) {
if(retorno == 1) {
[Link]="[Link]";
} else if(retorno == 2) {
[Link]="[Link]";
}
[Link]();
}
</script>
<body>
Página 18 de 34
Digidata – [Link]
</td>
</tr>
</table>
</form>
</body>
</html>
[Link]
<html>
<head>
<title>Paciente</title>
</head>
<script language=javascript>
function valida(opcao) {
if([Link] == "") {
[Link]();
return false;
if([Link] != "") {
[Link]="[Link]";
[Link]();
function voltar() {
[Link]="[Link]";
[Link]();
</script>
<body>
<table width="100%">
Página 19 de 34
Digidata – [Link]
<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 – [Link]
</tr>
</table>
<!-- campo tipo hidden não aparece no form, mas e passado como
parametro para outro pagina via HTTP -->
</form>
</body>
</html>
[Link]
<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([Link] == "") {
alert("Favor digitar campo Nome!");
[Link]();
return false;
}
if([Link] == "") {
alert("Favor digitar campo endereco!");
[Link]();
return false;
}
Página 21 de 34
Digidata – [Link]
function voltar() {
[Link]="[Link]";
[Link]();
}
</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 – [Link]
<body>
<form name="form1" method="post">
<input type="hidden" name="codPaciente"
value="<%=[Link]()%>"
<%
// Montagem das Páginas
// Controlar pela String mensagem
// Se mensagem for populada com texto, desviar para [Link]
// 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([Link]("1") && bExist) {
mensagem = "** Cliente já Cadastrado! **";
}
// se for Consultar e Não Existe no BD
if([Link]("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 foi populada - desviar para
jsp mensagem
[Link]("<script language=\"JavaScript\">");
[Link]("[Link]='[Link]?retorno=2'"); //
informa codigo de retorno para jsp mensagem
[Link]("[Link]()");
[Link]("</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 – [Link]
<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="<%=[Link]()%>" 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="<%=[Link]()%>"
type="text" size="35"></td>
<td
width="15%">Complemento :</td>
<td
width="19%"><input name="complemento"
value="<%=[Link]()%>" 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="<%=[Link]()%>"
type="text" size="20"></td>
<td
width="12%">Cidade :</td>
<td
width="19%"><input name="cidade" value="<%=[Link]()%>"
type="text" size="15"></td>
<td
width="15%">Cep :</td>
<td
width="19%"><input name="cep" value="<%=[Link]()%>"
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 – [Link]
<td
width="21%"> <input name="telefoneRes"
value="<%=[Link]()%>" type="text" size="10"></td>
<td
width="12%">Tel Comer. :</td>
<td
width="19%"> <input name="telefoneCom"
value="<%=[Link]()%>" type="text" size="10"></td>
<td
width="15%">Tel Celular :</td>
<td
width="19%"> <input name="telefoneCel"
value="<%=[Link]()%>" 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="<%=[Link]()%>"
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 – [Link]
%>
</form>
</body>
</html>
Página 26 de 34
Digidata – [Link]
[Link]
<html>
<head>
<title>Inclui Paciente</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<script language=javascript>
function voltar() {
[Link]="[Link]";
[Link]();
}
</script>
<%
// Recebe variáveis
String nome = [Link]("nome");
String endereco = [Link]("endereco");
String complemento = [Link]("complemento");
// INCLUSÃO
int flag = 0;
Página 27 de 34
Digidata – [Link]
[Link](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 – [Link]
<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 – [Link]
</form>
</body>
</html>
Página 30 de 34
Digidata – [Link]
[Link]
<html>
<head>
<title>Altera Paciente</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<script language=javascript>
function voltar() {
[Link]="[Link]";
[Link]();
}
</script>
<%
// Recebe variáveis
String codPaciente = [Link]("codPaciente");
// ALTERAÇÃO
int flag = 0;
Página 31 de 34
Digidata – [Link]
[Link](telefoneRes);
[Link](telefoneCom);
[Link](telefoneCel);
[Link](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 – [Link]
</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 – [Link]
</table>
</form>
</body>
</html>
Página 34 de 34