Arkadaşlar merhabalar bugün jspde mvc yapısını göreceğiz , mvc nedir onu kısaca açıklayalım.
MVC = model view controller , bir design patterndir ve iş mantığı(business logic),sunum(presentation) mantığı(logic) ve veriyi(data) birbirinden ayırır.Controller View ve Model arasında bir interface (arayüz) olarak davranır ve gelen bütün istekleri keser.Model uygulamanın durumunu temsil eder.View sunumu temsil eder.
Tabi ki yukarıdaki sıkıcı ama çok önemli tanımlamalardan bir fotoğraf ile her şeyi açıklayalım.
Yukarıda java bean yazılı javada bean ne demek ona bakalım bean fasulye demek :) türkçe karşılığı ama javada ne demek ona bakalım ;
Bir classın bean olması için 3 özelliğe sahip olmalı :
1->Class serializable olmalı yani serializable interfacesini implements etmeli
2->Boş bir constructura sahip olmalı
3->Classta her bir properties için get ve setter olmalı.
---------------------------------------------------------------- ÖRNEK ----------------------------------------------------------
User.java
Controller.java
failed.jsp
login.jsp
successfull.jsp
---->User.java(java beanımız)
package com.junior;import java.io.Serializable;public class User implements Serializable{private static final long serialVersionUID = 4600307045637743959L;private int id;private String username;public User() {}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}}
Controller.java
package com.junior.controller;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;@WebServlet("/Controller")public class Controller extends HttpServlet {private static final long serialVersionUID = 1L;protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String username = request.getParameter("username");String password = request.getParameter("password");if(username.equals("junior")) {if(password.equals("123")) {HttpSession session = request.getSession();session.setAttribute("user", username);request.getRequestDispatcher("successful.jsp").forward(request, response);}else {request.setAttribute("failed", "Giriş yapılmadı!");request.getRequestDispatcher("failed.jsp").forward(request, response);}}else {request.setAttribute("failed", "Giriş yapılmadı!");request.getRequestDispatcher("failed.jsp").forward(request, response);}}}
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body><form action="Controller" method="post">Username : <input type="text" name="username" /> <br/>Password : <input type="text" name="password" /> <br/><input type="submit" value="Submit" /></form></body></html>
successful.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body><b>Welcome <%=session.getAttribute("user")%></b></body></html>
failed.jsp
<% if(request.getAttribute("failed")!=null){ %><h1> <%= request.getAttribute("failed") %> </h1><% } %><%@include file="login.jsp" %>
Yukarıda olan olayları kısaca açıklayacağım. Öncelikle login ile girmeye çalışıyoruz ve uygulamayı controller java classımıza gönderiyoruz orda kontrol yapıp bizi ona göre yönlendiriyor , beni admin olarak düşünün ben username olarak junior girdim ve şifre olarak 123 girdim eğer doğruysa beni successful.jsp dosyasına gönderecek bunu admin paneline giriş olarak düşünebilirsiniz diğer tarafta ise eğer hatalı girersem failed.jsp dosyasına gönderecek ve o doyada hatalı olmuşsa hatayı gösterecek daha sonra login.jsp sayfasını tekrar gösterecek bu kadar :)