Marcoslainypc 15 de abr. de 2021
Vou postar as classes:
Pacote modelo: Tecnico
@Entity
@Table ( name = "Tecnicos" )
public class Tecnicos {
@Id
@GeneratedValue ( strategy = GenerationType . IDENTITY )
@Column ( name = "idTecnico" )
private int idTecnico ;
@Column ( name = "nomeTecnico" )
private String nomeTecnico ;
@Column ( name = "cpfTecnico" )
private String cpfTecnico ;
@Column ( name = "contatoTecnico" )
private String contatoTecnico ;
@Column ( name = "user_name" )
private String username ;
@Column ( name = "password" )
private String password ;
}
Pacote Dao
public class TecnicosJpaDAO {
private static TecnicosJpaDAO instance ;
protected EntityManager entityManager = getEntityManager ();
public static TecnicosJpaDAO getInstance () {
if ( instance == null ) {
instance = new TecnicosJpaDAO ();
}
return instance ;
}
/*private TecnicosJpaDAO() {
entityManager = getEntityManager();
}*/
private EntityManager getEntityManager () {
EntityManagerFactory factory = Persistence . createEntityManagerFactory ( "solicitacoes" );
if ( entityManager == null ) {
entityManager = factory . createEntityManager ();
}
return entityManager ;
}
public Tecnicos getById ( final int id ) {
return entityManager . find ( Tecnicos . class , id );
}
@SuppressWarnings ( "unchecked" )
public List < Tecnicos > findAll () {
return entityManager . createQuery ( "FROM " + Tecnicos . class . getName ()). getResultList ();
}
public void persist ( Tecnicos Tecnicos ) {
try {
entityManager . getTransaction (). begin ();
entityManager . persist ( Tecnicos );
entityManager . getTransaction (). commit ();
} catch ( Exception ex ) {
ex . printStackTrace ();
entityManager . getTransaction (). rollback ();
}
}
public void merge ( Tecnicos Tecnicos ) {
try {
entityManager . getTransaction (). begin ();
entityManager . merge ( Tecnicos );
entityManager . getTransaction (). commit ();
} catch ( Exception ex ) {
ex . printStackTrace ();
entityManager . getTransaction (). rollback ();
}
}
public void remove ( Tecnicos Tecnicos ) {
try {
entityManager . getTransaction (). begin ();
Tecnicos = entityManager . find ( Tecnicos . class , Tecnicos . getIdTecnico ());
entityManager . remove ( Tecnicos );
entityManager . getTransaction (). commit ();
} catch ( Exception ex ) {
ex . printStackTrace ();
entityManager . getTransaction (). rollback ();
}
}
public void removeById ( final int id ) {
try {
Tecnicos Tecnicos = getById ( id );
remove ( Tecnicos );
} catch ( Exception ex ) {
ex . printStackTrace ();
}
}
public boolean validate ( String userName , String password ) {
try {
entityManager . getTransaction (). begin ();
Query tecnicos = entityManager . createQuery ( "FROM Tecnicos t WHERE t.username = :userName and t.password = :password " )
. setParameter ( "userName" , userName )
. setParameter ( "password" , password );
//pessoa = entityManager.find(Pessoa.Class, id);
if ( tecnicos != null ) {
return true ;
}
entityManager . getTransaction (). commit ();
entityManager . close ();
} catch ( Exception e ) {
e . printStackTrace ();
}
return false ;
}
}
servlet
@WebServlet ( "/validar" )
public class validar extends HttpServlet {
private static final long serialVersionUID = 1L ;
private TecnicosJpaDAO jpaDAO ;
private RepositorioTecnico repositorioTecnico ;
/**
* @see HttpServlet#HttpServlet()
*/
public validar () {
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 . getWriter (). append ( "Served at: " ). append ( request . getContextPath ());
doPost ( request , response );
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost ( HttpServletRequest request , HttpServletResponse response )
throws ServletException , IOException {
String login = request . getParameter ( "username" );
String senha = request . getParameter ( "password" );
boolean valida = jpaDAO . validate ( login , senha );
System . out . println ( valida );
if ( valida ) {
RequestDispatcher dispatcher = request . getRequestDispatcher ( "login-success" );
dispatcher . forward ( request , response );
}
}
}
Web.xml
<web-app xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xmlns= "http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation= "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id= "WebApp_ID" version= "3.0" >
<display-name> SysSolicitacoes</display-name>
<welcome-file-list>
<welcome-file> default.html</welcome-file>
<welcome-file> default.htm</welcome-file>
<welcome-file> default.jsp</welcome-file>
<welcome-file> login.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name> validar</servlet-name>
<servlet-class> br.com.syssolicitacao.servlets</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> validar</servlet-name>
<url-pattern> /validar/*</url-pattern>
</servlet-mapping>
</web-app>
Jsp
<form class= "user" action= "/SysSolicitacoes/validar" method= "post" >
<div class= "form-group" >
<input type= "text" class= "form-control form-control-user"
id= "exampleInputEmail" aria-describedby= "emailHelp" placeholder= "Enter Email Address..." >
</div>
<div class= "form-group" >
<input type= "password" name= "password" class= "form-control form-control-user"
id= "exampleInputPassword" placeholder= "Password" >
</div>
<button type= "submit" class= "btn btn-primary btn-user btn-block" > Entrar no Sistema</button>
</form>
Marcoslainypc 18 de abr. de 2021
Boa noite, desculpa não ter responde, eu consegui resolver o problemas, mesmo instanciando estava dando erro, precisar colocar o meu DAO dentro de um contexto, aí deu tudo certe, muito obrigado pela ajudar.