Rumah  >  Artikel  >  Java  >  Penjelasan terperinci tentang Spring MVC: analisis mendalam tentang rangka kerja yang berkuasa ini

Penjelasan terperinci tentang Spring MVC: analisis mendalam tentang rangka kerja yang berkuasa ini

WBOY
WBOYasal
2023-12-29 08:09:561066semak imbas

Spring MVC详解:深入解析这个强大的框架

Spring MVC ialah rangka kerja pembangunan Web Java yang sangat popular, yang popular secara meluas kerana fungsi dan fleksibilitinya yang berkuasa. Idea reka bentuknya adalah berdasarkan corak seni bina MVC (Model-View-Controller), yang mencapai penyahgandingan dan modularisasi aplikasi dengan membahagikan aplikasi kepada tiga bahagian: model, pandangan dan pengawal.

Dalam artikel ini, kami akan menyelidiki pelbagai aspek rangka kerja Spring MVC, termasuk pemprosesan permintaan dan pemajuan, pemprosesan model dan paparan, pemaparan halaman, dsb. Pada masa yang sama, kami akan menggabungkan contoh kod khusus untuk membantu pembaca memahami dan menggunakan rangka kerja yang berkuasa ini dengan lebih baik.

Pertama, kita perlu mengkonfigurasi persekitaran Spring MVC. Tambahkan kandungan berikut pada fail web.xml:

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

Dalam konfigurasi di atas, kami menyatakan lokasi kelas DispatcherServlet dan fail konfigurasi. Seterusnya kami mencipta fail spring-mvc.xml dan mengkonfigurasi beberapa penghurai dan pemproses penting:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <context:component-scan base-package="com.example.controller" />

    <mvc:annotation-driven />

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    </bean>

</beans>

Dalam konfigurasi di atas, kami menggunakan context:component-scan untuk menentukan pakej pengawal yang diimbas dan mvc:anotation-driven digunakan Menyokong anotasi pemprosesan permintaan berasaskan. Pada masa yang sama, kami mengkonfigurasi InternalResourceViewResolver untuk menentukan kedudukan dan akhiran paparan.

Seterusnya, kita perlu mencipta kelas Pengawal mudah untuk mengendalikan permintaan. Sebagai contoh, kami mencipta kelas HomeController dengan kod berikut:

package com.example.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HomeController {

    @RequestMapping("/")
    public ModelAndView home() {
        ModelAndView modelAndView = new ModelAndView("home");
        modelAndView.addObject("message", "Hello, Spring MVC!");
        return modelAndView;
    }

}

Dalam kod di atas, kami menggunakan anotasi @Controller untuk menandakan kelas sebagai Pengawal dan anotasi @RequestMapping menentukan laluan permintaan. Dalam kaedah home(), kami mencipta objek ModelAndView, menetapkan nama paparan kepada "home", dan menambah atribut "message".

Akhir sekali, kita perlu mencipta folder bernama "views" dalam direktori WEB-INF, dan mencipta fail JSP bernama "home.jsp" di dalamnya Kodnya adalah seperti berikut:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Spring MVC Home</title>
</head>
<body>
    <h1>${message}</h1>
</body>
</html>

Dalam kod di atas, kita Nilai atribut "mesej" dikeluarkan menggunakan ungkapan EL JSP.

Kini, kami boleh menjalankan aplikasi kami. Apabila laluan akar diakses, permintaan akan dikendalikan oleh kaedah home() dalam HomeController dan paparan akan diberikan dan dikembalikan kepada pengguna.

Untuk meringkaskan, artikel ini memperkenalkan beberapa aspek penting dalam rangka kerja Spring MVC secara terperinci, termasuk pemprosesan permintaan dan pemajuan, pemprosesan model dan paparan, pemaparan halaman, dsb. Melalui contoh kod khusus, kami membantu pembaca memahami dan menggunakan rangka kerja yang berkuasa ini dengan lebih baik. Saya harap artikel ini dapat membantu pembaca dan menjadikan mereka lebih selesa apabila menggunakan Spring MVC.

Atas ialah kandungan terperinci Penjelasan terperinci tentang Spring MVC: analisis mendalam tentang rangka kerja yang berkuasa ini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn