Öncelikle herkese hayırlı ramazanlar diyerek yazıma başlıyorum.
Geçen yazımda Eclipse üzerinde bir EJB projesinin nasıl create edildiği , JPA
, DAO ve Facade patternlerini kullanarak bir MVC projesinin nasıl yapılacağı hakkında
konuşmuştuk.
Artık dinamik bir web projesi açıp , bu EJB projesini de dinamik web
projemize referans göstererek login ekranımızı yapmaya başlayalım.Eclipse
üzerinde dinamik bir web projesi aşağıda ki gibi açılır.
Açtığımız bu web projesinde ki ManagedBean lerde EJB leri kullanmamız için
daha önceden create ettiğimiz EJB projesini eklememiz gerekiyor. Bu işlem
aşağıda ki gibi olur.
Tüm bunları yaptıktan sonra artık login sayfamızı yazabiliriz.
index.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Giriş</title>
</h:head>
<h:body style="background-color: azure">
<h:outputStylesheet library="css"
name="formOrtala.css" />
<br/><br/><br/><br/><br/><br/><br/>
<h:form styleClass="centered2">
<h3>Üye girişi</h3>
<br/>
<h:panelGrid columns="3"
border="0">
<h:graphicImage library="images"
name="login.png"/>
<h:outputLabel value=""/>
<h:outputLabel value=""/>
<h:outputLabel value="Kullanıcı adı:"/>
<h:inputText value="#{ugcb.kullaniciadi}"
size="25" required="true"
requiredMessage="Kullanıcı adını
boş bırakmayınız!"
id="kullaniciadi"/>
<h:message for="kullaniciadi"
style="color: red"/>
<h:outputLabel value="Şifre:"/>
<h:inputSecret value="#{ugcb.sifre}"
size="25" required="true"
requiredMessage="Şifreyi boş bırakmayınız!"
id="kullanicisifre"/>
<h:message for="kullanicisifre"
style="color: red"/>
<h:commandButton value="Giriş"
style="background: skyblue" action="#{ugcb.kontrolYap}" />
<h:link value="Kayıtlı değilseniz
kayıt olmak için tıklayınız!"
outcome="kayitSayfasi" target="_new"/>
<h:outputText value=""/>
<h:outputText value=""/>
<h:link value="Şifremi
unuttum" outcome="sifremiUnuttum"
target="_new"/>
</h:panelGrid>
<h:messages globalOnly="true" style="color: red"/>
</h:form>
</h:body>
</html>
Bu sayfanın çıktısı aşağıda ki gibi olur.
Artık login olma kontrolümüzü yapan ManagedBean imizi yazabiliriz.
UyeGirisCikisBean.java
@ManagedBean(name = "ugcb")
@SessionScoped
public class UyeGirisCikisBean implements Serializable {
private static final long serialVersionUID = 1L;
private String kullaniciadi;
private String sifre;
private Uyeler entity;
@EJB
private UyelerFacade service;
public UyeGirisCikisBean() {
entity = new Uyeler();
}
public String kontrolYap() {
try {
entity = service.findMemberByUserName(kullaniciadi);
} catch (Exception e) {
e.printStackTrace();
}
if (entity.getSifre().equals(sifre)) {
HttpSession
session = Util.getSession();
session.setAttribute("kullaniciadi", kullaniciadi);
System.out.println("USERNAME:" + Util.getUserName());
System.out.println("USERID:" + Util.getUserId());
return "giris.xhtml?faces-redirect=true";
} else {
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage("Şifre yanlış!"));
return null;
}
}
public String logout() {
HttpSession
session = Util.getSession();
session.invalidate();
return "logoutPage";
}
public String getKullaniciadi() {
return kullaniciadi;
}
public void setKullaniciadi(String kullaniciadi) {
this.kullaniciadi = kullaniciadi;
}
public String getSifre() {
return sifre;
}
public void setSifre(String sifre) {
this.sifre = sifre;
}
}
Kullanıcı adımız ve şifremiz ile giriş yaptığımız zaman yönlendirildiğimiz
giriş sayfası aşağıda ki gibidir.
Hiç yorum yok:
Yorum Gönder