Вы находитесь на странице: 1из 8

Ingreso/Login JSP

JSP es un acrnimo de Java Server Pages, que en castellano vendra a decir algo como Pginas
de Servidor Java. Es, pues, una tecnologa orientada a crear pginas web con programacin
en Java.

Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web, de
mltiples plataformas, ya que Java es en esencia un lenguaje multiplataforma. Las pginas
JSP estn compuestas de cdigo HTML/XML mezclado con etiquetas especiales para
programar scripts de servidor en sintaxis Java. Por tanto, las JSP podremos escribirlas con
nuestro editor HTML/XML habitual.

En nuestro primer ejemplo de introduccion a JSP realizaremos un login o ingreso sin utilizar
ningun motor de base de datos, la validacin se realizara mediante un HashMap de
usuario/login y contraseas sern agregados manualmente, la estructura que crearemos es
simple tendremos una pagina de inicio llamada login.jsp la cual se preguntara por un usuario
y contrasea se validara el contenido de los campos antes de pasar al servlet mediante
javascript estos campos estarn formateados mediante estilos css, el servlet que validara el
ingreso se llamara check.java.


Si el usuario es valido check.java redireccionara a una pagina llama welcome.jsp la cual
mostrara los datos de session que fueron almacenados y esta jsp tendra un hipervinculo que
ejecutara un servlet para finalizar la session el cual se llamara logout.java, se tendrn en
cuenta los permisos de usuario, de manera que si no se ha iniciado alguna session este usuario
invitado no tenga acceso a la pagina welcome.jsp.


Estructura de Archivos
Esta es la estructura de archivos que tendr nuestro proyecto para realizar el ingreso o login
de usuarios sin conexin a base de datos.

A continuacin veremos el contenido del archivoweb.xml.
web.xml

check
check

logout
logout


check
/check


logout
/logout


En este archivo se registra la existencia de 2 servlets y una navegacin que se utilizara para
pasar de login.jsp a welcome.jsp, ahora veremos el cdigo contenido en el
archivologin.jsp y check.java lo cuales son los encargados de la vista para el inicio de
usuarios y controlar las validacin de los mismos.

login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-
1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript">
function validar(form){
var form = document.getElementById('formLogin');
var login = form.login;
var pass = form.pass;

if(login.value != '' && pass.value != ''){
form.submit();
return true;
}

alert('Por favor ingrese usuario o contrasea');
return false;
}
</script>

<style type="text/css">
body{
font-family: Verdana;
padding: 25% 50% 25% 50%;
border: thin solid #ccc;
}
.login{

}
table{
border: thin solid #ccc;
}
table tr:first-child{
background-color: blue;
color: white;
text-align: center;
}
</style>
</head>

<body>
<div class="login">
<div id="flash">
<%
if(session.getAttribute("login") != null &&
!session.getAttribute("login").equals("")){
response.sendRedirect("welcome.jsp");
}
%>
</div>
<form id="formLogin" action="check" method="POST">
<table>
<tr>
<td colspan="2">Ingreso</td>
</tr>
<tr>
<td>Login:</td>
<td><input type="text" name="login" /></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="pass" /></td>
</tr>
<tr>
<td><input type="button" value="Ingresar"
onclick="validar();"/></td>
</tr>
</table>
</form>
</div>
</body>
</html>

check.java


import java.io.IOException;
import java.util.HashMap;

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

public class check extends HttpServlet {

public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {

String login = req.getParameter("login");
String pass = req.getParameter("pass");

HashMap users = new HashMap();
users.put("user1", "1234");
users.put("user2", "1234");
users.put("admin", "admin");

if (users.containsKey(login)) {
String tmpPass = users.get(login);

if (pass.equals(tmpPass)) {
HttpSession session = req.getSession(true);
session.setAttribute("login", login);
res.sendRedirect("./welcome.jsp");
} else {
res.sendRedirect("./login.jsp");
}

} else {
res.sendRedirect("./login.jsp");
}

}

}

Finalmente visualizaremos el cdigo fuente de los archivos welcome.jsp y logout.java este
ultimo es el que finalizara la session iniciada por el usuario en curso.


welcome.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-
1"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'welcome.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">

<style type="text/css">

body{
position: absolute;
padding-left: 25%;
padding-right: 25%;
}
#page{
border: thin solid black;
width: 850px;
}
#header {
border: thin solid #ccc;
height: 200px;
width: 100%;
}

#main {
border: thin solid #ccc;
height: 400px;
width: 100%;
}

#left {
border: thin solid #ccc;
height: 400px;
width: 200px;
float: left;
}

#center {
border: thin solid #ccc;
height: 400px;
width: 640px;
float: left;
}

#bottom {
border: thin solid #ccc;
height: 100px;
width: 100%;
}
</style>

</head>

<body>
<div id="page">
<div id="header">
Bienvenido
<%=session.getAttribute("login")%>
<%
if (session.getAttribute("login") != null
&& !session.getAttribute("login").equals("")) {

} else {
response.sendRedirect("login.jsp");
}
%>
<a href="logout">Logout</a>

</div>
<div id="main">
<div id="left">
Pagina Left
</div>
<div id="center">
Pagina center
</div>
</div>
<div id="bottom">
Pie de pagina
</div>
</div>
</body>
</html>

logout.java

import java.io.IOException;

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


public class logout extends HttpServlet{

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse
resp)
throws ServletException, IOException {
// TODO Auto-generated method stub

HttpSession session = req.getSession();
session.invalidate();
resp.sendRedirect("login.jsp");
}
}

Espero que sea de utilidad este ejemplo de ingreso de usuarios para la compresin rpida de
la funcionalidad de la programacin en JSP.
login.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%
// Leemos la variable de sessin 'validado'
Boolean validado = (Boolean) session.getAttribute( "validado" );
// Si la variable de session 'valiadado' ya
// ha sido creada o el valor es 'true'
if( validado!=null && validado.booleanValue())
// Redireccionamos a la pgina bienvenido.jsp
response.sendRedirect( "bienvenido.jsp" );
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-
1">
<title>Login</title>
</head>
<body>
<%
// Leemos la variable de sesin 'usuario'
String usuario = (String) session.getAttribute( "usuario" );
// Si las variable de sesin 'validado'
// y 'usuario' ya habia sido creadadas
if(validado!=null && usuario!=null)
// Mostramos mensaje de advertencia
out.println("<p>Usuario o contrasea incorrectos</p>");
// Si la variable de sesin usuario
// no ha sido creada
if(usuario==null)
// Instanciamos la variable local 'usuario'
usuario = "";
// Borramos la variable de sesin 'usuario'
session.setAttribute( "usuario", null);
%>
<form method="post" action="bienvenido.jsp" name="formLogin">
<input type="text" name="usuario" value="<%=usuario%>"><br>
<input type="password" name="contrasena"><br>
<input type="submit" name="enviar" value="enviar">
</form>
</body>


bienvenido.jsp
<%@ page import="java.sql.*" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%
// Leemos la variable de sesin 'validado'
Boolean validado = (Boolean) session.getAttribute( "validado" );
// Si la variable de sesin 'validado' no ha
// sido creada o contiene un valor 'false'
if( validado==null || !validado.booleanValue() )
{
// Leemos la variable POST 'usuario'
String usuario= request.getParameter( "usuario" );
// Leemos la variable POST 'contrasena'
String contrasena = request.getParameter( "contrasena" );
// Si las variables POST 'usuario' y 'contrasena'
// existen y 'usuario' contiene texto
if(usuario!=null && contrasena!=null && !usuario.equals("") )
{
// Establecemos la variable de sessin 'usuario'
session.setAttribute( "usuario", usuario);
// Cargamos el Driver de MySQL
Class.forName( "com.mysql.jdbc.Driver" );
// Creamos una coneccin a MySQL, Sintaxis:
// jdbc:mysql://[servidor]:[puerto]/[base de datos], usuario,
contrasea
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost/test" , "root", "tu_contrasea" );
// Creamos un Statement
Statement stmt = conn.createStatement();
// Cramos un Resultado de Consulta SQL
ResultSet rs = stmt.executeQuery(
"SELECT usuario FROM usuarios " +
"WHERE usuario='" + usuario + "' " +
"AND contrasena='" + contrasena + "'"
);
// Si el resultado contiene filas
if( rs.next() )
// Establecemos la variable local
// 'validado' a true
validado = new Boolean(true);
// Cerramos el Statment
stmt.close();
// Cerramos la conexin
conn.close();
}
}
// Si la variable de sesin
// 'validado' no ha sido creada
if(validado==null)
// Establecemos la variable local
// 'validado' a true
validado = new Boolean(false);
// Aadimos la variable de sesin 'validado'
// con el contenido de la variable local
session.setAttribute( "validado", validado);
// Si la variable local 'validado' es false
if( !validado.booleanValue() )
// Redireccionamos a la pgina login.jsp
response.sendRedirect( "login.jsp" );
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Bienvenido</title></head>
<body>Bienvenido</body>
</html>


http://www.programandoconcafe.com/2011/03/java-aplicacion-web-carrito-de-compras.html

Вам также может понравиться