Está en la página 1de 14

INSTITUTO TECNOLOGICO

SUPERIOR DE MISANTLA

PROGRAMACION WEB

PRACTICA 1

DOCENTE
LIC. ARACELI VAZQUEZ CASTRO

ALUMNO: CESAR IVAN BELLO BADILLO

LUNES 15 DE MARZO DEL 2016

Lo primero a hacer es ubicar la ventana de Services, en Net.Beans 8.1 y crear


una nueva base de datos. En la opcion Create Database...

Damos nobre a la base datos y contrasea, ademas del usuario.

Nombre de la base de datos: aulavirtual


Nombre del usuario: app
Contrasea : 123

Se crea un nuevo proyecto, que sea una aplicacin Web, dentro de la categoria
Java Web.

Creamos una unidad de persistencia para el proyecto.

Con las siguientes propiedades :

Despues de esto creamos una entidad. Una entidad es analoga a una tabla en la base
de datos, y cada objeto es un registro en la tabla.

Aparecera un recuadro de las entidades disponibles a agregar, despues de eso, las


agregamos con el boton del asistente.

Agregamos la entidad llamada Alumno.

Por ultimo elejimos el paquete del proyecto en donde se encontrara nuestra entidad
para organizar la estructura de nuestro proyecto. Al escribir entities, se crea un nuevo
paquete con ese nombre.

El codigo para la entidad Alumno es el siguiente:


@Entity
public class Alumno implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String email;
private String nombre;
@Column(length = 1)
private String sexo;
@Temporal(javax.persistence.TemporalType.DATE)
private Date fechaNacimiento;

public String getEmail() {


return email; }
public void setEmail(String email) {
this.email = email; }
public String getNombre() {
return nombre; }
public void setNombre(String nombre) {
this.nombre = nombre; }
public String getSexo() {

return sexo; }
public void setSexo(String sexo) {
this.sexo = sexo; }
public Date getFechaNacimiento() {
return fechaNacimiento; }
public void setFechaNacimiento(Date fechaNacimiento) {
this.fechaNacimiento = fechaNacimiento; }
public Long getId() {
return id; }
public void setId(Long id) {
this.id = id; }
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash; }
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Alumno)) {
return false; }
Alumno other = (Alumno) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false; }
return true; }
@Override
public String toString() {
return "com.apuntesdejava.aulavirtual.entities.Alumno[ id=" + id + " ]";
}
}

Se crea un manejador de objetos de la base de datos:

Proximamente se creara un formulario de entrada de datos.

...

<body>
<div class="container">
<h1>Registro de alumno</h1>
<form method="post"
%>/RegistroAlumnoServlet">

action="<%=

request.getContextPath()

<input type="hidden" name="id" value="${alumno.id}"/>


<div class="form-group">
<label for="nombre"> Nombre completo </label>
<input id="nombre" value="${alumno.nombre}" class="form-control"
name="nombre" type="text" placeholder="Escriba su nombre" required="true"/>
</div><div class="form-group">
<label for="email">Correo electrnico</label>
<input id="email" value="${alumno.email}" class="form-control" name="email"
type="email" placeholder="Escriba su correo electrnico" required="true"/>
</div><div class="checkbox">Sexo:<label for="sexoH">
<input type="radio" ${alumno.sexo eq 'H'?'checked':''} value="H" name="sexo"
id="sexoH" />Hombre</label>
<label for="sexoM">
<input type="radio" ${alumno.sexo eq 'M'?'checked':''} value="M" name="sexo"
id="sexoM" />Mujer</label>
</div><div class="form-group">
<label for="fechaNacimiento">Fecha nacimiento</label>
<input id="fechaNacimiento" class="form-control date" name="fechaNacimiento"
type="date" placeholder="Escriba su fecha de nacimiento" required="true"/>
</div><div><input type="submit" value="Registrar" class="btn btn-primary"/>
</div></form>
<script>$("input.date").datepicker({dateFormat:"dd/mm/yy"});
</script></div>
</body>
</html>

Se modifica el archivo index.jsp

Con lo siguiente:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Start Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h1>Aula virtual</h1>
<a href="alumno_form.jsp">Registro de alumno</a>
</body>
</html>

Instalamos el conector para Google Chrome de Net.Beans. Se lanzara la web :

Y con el anterior archivo alumno_form.jps, nos aparece el siguiente formulario en el


explroador web.

Se crea un controlador de vistas Sevlet. Este recibira las peticiones de los formularios.

Este archivo contendr el siguiente codigo:

@WebServlet(name = "CargarAlumnoServlet", urlPatterns = {"/CargarAlumnoServlet"})


public class CargarAlumnoServlet extends HttpServlet {
@EJB
private AlumnoFacade alumnoFacade;

/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
String $id=request.getParameter("id");
long id=Long.parseLong($id);
Alumno alumno = alumnoFacade.find(id);
request.setAttribute("alumno", alumno);
RequestDispatcher rd = request.getRequestDispatcher("/alumno_form.jsp");
rd.forward(request, response);
}

Se crea un controlador de vistas Sevlet.

@WebServlet(name = "RegistroAlumnoServelet", urlPatterns = {"/RegistroAlumnoServelet"})


public class RegistroAlumnoServelet extends HttpServlet {
@EJB
private AlumnoFacade alumnoFacade;
private static final Logger LOG =
Logger.getLogger(RegistroAlumnoServelet.class.getName());
public static final DateFormat DATE_FORMAT_DD_MM_YYYY=new
SimpleDateFormat("dd/MM/yyyy");
protected void processRequest(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException, ParseException {
try {
String $id=request.getParameter("id");
String nombre = request.getParameter("nombre");
String sexo = request.getParameter("sexo");
String email = request.getParameter("email");
String $fechaNacimiento = request.getParameter("fechaNacimiento");
Date fechaNacimiento = DATE_FORMAT_DD_MM_YYYY.parse($fechaNacimiento);
LOG.log(Level.INFO, "Nombre:{0}", nombre);
LOG.log(Level.INFO, "sexo:{0}", sexo);
LOG.log(Level.INFO, "email:{0}", email);
LOG.log(Level.INFO, "fechaNacimiento:{0}", fechaNacimiento);

boolean esNuevo= ($id==null || $id.isEmpty()); //se ingresa por primera vez


Alumno alumno;
if (esNuevo){
alumno = new Alumno();
alumno.setNombre(nombre);
alumno.setSexo(sexo);
alumno.setEmail(email);
alumno.setFechaNacimiento(fechaNacimiento);
alumnoFacade.create(alumno);
}else{
alumno=alumnoFacade.find(Long.valueOf($id));
alumno.setNombre(nombre);
alumno.setSexo(sexo);
alumno.setEmail(email);
alumno.setFechaNacimiento(fechaNacimiento);
alumnoFacade.edit(alumno);
}
LOG.log(Level.INFO, "Alumno creado:{0}", alumno);
RequestDispatcher rd = request.getRequestDispatcher("/alumno_reg_success.jsp");
request.setAttribute("alumno", alumno);
rd.forward(request, response);
} catch (ParseException ex)
Logger.getLogger(RegistroAlumnoServelet.class.getName()).log(Level.SEVERE, null, ex);

}
}

Por ultimo vamos a correr nuestra pgina web de nuevo con los mismos datos que
registramos en los formularios, pero quedaran almacenados en la base de datos
aulavirtual.

También podría gustarte