Tümleştirmeye çalıştığım iki sistem var. Biri, ham servletler üzerine inşa edilmiş, yenisi ise IceFaces ile JSF üzerine inşa edilmiştir. Sistemler arası işareti kolaylaştırmaya çalışıyorum. Buradaki fikir şudur: eski sistemde yeni bilgileri uygun siteye gönderen ve bunları günlüğe kaydeden bir düğme var.Faces Bağlamını manuel olarak oluşturma
Eh, ideal olarak, yeni sitede bunu kolaylaştırmak için düzenli bir eski sunucu kullanmak istiyorum. Yeni sitenin Servlet'ine gidin, yapması gerekenleri ve kontrol paneline yönlendirin.
Güvenliğimiz yönetilen bir fasulye ile ele alınır. Ancak, Servlet'e ulaştığınızda, yüzler bağlamı yoktur. Peki, yeni bir yüzler bağlamı nasıl oluşturabilirim?
Her zaman FacesContext'i benim için oluşturacak olan bir manken .iface sayfasına bağlantı kurabildiğim için bir yedekleme planım var ve daha sonra ana sayfaya yönlendirildikten sonra daha sonra ana sayfaya yönlendirilecek bir arka plan fasulyesi yaratıyor . Ama bu bir hack gibi hissediyor.
Herhangi bir yardım için teşekkür ederiz!
DÜZENLEME: Geri yol ile gittim. ...
<f:view>
<ice:outputText value="#{EntryPoint}"/>
</f:view
destek fasulye yüzden benzeyen Bu hala kesmek gibi hissediyor
public EntryPoint() {
try {
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
String loginID = request.getParameter("loginID");
//Do some code to load the user/permissions
response.sendRedirect(
//The appropriate page
);
} catch (IOException ex) {
logger.error(null, ex);
} catch (SQLException ex) {
logger.error(null, ex);
}
}
ama etrafında nasıl emin değilim: Temelde, bu yüzden böyle bir sayfaya POST bu. İdeal olarak, bir sunucuya POST, giriş kimliğini al, kullanıcıyı kur ve yönetilen böreğe koy. Ancak, FacesContext bu noktada mevcut değil.
Başka bir fikrin var mı?
İkincisi aradığım cevaptı ve ilki ilk yapamayacak olursam yedek planımdı. Buradaki fikir, eski Servlet sitesinin (kendi webapp ve WAR dosyası) kullanıcıyı bir POST ve yeni web sunucusuna kimlik bilgileriyle yeniden yönlendirmesiydi. Bunu yapmanın daha iyi bir yolu var mı? – Drew