survey10-core
Lo que sigue es integrar las capas de dao y servicio nos vamos al modulo survey10-core y en el archivo pom.xml escribimos lo siguiente:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.tutosoftware.survey10</groupId>
<artifactId>survey10</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>survey10-core</artifactId>
<name>Survey Core</name>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>com.sun.el</groupId>
<artifactId>el-ri</artifactId>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
</project>
En src/main/java creamos el paquete com.tutosoftware.survey10.entity y en este
creamos la clase Encuesta
package com.tutosoftware.survey10.entity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter @Setter @NoArgsConstructor
public class Encuesta {
private String nombreTabla;
private int idEncuesta;
private String respuesta1SiNo;
private String respuesta2SiNo;
private String respuesta3SiNo;
private String respuesta4SiNo;
private String respuesta5SiNo;
private String respuesta6SiNo;
private String respuesta7SiNo;
private String respuesta8Texto;
private String respuesta9Calif;
private String respuesta10Calif;
}
Creamos la clase Estadistica
package com.tutosoftware.survey10.entity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter @Setter @NoArgsConstructor
public class Estadistica {
private int totalRespuesta;
private int respuesta1Si;
private int respuesta1No;
private int respuesta2Si;
private int respuesta2No;
private int respuesta3Si;
private int respuesta3No;
private int respuesta4Si;
private int respuesta4No;
private int respuesta5Si;
private int respuesta5No;
private int respuesta6Si;
private int respuesta6No;
private int respuesta7Si;
private int respuesta7No;
private int respuest9Malo;
private int respuesta9Regular;
private int respuesta9Bueno;
private int respuesta9MuyBueno;
private int respuesta9Excelente;
private int respuest10Malo;
private int respuesta10Regular;
private int respuesta10Bueno;
private int respuesta10MuyBueno;
private int respuesta10Excelente;
}
Creamos la clase RegistrarEncuesta
package com.tutosoftware.survey10.entity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter @Setter @NoArgsConstructor
public class RegistrarEncuesta {
private int idRegistroEncuesta;
private String nombreEncuesta;
private String tablaEncuesta;
private String pregunta1SiNo;
private String pregunta2SiNo;
private String pregunta3SiNo;
private String pregunta4SiNo;
private String pregunta5SiNo;
private String pregunta6SiNo;
private String pregunta7SiNo;
private String pregunta8Texto;
private String pregunta9Calif;
private String pregunta10Calif;
private int activarEncuesta;
}
Creamos la clase Usuario
package com.tutosoftware.survey10.entity;
import java.io.Serializable;
import lombok.Getter;
import lombok.Setter;
@Getter @Setter
public class Usuario implements Serializable{
private static final long serialVersionUID = 1L;
private Integer idUsuario;
private String nombre;
private String apellidoPaterno;
private String apellidoMaterno;
private String email;
private String password;
public Usuario() {}
public Usuario(Integer idUsuario,String nombre,String apellidoPaterno,String apellidoMaterno,String email,
String password) {
this.idUsuario=idUsuario;
this.nombre=nombre;
this.apellidoPaterno=apellidoPaterno;
this.apellidoMaterno=apellidoMaterno;
this.email=email;
this.password=password;
}
}
Creamos el paquete com.tutosoftware.survey10.util cremaos la clase DBConection
package com.tutosoftware.survey10.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConection {
public Connection connect() {
Connection connection = null;
try {
Class.forName ("com.mysql.cj.jdbc.Driver").newInstance();
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/surveydb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=America/Mexico_City&verifyServerCertificate=false&allowPublicKeyRetrieval=true&useSSL=false&requireSSL=false","admin","adminlara");
System.out.println ("Database connection established");
} catch (SQLException e) {
System.out.println(e.getMessage());
}catch(ClassNotFoundException e) {
System.out.println(e.getMessage());
}catch(InstantiationException e) {
System.out.println(e.getMessage());
}catch(IllegalAccessException e) {
System.out.println(e.getMessage());
}
return connection;
}
}
En el mismo paquete creamos la clase SessionUtils
package com.tutosoftware.survey10.util;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
public class SessionUtils {
public static HttpSession getSession() {
return (HttpSession) FacesContext.getCurrentInstance()
.getExternalContext().getSession(false);
}
public static HttpServletRequest getRequest() {
return (HttpServletRequest) FacesContext.getCurrentInstance()
.getExternalContext().getRequest();
}
public static String getUserName() {
HttpSession session = (HttpSession) FacesContext.getCurrentInstance()
.getExternalContext().getSession(false);
return session.getAttribute("username").toString();
}
public static String getUserId() {
HttpSession session = getSession();
if (session != null)
return (String) session.getAttribute("userid");
else
return null;
}
}
Creamos el paquete com.tutosoftware.survey10.filter creamos la clase AuthorizationFilter
package com.tutosoftware.survey10.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebFilter(filterName = "AuthFilter", urlPatterns = { "*.xhtml" })
public class AuthorizationFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// TODO Auto-generated method stub
try {
HttpServletRequest reqt = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
HttpSession ses = reqt.getSession(false);
String reqURI = reqt.getRequestURI();
if (reqURI.indexOf("/login.xhtml") >= 0
|| (ses != null && ses.getAttribute("username") != null)
|| reqURI.indexOf("/public/") >= 0
|| reqURI.contains("javax.faces.resource"))
chain.doFilter(request, response);
else
resp.sendRedirect(reqt.getContextPath() + "/faces/login.xhtml");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}