MVC ArchiJSP 애플리케이션 디자인 예제를 사용한 Java 강의

MVC 란 무엇입니까?

MVC는 archi비즈니스 로직, 프리젠테이션, 데이터를 분리하는 강의입니다. MVC에서는

  • M은 모델을 의미합니다.
  • V는 뷰를 의미합니다.
  • C는 컨트롤러를 의미합니다.

MVC는 요청이 컨트롤러 계층에서 발생 및 처리되고 데이터를 삽입하고 성공 또는 실패 메시지를 다시 받기 위해 모델 계층으로 전송되는 뷰 계층에서 흐름이 시작되는 애플리케이션을 사용하는 체계적인 방법입니다. MVC Architecture 다이어그램은 아래와 같습니다.

MVC Archi강의
MVC Archi강의 다이어그램

모델 레이어

  • 시스템의 비즈니스 로직을 구성하는 데이터 레이어입니다.
  • 애플리케이션의 모든 데이터로 구성됩니다.
  • 또한 애플리케이션의 상태를 나타냅니다.
  • 관련 클래스로 구성되어 있습니다. 데이터베이스.
  • 컨트롤러는 모델과 연결하여 데이터를 가져와 뷰 레이어로 보냅니다.
  • 모델은 데이터베이스와도 연결되며, 연결된 데이터베이스에 데이터를 저장합니다.

레이어 보기

  • 프리젠테이션 레이어입니다.
  • HTML, JSP 등으로 구성됩니다.
  • 일반적으로 애플리케이션의 UI를 표시합니다.
  • 이는 모델 계층 클래스에서 데이터를 가져오는 컨트롤러에서 가져온 데이터를 표시하는 데 사용됩니다.
  • 이 뷰 레이어는 애플리케이션의 UI에 대한 데이터를 보여줍니다.

컨트롤러 레이어

  • View와 Model 사이의 인터페이스 역할을 합니다.
  • 뷰 레이어에서 들어오는 모든 요청을 가로챕니다.
  • 뷰 계층에서 요청을 수신하고 요청을 처리하며 요청에 대해 필요한 유효성 검사를 수행합니다.
  • 이 요청은 데이터 처리를 위해 모델 계층으로 추가로 전송되며, 요청이 처리되면 필요한 정보와 함께 컨트롤러로 다시 전송되어 그에 따라 뷰에 표시됩니다.

MVC의 장점 Archi강의

MVC의 장점은 다음과 같습니다.

  • 유지 관리가 용이
  • 쉬운 확장
  • 손쉬운 테스트
  • 내비게이션 제어가 중앙 집중화됨

MVC를 사용한 JSP 애플리케이션 디자인의 예 Archi강의

이 예에서는 MVC를 사용하는 방법을 보여 드리겠습니다. archiJSP 강의.

  • 우리는 두 개의 변수 “e”가 있는 형식의 예를 취하고 있습니다.mail” 및 뷰 레이어인 “password”입니다.
  • 사용자가 e를 입력하면mail, 비밀번호를 입력하고 제출을 클릭하면 작업이 mvc_servlet에 전달됩니다. 여기서 email 및 비밀번호가 전달되었습니다.
  • 이 mvc_servlet은 컨트롤러 계층입니다. 여기 mvc_servlet에서 요청은 모델 계층 역할을 하는 Bean 객체로 전송됩니다.
  • 전자mail 비밀번호 값은 빈에 설정되고 추가 목적을 위해 저장됩니다.
  • Bean에서 값을 가져와 뷰 레이어에 표시합니다.

Mvc_example.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>MVC Guru Example</title>
</head>
<body>
<form action="Mvc_servlet" method="POST">
Email: <input type="text" name="email">
<br />
Password: <input type="text" name="password" />
<input type="submit" value="Submit" />
</form>
</body>
</html>

코드 설명:

레이어 보기:

코드 라인 10-15: 여기서는 매개변수 "e"로 두 개의 필드가 있는 양식을 사용합니다.mail” 및 “password” 그리고 이 요청은 컨트롤러 Mvc_servlet.java로 전달되어야 하며, 이는 동작. 전달하는 방식은 POST 방식이다.

Mvc_servlet.java

package demotest;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Mvc_servlet
 */
public class Mvc_servlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Mvc_servlet() {
        super();
        // TODO Auto-generated constructor stub
    }


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		String email=request.getParameter("email");  
        String password=request.getParameter("password");
        
        TestBean testobj = new TestBean();
        testobj.setEmail(email);
        testobj.setPassword(password);
        request.setAttribute("gurubean",testobj);
        RequestDispatcher rd=request.getRequestDispatcher("mvc_success.jsp");  
        rd.forward(request, response); 
	}

}

코드 설명:

컨트롤러 레이어

코드 라인 14:mvc_servlet은 HttpServlet을 확장하고 있습니다.

코드 라인 26: 사용된 메소드는 POST이므로 요청을 처리하고 bean 객체에 testobj로 저장하는 서블릿의 doPost 메소드로 요청이 들어옵니다.

코드 라인 34: 요청 객체를 사용하여 testobj 값이 할당된 gurubean으로 속성을 설정합니다.

코드 라인 35: 여기서는 요청 디스패처 객체를 사용하여 mvc_success.jsp에 성공 메시지를 전달합니다.

TestBean.java

package demotest;

import java.io.Serializable;

public class TestBean implements Serializable{
	
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	private String email="null";
	private String password="null";


}

코드 설명:

모델 레이어:

코드 라인 7-17: e의 getter와 setter가 포함되어 있습니다.mail Test Bean 클래스의 멤버인 비밀번호 및 비밀번호

코드 라인 19-20: 이는 멤버 e를 정의합니다.mail Bean 클래스에는 문자열 유형의 비밀번호 및 비밀번호가 있습니다.

Mvc_success.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@page import="demotest.TestBean"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Success</title>
</head>
<body>
<%  
TestBean testguru=(TestBean)request.getAttribute("gurubean");  
out.print("Welcome, "+testguru.getEmail());  
%>
</body>
</html>

코드 설명:

코드 라인 12: 우리는 서블릿의 doPost 메소드에 설정된 요청 객체를 사용하여 속성을 가져옵니다.

코드 라인 13: 환영 메시지와 전자를 인쇄하고 있습니다.mail 해당 ID는 Bean 객체에 저장되어 있습니다.

출력:

위의 코드를 실행하면 다음과 같은 결과가 나옵니다.wing 출력 :

mvc_example.jsp를 클릭하면 e가 포함된 양식이 표시됩니다.mail 제출 버튼을 사용하여 비밀번호를 입력하세요.

e를 입력하면mail 양식에 비밀번호를 입력한 후 제출을 클릭하세요.

JSP 애플리케이션 디자인

제출을 클릭하면 출력이 아래와 같이 표시됩니다.

JSP 애플리케이션 디자인

출력:

e를 입력하면mail 화면에 비밀번호와 비밀번호를 입력하고 제출을 클릭한 다음,tails TestBean에 저장되고 TestBean에서 성공 메시지를 얻기 위해 다음 화면에서 가져옵니다.

요약

이번 글에서는 MVC, 즉 Model View Controller에 대해 배웠습니다. archi강의.

JSP 데이터를 표현하고 컨트롤러 역할을 합니다. 모델이 컨트롤러와 데이터베이스에 모두 연결되는 동안 모델과 뷰 사이의 인터페이스입니다. 주요 비즈니스 로직은 모델 계층에 있습니다.