Sınıfı servlet denetleyicisine koymayı denedim ancak yapıcı ve ayar yöntemi erişimi ile ilgili sorun yaşıyorum. İş mantığını birbirinden ayırmak için geliştirdiği verimliliğini okudum, JavaBean'a koymaya çalıştım bile, ama denetleyiciden parametrelerin nasıl gönderileceğini henüz bilmiyorum. Hala öğrenecek çok şeyim var, sadece bir proje üzerinde çalışıyordum.MVC'nin iş mantığını Servlet'ten ayrı bir sınıfta nasıl uygularım?
cevap
İş mantığını JavaEE platformundaki Sunum katmanı i.e (Servlet ve JSP) içinden ayırmak için EJB'yi kullanabilirsiniz. Projenizde çok fazla iş mantığı yoksa, sadece Java POJO sınıflarını kullanın. This example gives very raw idea. you can use web frameworks which have built in MVC design.
Controller:
Kullanım Servlet'ler navigasyon kontrol etmek veya HTTP
istekleri karşı diğer görevleri yerine getirmektir.
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LoginServlet() {
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
LoginManager loginManager=new LoginManager();
if(loginManager.isValidUser("getUserID from request Params","password from request params")){
//initialize user session and redirect to dashboard
//response.sendRedirect("/userhome.jsp");
}else{
//display failure messages. etc...
//response.sendRedirect("/login.jsp");
}
}
}
Model
: Oturum ilgili işlemler için yöntemler set içerir POJO.
public class LoginManager {
private Connection con;
public LoginManager() {
}
private void initConnection(){
//register driver class and create a new connection
//you can create separate DBUtils class to get new connections
//to prevent boilerplate code.
//make new connection to database
// con=..
}
private void closeConnection() throws SQLException{
con.close();
}
public boolean isValidUser(String user,String password) throws SQLException{
initConnection();
PreparedStatement pstm=con.prepareStatement("select 1 from users where userID = ? and password=?");
// ResultSet rs parametreler kullanıcı kimliği ve şifre set = pstm.executeQuery();
if (rs.next()){
if(checkpassword.....)
return true;
}
closeConnection();
return false;
}
}
View
: login.jsp
gibi
sayfaları ve userhome.jsp
sayfalar görüntülerdir;
Teşekkür ederim, AsSIDe, chrylis. Murach'in Servlet ve JSP ikinci baskısını okuyorum. Okuma listeme bir web çerçevesi ekleyeceğim. –
- 1. Ayrı bir iş parçacığında
- 2. Android - OnClick Dinleyici ayrı sınıfta
- 3. Her bir iş parçacığı için ayrı ayrı durum nasıl sağlanır
- 4. Ayrı iş parçacığı
- 5. Django'da toplu iş parçacığını nasıl uygularım?
- 6. Ayrı iş parçacığı içinde
- 7. SensorEventListener ayrı iş parçacığında
- 8. UI'dan ayrı iş parçacığı
- 9. Bir çalışan örneği değişkenini ayrı bir sınıfta düzenleyin ve güncelleyin
- 10. C# yöntemi mantığını görselleştirme
- 11. OutOfMemoryError ayrı bir Java iş parçacığı içinde
- 12. Build.gradle mantığını daha .grad dosyaları nasıl bölerim?
- 13. WPF Denetimi Ayrı UI İş Parçacığı On?
- 14. JAXB @XmlValue'yi bir alt sınıfta nasıl kullanırım?
- 15. Özel Sınıfta NSFastEnumeration Uygulaması
- 16. API mantığını tek bir yere sarma
- 17. Senkronize Scala Ayrı iş parçacığı olmadan gelecek
- 18. PySpark'taki ayrı iş parçacıklarından bir Sparkcontext'te birden çok iş nasıl çalıştırılır?
- 19. ViewModel özelliklerine ayrı iş parçacığından erişme
- 20. lotto program mantığını anlama skiena
- 21. Erişim JBoss içinde bir servletten gelen bahar fasulyeleri
- 22. java vs scala - ayrı bir iş parçacığı içinde okuma okuma
- 23. İlk sipariş mantığını CNF'ye dönüştürme
- 24. Python'da bir görüntüye nasıl bir DCT uygularım?
- 25. http istekleri gerçekleştirmek için ayrı iş parçacığı nasıl kullanılır?
- 26. Özel Filtreyi nasıl uygularım?
- 27. Delege fabrikasını nasıl uygularım?
- 28. Kopyalama özelliğini nasıl uygularım?
- 29. Köşeli Ayrı Ayrı Ayrı
- 30. "prepareForReuse" öğesini nasıl uygularım?
Spring MVC'ye bakmanızı öneriyorum. Sıhhi tesisatın tümü zaten sizin için ele alınıyor ve sadece denetleyici yöntemleri ve HTML şablonları yazmanız gerekiyor. – chrylis
Teşekkür ederim, Chryslis. Ben ona bakardım. –