Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcecigg <caggsld@gmail.com>2013-05-11 16:46:27 (GMT)
committer cecigg <caggsld@gmail.com>2013-05-11 16:46:27 (GMT)
commit41a1739b4ef8e5a24ae94a0214508898097529f6 (patch)
treeb56b42d264a42ce2a352487b509eef48fa4d8d34
parent9a003944e92c00b2e8b0d6798238ac2a24b61e7b (diff)
Merge remote-tracking branch 'remotes/origin/samu' into HEAD
Conflicts: EjercitarWeb/src/src/NuevoTemaServlet.java
-rw-r--r--EjercitarJPA/src/model/Ejercicio.java5
-rw-r--r--EjercitarJPA/src/model/Profesor.java26
-rw-r--r--EjercitarServer/ejbModule/beans/AdministracionBean.java17
-rw-r--r--EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java3
-rw-r--r--EjercitarWeb/WebContent/Concepto.jsp5
-rw-r--r--EjercitarWeb/WebContent/Ejercicios.jsp31
-rw-r--r--EjercitarWeb/WebContent/WEB-INF/web.xml97
-rw-r--r--EjercitarWeb/WebContent/img/logo.pngbin0 -> 107450 bytes
-rw-r--r--EjercitarWeb/WebContent/img/pencil.pngbin0 -> 793 bytes
-rw-r--r--EjercitarWeb/WebContent/login.jsp54
-rw-r--r--EjercitarWeb/WebContent/menu_principal.jsp119
-rw-r--r--EjercitarWeb/WebContent/mm_entertainment.css131
-rw-r--r--EjercitarWeb/WebContent/profesor.jsp75
-rw-r--r--EjercitarWeb/WebContent/vista_asignatura.jsp63
-rw-r--r--EjercitarWeb/src/control/LogInFilter.java47
-rw-r--r--EjercitarWeb/src/src/LogInServlet.java77
-rw-r--r--EjercitarWeb/src/src/MenuPrincipalServlet.java40
-rw-r--r--EjercitarWeb/src/src/NuevoConceptoServlet.java2
-rw-r--r--EjercitarWeb/src/src/NuevoEjercicioServlet.java37
-rw-r--r--EjercitarWeb/src/src/NuevoProfesorServlet.java80
-rw-r--r--EjercitarWeb/src/src/NuevoTemaServlet.java5
-rw-r--r--EjercitarWeb/src/src/VistaAsignaturaServlet.java71
22 files changed, 972 insertions, 13 deletions
diff --git a/EjercitarJPA/src/model/Ejercicio.java b/EjercitarJPA/src/model/Ejercicio.java
index 89318c2..6678757 100644
--- a/EjercitarJPA/src/model/Ejercicio.java
+++ b/EjercitarJPA/src/model/Ejercicio.java
@@ -7,6 +7,7 @@ package model;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
+import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
@@ -56,10 +57,10 @@ public class Ejercicio implements Serializable {
@JoinTable(name = "respuesta_ejercicio", joinColumns = {
@JoinColumn(name = "id_ejercicio", referencedColumnName = "id_ejercicio")}, inverseJoinColumns = {
@JoinColumn(name = "id_respuesta", referencedColumnName = "id_respuesta")})
- @ManyToMany
+ @ManyToMany(cascade = CascadeType.ALL)
private List<Respuesta> respuestaList;
@JoinColumn(name = "respuesta", referencedColumnName = "id_respuesta")
- @ManyToOne
+ @ManyToOne(cascade = CascadeType.ALL)
private Respuesta respuesta;
@JoinColumn(name = "profesor", referencedColumnName = "id_profesor")
@ManyToOne
diff --git a/EjercitarJPA/src/model/Profesor.java b/EjercitarJPA/src/model/Profesor.java
index f3bb909..7f64151 100644
--- a/EjercitarJPA/src/model/Profesor.java
+++ b/EjercitarJPA/src/model/Profesor.java
@@ -38,9 +38,26 @@ import javax.xml.bind.annotation.XmlTransient;
@NamedQuery(name = "Profesor.findByNombre", query = "SELECT p FROM Profesor p WHERE p.nombre = :nombre"),
@NamedQuery(name = "Profesor.findByApellido", query = "SELECT p FROM Profesor p WHERE p.apellido = :apellido"),
@NamedQuery(name = "Profesor.findByCedula", query = "SELECT p FROM Profesor p WHERE p.cedula = :cedula"),
- @NamedQuery(name = "Profesor.findByFechaNac", query = "SELECT p FROM Profesor p WHERE p.fechaNac = :fechaNac")})
+ @NamedQuery(name = "Profesor.findByFechaNac", query = "SELECT p FROM Profesor p WHERE p.fechaNac = :fechaNac"),
+ @NamedQuery(name = "Profesor.findByUsuario", query = "SELECT p FROM Profesor p WHERE p.usuario = :usuario")})
public class Profesor implements Serializable {
- private static final long serialVersionUID = 1L;
+ public String getUsuario() {
+ return usuario;
+ }
+
+ public void setUsuario(String usuario) {
+ this.usuario = usuario;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@@ -77,7 +94,10 @@ public class Profesor implements Serializable {
private List<Asignatura> asignaturaList;
@OneToMany(mappedBy = "profesor")
private List<Tema> temaList;
-
+ @Column(name = "usuario")
+ private String usuario;
+ @Column(name = "password")
+ private String password;
public Profesor() {
}
diff --git a/EjercitarServer/ejbModule/beans/AdministracionBean.java b/EjercitarServer/ejbModule/beans/AdministracionBean.java
index 8eb1d12..1729329 100644
--- a/EjercitarServer/ejbModule/beans/AdministracionBean.java
+++ b/EjercitarServer/ejbModule/beans/AdministracionBean.java
@@ -76,6 +76,9 @@ public class AdministracionBean implements AdministracionBeanRemote, Administrac
}
+ public void agregarProfesor(Profesor profesor) {
+ em.persist(profesor);
+ }
public void calcularProbabilidades(Profesor profesor) {
// Calculo de las probabilidades condicionales de las relaciones de agregacion
@@ -287,4 +290,18 @@ public class AdministracionBean implements AdministracionBeanRemote, Administrac
net.setNodeDefinition(titulo, conceptoDef);
net.writeFile("redes/" + nombreRed);
}
+
+ @Override
+ public Profesor logIn(String usuario, String password) {
+ // TODO Auto-generated method stub
+ Profesor profesor = (Profesor) em.createNamedQuery("Profesor.findByUsuario")
+ .setParameter("usuario", usuario).getSingleResult();
+
+ if(password.trim().equals(profesor.getUsuario().trim())){
+ System.out.println(profesor.getAsignaturaList().toString());//No Borrar, sirve para la inicializacion
+ return profesor;
+ }
+
+ return null;
+ }
}
diff --git a/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java b/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java
index 9107600..e656377 100644
--- a/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java
+++ b/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java
@@ -6,6 +6,7 @@ import javax.ejb.Remote;
import model.Concepto;
import model.Ejercicio;
+import model.Profesor;
import model.Tema;
@Remote
@@ -15,5 +16,7 @@ public interface AdministracionBeanRemote {
public void agregarEjercicio(Ejercicio ejercicio);
public void agregarConcepto(Concepto concepto);
public void agregarTema(Tema tema);
+ public void agregarProfesor(Profesor profesor);
+ public Profesor logIn(String usuario, String password);
}
diff --git a/EjercitarWeb/WebContent/Concepto.jsp b/EjercitarWeb/WebContent/Concepto.jsp
index 7c66176..0c6d1ab 100644
--- a/EjercitarWeb/WebContent/Concepto.jsp
+++ b/EjercitarWeb/WebContent/Concepto.jsp
@@ -7,11 +7,12 @@
<title>Insert title here</title>
</head>
<body>
- <%@page import="java.util.List" import="model.Tema" %>
+ <%@page import="java.util.List" import="model.Tema" import = "model.Profesor" %>
<form style="width: 1071px; height: 521px;" method="post" name="ejercicio_form">
<br>
- Profesor: <input name="profesor" id="profesor">
+ <% Profesor profesor = (Profesor) request.getSession().getAttribute("profesor");%>
+ <input name="profesor" type=hidden id="profesor" value=<%=profesor.getIdProfesor() %>>
<br>
Nombre: <input name="nombre" id= "nombre">
<br>
diff --git a/EjercitarWeb/WebContent/Ejercicios.jsp b/EjercitarWeb/WebContent/Ejercicios.jsp
index d8b5ae3..02bd5bd 100644
--- a/EjercitarWeb/WebContent/Ejercicios.jsp
+++ b/EjercitarWeb/WebContent/Ejercicios.jsp
@@ -7,15 +7,15 @@
</head>
<body>
- <%@page import="java.util.List" import="model.Tema" %>
+ <%@page import="java.util.List" import="model.Tema" import="model.Profesor"%>
<form style="width: 1071px; height: 521px;" method="post" name="ejercicio_form">
- <br>
- Profesor: <input name="profesor" id="profesor">
+ <% Profesor profesor = (Profesor) request.getSession().getAttribute("profesor");%>
+ <input name="profesor" type=hidden id="profesor" value=<%=profesor.getIdProfesor() %>>
<br>
Enunciado:
<br>
@@ -32,7 +32,30 @@
</select>
<br>
-
+ <div>
+ <div align="left" style="border: black;" title="Respuestas">
+ Respuesta 1:
+ <input name="respuesta1" id="respuesta1">
+ <br>
+ Respuesta 2:
+ <input name="respuesta2" id="respuesta2">
+ <br>
+ Respuesta 3:
+ <input name="respuesta3" id="respuesta3">
+ <br>
+ Respuesta 4:
+ <input name="respuesta4" id="respuesta4">
+ <br>
+ </div>
+ <div style="border: activeborder;">
+ <select name="respuesta_correcta">
+ <option id="1" name="1" value="1"> Respuesta 1</option>
+ <option id="2" name="2" value="2"> Respuesta 2</option>
+ <option id="3" name="3" value="3"> Respuesta 3</option>
+ <option id="4" name="4" value="4"> Respuesta 4</option>
+ </select>>
+ </div>
+ </div>
<input type="submit" name="Aceptar" value="Aceptar" >
</form>
diff --git a/EjercitarWeb/WebContent/WEB-INF/web.xml b/EjercitarWeb/WebContent/WEB-INF/web.xml
new file mode 100644
index 0000000..1453125
--- /dev/null
+++ b/EjercitarWeb/WebContent/WEB-INF/web.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
+ <display-name>EjercitarWeb</display-name>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
+ <welcome-file>default.html</welcome-file>
+ <welcome-file>default.htm</welcome-file>
+ <welcome-file>default.jsp</welcome-file>
+ </welcome-file-list>
+ <servlet>
+ <servlet-name>NuevoEjercicioServlet</servlet-name>
+ <servlet-class>src.NuevoEjercicioServlet</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>NuevoTemaServlet</servlet-name>
+ <servlet-class>src.NuevoTemaServlet</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>CargarConceptosServlet</servlet-name>
+ <servlet-class>src.CargarConceptosServlet</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>LogInServlet</servlet-name>
+ <servlet-class>src.LogInServlet</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>NuevoConceptoServlet</servlet-name>
+ <servlet-class>src.NuevoConceptoServlet</servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>NuevoEjercicioServlet</servlet-name>
+ <url-pattern>/NuevoEjercicioServlet</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>NuevoTemaServlet</servlet-name>
+ <url-pattern>/NuevoTemaServlet</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>CargarConceptosServlet</servlet-name>
+ <url-pattern>/CargarConceptosServlet</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>LogInServlet</servlet-name>
+ <url-pattern>/LogInServlet</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>NuevoConceptoServlet</servlet-name>
+ <url-pattern>/NuevoConceptoServlet</url-pattern>
+ </servlet-mapping>
+ <ejb-local-ref>
+ <ejb-ref-name>src.NuevoEjercicioServlet/abr</ejb-ref-name>
+ <local-home>beans.AdministracionBeanRemote</local-home>
+ <local>beans.AdministracionBeanRemote</local>
+ <injection-target>
+ <injection-target-class>src.NuevoEjercicioServlet</injection-target-class>
+ <injection-target-name>abr</injection-target-name>
+ </injection-target>
+ </ejb-local-ref>
+ <ejb-local-ref>
+ <ejb-ref-name>src.NuevoTemaServlet/abr</ejb-ref-name>
+ <local-home>beans.AdministracionBeanRemote</local-home>
+ <local>beans.AdministracionBeanRemote</local>
+ <injection-target>
+ <injection-target-class>src.NuevoTemaServlet</injection-target-class>
+ <injection-target-name>abr</injection-target-name>
+ </injection-target>
+ </ejb-local-ref>
+ <ejb-local-ref>
+ <ejb-ref-name>src.CargarConceptosServlet/abr</ejb-ref-name>
+ <local-home>beans.AdministracionBeanRemote</local-home>
+ <local>beans.AdministracionBeanRemote</local>
+ <injection-target>
+ <injection-target-class>src.CargarConceptosServlet</injection-target-class>
+ <injection-target-name>abr</injection-target-name>
+ </injection-target>
+ </ejb-local-ref>
+ <ejb-local-ref>
+ <ejb-ref-name>src.LogInServlet/abr</ejb-ref-name>
+ <local-home>beans.AdministracionBeanRemote</local-home>
+ <local>beans.AdministracionBeanRemote</local>
+ <injection-target>
+ <injection-target-class>src.LogInServlet</injection-target-class>
+ <injection-target-name>abr</injection-target-name>
+ </injection-target>
+ </ejb-local-ref>
+ <ejb-local-ref>
+ <ejb-ref-name>src.NuevoConceptoServlet/abr</ejb-ref-name>
+ <local-home>beans.AdministracionBeanRemote</local-home>
+ <local>beans.AdministracionBeanRemote</local>
+ <injection-target>
+ <injection-target-class>src.NuevoConceptoServlet</injection-target-class>
+ <injection-target-name>abr</injection-target-name>
+ </injection-target>
+ </ejb-local-ref>
+</web-app> \ No newline at end of file
diff --git a/EjercitarWeb/WebContent/img/logo.png b/EjercitarWeb/WebContent/img/logo.png
new file mode 100644
index 0000000..4f47999
--- /dev/null
+++ b/EjercitarWeb/WebContent/img/logo.png
Binary files differ
diff --git a/EjercitarWeb/WebContent/img/pencil.png b/EjercitarWeb/WebContent/img/pencil.png
new file mode 100644
index 0000000..53605a5
--- /dev/null
+++ b/EjercitarWeb/WebContent/img/pencil.png
Binary files differ
diff --git a/EjercitarWeb/WebContent/login.jsp b/EjercitarWeb/WebContent/login.jsp
new file mode 100644
index 0000000..2d15b4d
--- /dev/null
+++ b/EjercitarWeb/WebContent/login.jsp
@@ -0,0 +1,54 @@
+<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+<title>Login</title>
+</head>
+<style type="text/css">
+<!--
+
+body,td,th {
+ color: #F0F0F0;
+}
+a:link {
+ color: #00CCFF;
+}
+.Estilo2 {
+ font-family: Georgia, "Times New Roman", Times, serif;
+ color: #CC3333;
+ font-weight: bold;
+ font-size: 12px;
+}
+.Estilo3 {color: #CC3333}
+-->
+</style>
+<body>
+
+<form id="form1" name="form1" method="post" action="">
+ <p>&nbsp;</p>
+ <p>&nbsp;</p>
+ <p>&nbsp;</p>
+ <table width="100" border="0" align="center">
+ <tr>
+ <th bgcolor="#FFFFFF" class="Estilo2 Estilo5" scope="col">Usuario:</th>
+ <th scope="col"><label>
+ <input type="text" name="usuario" />
+ </label></th>
+ </tr>
+ <tr>
+ <th scope="row"><span class="Estilo3">Contrase&ntilde;a</span></th>
+ <th scope="row"><label>
+ <input type="text" name="password" />
+ </label></th>
+ </tr>
+ <tr>
+ <th scope="row">&nbsp;</th>
+ <th scope="row" row="2"><p>
+ <input type="submit" name="Submit" value="Aceptar" />
+ </p>
+ <a href="/EjercitarWeb/NuevoProfesorServlet">Crear cuenta </a></th>
+ </tr>
+ </table>
+</body>
+</html>
diff --git a/EjercitarWeb/WebContent/menu_principal.jsp b/EjercitarWeb/WebContent/menu_principal.jsp
new file mode 100644
index 0000000..42cd871
--- /dev/null
+++ b/EjercitarWeb/WebContent/menu_principal.jsp
@@ -0,0 +1,119 @@
+<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+<title>Ejercitar</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+<link rel="stylesheet" href="mm_entertainment.css" type="text/css" />
+<style type="text/css">
+<!--
+body {
+ background-color: #CC3333;
+}
+body,td,th {
+ color: #F0F0F0;
+}
+a:link {
+ color: #00CCFF;
+}
+.Estilo2 {
+ font-family: Georgia, "Times New Roman", Times, serif;
+ color: #33CCFF;
+ font-weight: bold;
+ font-size: 12px;
+}
+.Estilo4 {color: #FFFFFF}
+.Estilo5 {
+ color: #003366;
+ font-weight: bold;
+ font-size: 12px;
+}
+-->
+</style>
+</head>
+
+<body>
+<%@page import="model.Profesor" import="model.Asignatura" import="java.util.List"%>
+<table width="1043" border="0" cellspacing="0" cellpadding="0">
+ <!--DWLayoutTable-->
+ <tr bgcolor="#FFFFFF">
+ <td width="155" rowspan="2" nowrap="nowrap"><img src="img/logo.png" width="138" height="111" /></td>
+ <td height="58" colspan="2" valign="bottom" nowrap="nowrap" bgcolor="#FFFFFF" id="logo">EJERCITAR!!! </td>
+ <td width="10">&nbsp;</td>
+ <td width="12">&nbsp;</td>
+ </tr>
+ <tr bgcolor="#FFFFFF">
+ <td height="57" colspan="2" valign="top" nowrap="nowrap" bgcolor="#FFFFFF" id="tagline">Una forma divertida de hacer tareas :D </td>
+ <td>&nbsp;</td>
+ <td>&nbsp;</td>
+ </tr>
+
+ <tr >
+ <td height="19" >&nbsp; </td>
+ <td width="11">&nbsp;</td>
+ <td width="861">&nbsp;</td>
+ <td>&nbsp;</td>
+ <td>&nbsp;</td>
+ </tr>
+
+ <tr>
+ <td rowspan="4" valign="top">
+ <table border="0" cellspacing="0" cellpadding="0" width="155" id="navigation">
+ <tr>
+ <td width="155" height="40"><div align="center"><span class="Estilo2"><a href="Quienes somos.html" class="Estilo2">MIS DATOS </a></span></div></td>
+ </tr>
+ <tr>
+ <td width="155" height="40"><div align="center"><a href="Recomendados.html">ALUMNOS</a></div></td>
+ </tr>
+ <tr>
+ <td width="155" height="40"><div align="center"><a href="Contactos.html">ESCUELA</a></div></td>
+ </tr>
+ </table>
+ </td>
+ <td height="120" valign="top" bgcolor="#445DA0"><!--DWLayoutEmptyCell-->&nbsp;</td>
+ <td rowspan="4" valign="top">
+ <table width="798" height="251" border="0" cellpadding="0" cellspacing="0" id="navigation">
+
+ <tr>
+ <td>
+ <form id="form1" name="form1" method="post" action="">
+ <% Profesor profesor = (Profesor)request.getSession().getAttribute("profesor"); %>
+ <p class="pageName Estilo12">Bienvenido Profesor <%= profesor.getNombre() %></p>
+ <p class="pageName Estilo10">Cursos habilitados: </p>
+ <p>&nbsp; </p>
+
+
+ <table width="507" border="0" align="center">
+ <tr>
+ <td width="152">
+
+ <button type="submit"><img src="img/pencil.png" alt="x" width="16" height="16" /> Nueva Asignatura</button>
+ </tr>
+ <tr bordercolor="#000000">
+ <th bgcolor="#666666"><span class="Estilo16">Asignatura</span></span></th>
+ <th width="152" bgcolor="#666666"><span class="Estilo16">Curso</span>
+ </div>
+ </span></th>
+ <th width="97" bgcolor="#666666"><span class="Estilo16">Escuela</span></span></th>
+ <th width="48" bgcolor="#666666"><span class="Estilo16">Acci&oacute;n</span></span></th>
+ </tr>
+ <% List<Asignatura> asignaturaList = (List<Asignatura>) profesor.getAsignaturaList();%>
+ <% for(Asignatura asignatura : asignaturaList) {%>
+ <tr bordercolor="#000000">
+ <td bgcolor="#CCCCCC"><span class="Estilo17"><a href="/EjercitarWeb/VistaAsignaturaServlet?asignatura=<%= asignatura.getIdAsignatura() %>"><%= asignatura.getNombre() %></a>></span></td>
+ <td bgcolor="#CCCCCC"><span class="Estilo17"><%= asignatura.getNombre() %></span></td>
+ <td bgcolor="#CCCCCC" ><span class="Estilo17"><%= asignatura.getDescripcion() %></span></td>
+ <td bgcolor="#CCCCCC"><span class="Estilo17"> Ver </span></td>
+ </tr>
+ <% } %>
+ </table>
+ </form>
+ <p>&nbsp;</p>
+ </td>
+ </tr>
+ </table>
+ </td>
+</table>
+</body>
+</html>
diff --git a/EjercitarWeb/WebContent/mm_entertainment.css b/EjercitarWeb/WebContent/mm_entertainment.css
new file mode 100644
index 0000000..f440743
--- /dev/null
+++ b/EjercitarWeb/WebContent/mm_entertainment.css
@@ -0,0 +1,131 @@
+/* Global Styles */
+
+body {
+ margin:0px;
+ }
+
+td {
+ font:11px arial;
+ color:#99CCFF;
+ }
+
+hr {
+ height:1px;
+ color: #cccccc;
+ border: none;
+ }
+
+a {
+ color: #CC3300;
+ text-decoration:underline;
+ }
+
+a:hover {
+ color: #FF3300;
+ text-decoration:none;
+ }
+
+/* ID Styles */
+
+#navigation a {
+ font:11px georgia;
+ color: #99CCFF;
+ font-weight:bold;
+ text-decoration: none;
+ letter-spacing:.1em;
+ line-height:16px;
+ display:block;
+ padding:10px;
+ border: 1pt solid rgb(20,40,95);
+ border-right-width: 0px;
+ border-left-width: 0px;
+ }
+
+#navigation a:hover {
+ color:#ffffff;
+ font-size:20px;
+ border: 1pt dotted red;
+ border-right-width: 0px;
+ border-left-width: 0px;
+ }
+
+#navigation td {
+ background-image:url(../Images/ent_comm_banner_bg-B2.gif);
+ }
+
+#sidebarHeader {
+ padding: 0px 4px 14px 4px;
+ }
+
+#logo {
+ font:18px georgia;
+ color: #CC3300;
+ line-height:24px;
+ letter-spacing:.4em;
+ }
+
+#tagline {
+ font:12px georgia;
+ color: #CC3300;
+ line-height:18px;
+ letter-spacing:.4em;
+ }
+
+#dateformat a {
+ color:#99CCFF;
+ font:11px georgia;
+ color: #99CCFF;
+ letter-spacing:.2em;
+ text-decoration:none;
+ font-weight:bold;
+ }
+
+#dateformat a:hover {
+ color: #ffffff;
+ }
+
+/* Class Styles */
+
+.bodyText {
+ font:11px arial;
+ color:#99CCFF;
+ line-height:20px;
+ letter-spacing:.1em;
+ margin-top:0px;
+ }
+
+.pageName{
+ font:22px georgia;
+ color: #CC3300;
+ line-height:20px;
+ letter-spacing:.1em;
+ }
+
+.subHeader {
+ font:16px georgia;
+ color: #CC3300;
+ font-weight:bold;
+ letter-spacing:.1em;
+ line-height:16px;
+ }
+
+.sidebarHeader {
+ font:14px georgia;
+ color: #99CCFF;
+ font-weight:bold;
+ letter-spacing:.1em;
+ line-height:16px;
+ }
+
+.detailText {
+ font:11px arial;
+ color:#ffffff;
+ line-height:16px;
+ letter-spacing:.1em;
+ }
+
+.smallText {
+ font:10px arial;
+ color:#99CCFF;
+ }
+ \ No newline at end of file
diff --git a/EjercitarWeb/WebContent/profesor.jsp b/EjercitarWeb/WebContent/profesor.jsp
new file mode 100644
index 0000000..cebc041
--- /dev/null
+++ b/EjercitarWeb/WebContent/profesor.jsp
@@ -0,0 +1,75 @@
+<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+<title>Documento sin t&iacute;tulo</title>
+<style type="text/css">
+<!--
+.Estilo1 {
+ font-size: 18px;
+ font-weight: bold;
+}
+-->
+</style>
+</head>
+
+<body>
+<form id="form1" name="form1" method="post" action="">
+<div>
+ <p class="Estilo1">Ingresar Nuevo Profesor:</p>
+ </div>
+ <table width="200" border="0">
+ <tr>
+ <td>Usuario</td>
+ <td><label>
+ <input type="text" name="usuario" />
+ </label></td>
+ </tr>
+
+ <tr>
+ <td>Contrasena</td>
+ <td><label>
+ <input type="text" name="password" />
+ </label></td>
+ </tr>
+
+ <tr>
+ <td>Nombre:</td>
+ <td><label>
+ <input type="text" name="nombre" />
+ </label></td>
+ </tr>
+ <tr>
+ <td>Apellido</td>
+ <td><label>
+ <input type="text" name="apellido" />
+ </label></td>
+ </tr>
+ <tr>
+ <td>C&eacute;dula</td>
+ <td><label>
+ <input type="text" name="cedula" />
+ </label></td>
+ </tr>
+ <tr>
+ <td>Fecha Nacimiento </td>
+ <td><label>
+ <input type="text" name="fecha_nac" />
+ </label></td>
+ </tr>
+ <tr>
+ <td>Escuelas:</td>
+ <td><label>
+ <select name="escuelas" multiple="MULTIPLE">
+ </select>
+ </label></td>
+ </tr>
+ <tr>
+ <td>&nbsp;</td>
+ <td><input type="submit" name="Submit" value="Guardar" /></td>
+ </tr>
+ </table>
+</form>
+</body>
+</html>
diff --git a/EjercitarWeb/WebContent/vista_asignatura.jsp b/EjercitarWeb/WebContent/vista_asignatura.jsp
new file mode 100644
index 0000000..c3f5cc7
--- /dev/null
+++ b/EjercitarWeb/WebContent/vista_asignatura.jsp
@@ -0,0 +1,63 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+<!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>Insert title here</title>
+</head>
+<body>
+<%@page import="model.Profesor" import="model.Concepto" import="model.Asignatura" import="model.Tema" import="java.util.List"%>
+
+<% Asignatura asignatura = (Asignatura) request.getAttribute("asignatura"); %>
+Asignatura: <%= asignatura.getNombre() %>
+Descripcion: <%= asignatura.getDescripcion() %>
+
+
+<div align="center">
+<a href="/EjercitarWeb/NuevoTemaServlet">Nuevo tema</a>
+<br>
+<a href="/EjercitarWeb/NuevoConceptoServlet">Nuevo concepto</a>
+<br>
+<a href="/EjercitarWeb/NuevoEjercicioServlet">Nuevo ejercicio</a>
+</div>
+ <table id="tabla" width="507" border="0" align="center">
+
+ <tr bordercolor="#000000">
+ <th bgcolor="#666666"><span class="Estilo16">Tema</span></span></th>
+ <th width="152" bgcolor="#666666"><span class="Estilo16">Conceptos</span>
+ </div>
+ </span></th>
+
+ </tr>
+
+ <% List<Tema> temaList = (List<Tema>) request.getAttribute("temaList");%>
+ <% for(Tema tema : temaList) {%>
+ <tr bordercolor="#000000">
+ <td bgcolor="#CCCCCC"><span class="Estilo17"><a href="/EjercitarWeb/VistaAsignaturaServlet?asignatura=<%= tema.getNombre() %>"><%= tema.getNombre()%></a>></span></td>
+ <td bgcolor="#CCCCCC"><span class="Estilo17">
+
+ <% List<Concepto> conceptoList = (List<Concepto>) tema.getConceptoList();%>
+ <% for(Concepto concepto : conceptoList) {%>
+
+ <%= concepto.getNombre()%>
+ <br>
+ <% } %>
+
+ </span></td>
+
+ </tr>
+ <% } %>
+ </table>
+
+<script type="text/javascript">
+
+ function cargarConceptos(tema_id){
+ //obtiene los objetos productCode, y obtiene el valor del objeto
+ //var tema_id=$("#temas").val(); //ya se tiene el objeto select
+ //llama al servlet con el parametro seleccionado
+ $("#tabla").load("CargarConceptosServlet", {tema_id:tema_id})
+ }
+ </script>
+</body>
+</html> \ No newline at end of file
diff --git a/EjercitarWeb/src/control/LogInFilter.java b/EjercitarWeb/src/control/LogInFilter.java
new file mode 100644
index 0000000..793fdba
--- /dev/null
+++ b/EjercitarWeb/src/control/LogInFilter.java
@@ -0,0 +1,47 @@
+package control;
+
+import java.io.IOException;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @author Samu
+ */
+public class LogInFilter implements Filter {
+
+ @Override
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
+ //Obtenemos un HttpServletRequest con un casting
+ HttpServletRequest requestMod = ((HttpServletRequest) request);
+ if (isPermited(requestMod) == false){
+ requestMod.getSession().setAttribute("requestedPage", requestMod.getRequestURL().toString());
+ RequestDispatcher rd = request.getRequestDispatcher("/login.jsp");
+ rd.forward(request, response);
+ }else{
+ //Continua la secuencia de ejecución normal
+ chain.doFilter(request, response);
+ }
+ }
+
+ private boolean isPermited(HttpServletRequest request) {
+ if (request.getSession().getAttribute("usuario") == null) {
+ return false;
+ } else{
+ return true;
+ }
+ }
+
+ @Override
+ public void init(FilterConfig filterConfig) throws ServletException {
+ }
+
+ @Override
+ public void destroy() {
+ }
+}
diff --git a/EjercitarWeb/src/src/LogInServlet.java b/EjercitarWeb/src/src/LogInServlet.java
new file mode 100644
index 0000000..6867478
--- /dev/null
+++ b/EjercitarWeb/src/src/LogInServlet.java
@@ -0,0 +1,77 @@
+package src;
+
+import java.io.IOException;
+import java.util.List;
+
+import javax.ejb.EJB;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import beans.AdministracionBeanRemote;
+
+import model.Profesor;
+import model.Tema;
+
+import eao.TemaEAO;
+
+/**
+ * Servlet implementation class LogInServlet
+ */
+@WebServlet("/LogInServlet")
+public class LogInServlet extends HttpServlet {
+ private static final long serialVersionUID = 1L;
+
+ @EJB
+ AdministracionBeanRemote abr;
+
+ /**
+ * @see HttpServlet#HttpServlet()
+ */
+ public LogInServlet() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ response.setContentType("text/html;charset=UTF-8");
+ RequestDispatcher rd = getServletContext().getRequestDispatcher("/login.jsp");
+ rd.forward(request, response);
+ }
+
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ String usuario = request.getParameter("usuario");
+ String password = request.getParameter("password");
+
+ Profesor profesor = abr.logIn(usuario, password);
+
+ if (profesor != null) {
+ response.setContentType("text/html;charset=UTF-8");
+ System.out.println("ok");
+ request.getSession().setAttribute("auth", true);
+ request.getSession().setAttribute("profesor", profesor);
+ //RequestDispatcher rd = getServletContext().getRequestDispatcher("/menu_principal.jsp");
+ //rd.forward(request, response);
+
+ response.sendRedirect("/EjercitarWeb/MenuPrincipalServlet");
+ } else {
+ response.setContentType("text/html;charset=UTF-8");
+ System.out.println("fail");
+ request.setAttribute("error", "Usuario o contrasena invalidos");
+ RequestDispatcher rd = getServletContext().getRequestDispatcher("/login.jsp");
+ rd.forward(request, response);
+ }
+
+ }
+}
diff --git a/EjercitarWeb/src/src/MenuPrincipalServlet.java b/EjercitarWeb/src/src/MenuPrincipalServlet.java
new file mode 100644
index 0000000..51a2cd0
--- /dev/null
+++ b/EjercitarWeb/src/src/MenuPrincipalServlet.java
@@ -0,0 +1,40 @@
+package src;
+
+import java.io.IOException;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import model.Profesor;
+
+/**
+ * Servlet implementation class MenuPrincipalServlet
+ */
+@WebServlet("/MenuPrincipalServlet")
+public class MenuPrincipalServlet extends HttpServlet {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * @see HttpServlet#HttpServlet()
+ */
+ public MenuPrincipalServlet() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+
+ response.setContentType("text/html;charset=UTF-8");
+ RequestDispatcher rd = getServletContext().getRequestDispatcher("/menu_principal.jsp");
+ rd.forward(request, response);
+ }
+
+}
diff --git a/EjercitarWeb/src/src/NuevoConceptoServlet.java b/EjercitarWeb/src/src/NuevoConceptoServlet.java
index 9a6f310..7706956 100644
--- a/EjercitarWeb/src/src/NuevoConceptoServlet.java
+++ b/EjercitarWeb/src/src/NuevoConceptoServlet.java
@@ -92,6 +92,8 @@ public class NuevoConceptoServlet extends HttpServlet {
//conceptoEAO.guardarConcepto(concepto);
abr.agregarConcepto(concepto);
+ response.sendRedirect("/EjercitarWeb/VistaAsignaturaServlet");
+
}
}
diff --git a/EjercitarWeb/src/src/NuevoEjercicioServlet.java b/EjercitarWeb/src/src/NuevoEjercicioServlet.java
index 163560c..655395c 100644
--- a/EjercitarWeb/src/src/NuevoEjercicioServlet.java
+++ b/EjercitarWeb/src/src/NuevoEjercicioServlet.java
@@ -21,6 +21,7 @@ import model.Asignatura;
import model.Concepto;
import model.Ejercicio;
import model.Profesor;
+import model.Respuesta;
/**
* Servlet implementation class EjercitarServlet
@@ -78,7 +79,43 @@ public class NuevoEjercicioServlet extends HttpServlet {
conceptoList.add(concepto);
}
ejercicio.setConceptoList(conceptoList);
+
+ List<Respuesta> respuestaList = new ArrayList<Respuesta>();
+ Respuesta respuesta1 = new Respuesta();
+ respuesta1.setDescripcion(request.getParameter("respuesta1"));
+ Respuesta respuesta2 = new Respuesta();
+ respuesta2.setDescripcion(request.getParameter("respuesta2"));
+ Respuesta respuesta3 = new Respuesta();
+ respuesta3.setDescripcion(request.getParameter("respuesta3"));
+ Respuesta respuesta4 = new Respuesta();
+ respuesta4.setDescripcion(request.getParameter("respuesta4"));
+
+ respuestaList.add(respuesta1);
+ respuestaList.add(respuesta2);
+ respuestaList.add(respuesta3);
+ respuestaList.add(respuesta4);
+
+ ejercicio.setRespuestaList(respuestaList);
+
+ int respuesta = Integer.valueOf(request.getParameter("respuesta_correcta"));
+ switch (respuesta) {
+ case 1:
+ ejercicio.setRespuesta(respuesta1);
+ break;
+ case 2:
+ ejercicio.setRespuesta(respuesta2);
+ break;
+ case 3:
+ ejercicio.setRespuesta(respuesta3);
+ break;
+ case 4:
+ ejercicio.setRespuesta(respuesta4);
+ break;
+ }
+
abr.agregarEjercicio(ejercicio);
+
+ response.sendRedirect("/EjercitarWeb/VistaAsignaturaServlet");
}
}
diff --git a/EjercitarWeb/src/src/NuevoProfesorServlet.java b/EjercitarWeb/src/src/NuevoProfesorServlet.java
new file mode 100644
index 0000000..7da7d3d
--- /dev/null
+++ b/EjercitarWeb/src/src/NuevoProfesorServlet.java
@@ -0,0 +1,80 @@
+package src;
+
+import java.io.IOException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+import javax.ejb.EJB;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import model.Profesor;
+
+import eao.TemaEAO;
+
+import beans.AdministracionBeanRemote;
+
+/**
+ * Servlet implementation class NuevoProfesorServlet
+ */
+@WebServlet("/NuevoProfesorServlet")
+public class NuevoProfesorServlet extends HttpServlet {
+ private static final long serialVersionUID = 1L;
+
+ @PersistenceContext
+ EntityManager em;
+
+ @EJB
+ AdministracionBeanRemote abr;
+
+ /**
+ * @see HttpServlet#HttpServlet()
+ */
+ public NuevoProfesorServlet() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ response.setContentType("text/html;charset=UTF-8");
+ RequestDispatcher rd = getServletContext().getRequestDispatcher("/profesor.jsp");
+ rd.forward(request, response);
+ }
+
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ Profesor profesor = new Profesor();
+
+ profesor.setUsuario(request.getParameter("usuario").trim());
+ profesor.setPassword(request.getParameter("password").trim());
+ profesor.setNombre(request.getParameter("nombre").trim());
+ profesor.setApellido(request.getParameter("apellido").trim());
+ String fecha = request.getParameter("fecha_nac").trim();
+ DateFormat df = new SimpleDateFormat("dd/mm/yyyy");
+ Date date = null;
+ try {
+ date = df.parse(fecha);
+ } catch(Exception e){}
+ profesor.setFechaNac(date);
+ profesor.setCedula(Integer.valueOf(request.getParameter("cedula").trim()));
+ abr.agregarProfesor(profesor);
+
+ response.sendRedirect("/EjercitarWeb/LogInServlet");
+ }
+
+}
diff --git a/EjercitarWeb/src/src/NuevoTemaServlet.java b/EjercitarWeb/src/src/NuevoTemaServlet.java
index ca487bf..0bdb466 100644
--- a/EjercitarWeb/src/src/NuevoTemaServlet.java
+++ b/EjercitarWeb/src/src/NuevoTemaServlet.java
@@ -89,8 +89,9 @@ public class NuevoTemaServlet extends HttpServlet {
tema.setAsignatura(asignatura);
abr.agregarTema(tema);
-
-
+
+ response.sendRedirect("/EjercitarWeb/VistaAsignaturaServlet");
+
}
}
diff --git a/EjercitarWeb/src/src/VistaAsignaturaServlet.java b/EjercitarWeb/src/src/VistaAsignaturaServlet.java
new file mode 100644
index 0000000..5468005
--- /dev/null
+++ b/EjercitarWeb/src/src/VistaAsignaturaServlet.java
@@ -0,0 +1,71 @@
+package src;
+
+import java.io.IOException;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import model.Asignatura;
+import model.Tema;
+
+/**
+ * Servlet implementation class VistaAsignaturaServlet
+ */
+@WebServlet("/VistaAsignaturaServlet")
+public class VistaAsignaturaServlet extends HttpServlet {
+ private static final long serialVersionUID = 1L;
+
+ @PersistenceContext
+ EntityManager em;
+
+ /**
+ * @see HttpServlet#HttpServlet()
+ */
+ public VistaAsignaturaServlet() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+
+ String idAsignatura = request.getParameter("asignatura");
+ Asignatura asignatura = em.find(Asignatura.class, Integer.valueOf(idAsignatura));
+
+ List<Tema> temaList = em.createQuery("Select e from Tema e where e.asignatura = :asignatura")
+ .setParameter("asignatura", asignatura).getResultList();
+ //no borrar
+ System.out.println(temaList.toString());
+
+
+ for (Tema tema : temaList){
+ System.out.println(tema.getConceptoList().toString());
+ }
+ //hasta aca
+
+ request.setAttribute("asignatura", asignatura);
+ request.setAttribute("temaList", temaList);
+ response.setContentType("text/html;charset=UTF-8");
+ RequestDispatcher rd = getServletContext().getRequestDispatcher("/vista_asignatura.jsp");
+ rd.forward(request, response);
+
+ }
+
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ }
+
+}