Rumah  >  Artikel  >  Java  >  Pemahaman mendalam tentang prinsip kerja dan aplikasi praktikal rangka kerja Struts

Pemahaman mendalam tentang prinsip kerja dan aplikasi praktikal rangka kerja Struts

WBOY
WBOYasal
2024-01-04 10:26:53933semak imbas

Pemahaman mendalam tentang prinsip kerja dan aplikasi praktikal rangka kerja Struts

Memahami mekanisme dalaman dan aplikasi praktikal rangka kerja struts memerlukan contoh kod khusus

Pengenalan:
Struts ialah rangka kerja pembangunan aplikasi web berdasarkan seni bina MVC Ia menyediakan set perpustakaan kelas dan API yang kaya untuk membantu pembangun Menyusun dan mengurus aplikasi web dengan cekap. Memahami mekanisme dalaman dan aplikasi praktikal rangka kerja Struts akan membantu kami menggunakan rangka kerja ini dengan lebih baik untuk membangunkan aplikasi Web yang berkuasa, stabil dan boleh dipercayai. Artikel ini akan memperkenalkan mekanisme dalaman Struts secara terperinci dan memberikan beberapa contoh kod aplikasi praktikal.

1. Mekanisme dalaman rangka kerja Struts
1.1 Lapisan Pengawal (Pengawal)
Lapisan pengawal Struts menggunakan ActionServlet untuk mengendalikan permintaan pengguna. Apabila pengguna menghantar permintaan, ActionServlet bertanggungjawab untuk mengedarkan permintaan kepada kelas Action yang sepadan untuk diproses. Kelas Tindakan ialah teras logik perniagaan Ia menerima permintaan pengguna dan memprosesnya mengikut keperluan perniagaan, dan akhirnya menjana hasil yang sepadan.

1.2 Lapisan Model
Lapisan model Struts menggunakan JavaBean untuk merangkum data perniagaan. JavaBean ialah objek Java biasa, yang mengandungi satu siri sifat peribadi dan kaedah dapatkan dan tetapkan awam untuk mengakses dan mengubah suai nilai harta. Rangka kerja Struts menggunakan JavaBeans sebagai objek entiti dalam lapisan model JavaBeans boleh digunakan dalam kelas Tindakan untuk menerima, memproses dan mengembalikan data.

1.3 Lapisan Lihat (Lihat)
Lapisan paparan Struts menggunakan halaman JSP untuk memaparkan data kepada pengguna. Halaman JSP boleh mengakses JavaBeans dalam lapisan model melalui ungkapan EL dan perpustakaan tag JSTL, dan memaparkan data secara dinamik kepada pengguna. Dalam rangka kerja Struts, kita boleh menganggap halaman JSP sebagai lapisan paparan, digunakan untuk memaparkan dan mempersembahkan data.

2. Aplikasi praktikal rangka kerja Struts
Di bawah kami akan memberikan beberapa contoh kod aplikasi praktikal untuk membantu pembaca lebih memahami cara menggunakan rangka kerja Struts.

2.1 Tentukan Kelas Tindakan
Pertama, dalam rangka kerja Struts, kita perlu mentakrifkan kelas Tindakan untuk mengendalikan permintaan pengguna. Di bawah ialah contoh kelas Tindakan yang mudah.

public class HelloWorldAction extends Action {
   public ActionForward execute(ActionMapping mapping, ActionForm form, 
      HttpServletRequest request, HttpServletResponse response) throws Exception {
      
      HelloWorldForm helloWorldForm = (HelloWorldForm) form;
      String message = "Hello, " + helloWorldForm.getName() + "!";
      request.setAttribute("message", message);
      
      return mapping.findForward("success");
   }
}

Dalam kod di atas, kami mentakrifkan kelas HelloWorldAction, yang mewarisi daripada kelas Action Struts. Dalam kaedah pelaksanaan, kami mula-mula mendapatkan nama yang dimasukkan oleh pengguna daripada ActionForm, kemudian menjana mesej alu-aluan dan menetapkannya kepada atribut permintaan, dan akhirnya mengembalikan objek ActionForward yang menunjukkan halaman mana yang akan dikembalikan.

2.2 Buat halaman JSP
Seterusnya, kita perlu mencipta halaman JSP untuk memaparkan data. Di bawah ialah contoh halaman JSP yang mudah.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<title>Hello World</title>
</head>
<body>
   <h2>${message}</h2>
</body>
</html>

Dalam kod di atas, kami menggunakan ungkapan EL ${message} untuk mengakses atribut mesej yang ditetapkan dalam kelas Tindakan dan memaparkannya kepada pengguna. ${message}来访问Action类中设置的message属性,将其展示给用户。

2.3 配置Struts配置文件
最后,我们需要配置Struts的配置文件来将请求映射到相应的Action类和JSP页面。下面是一个简单的配置文件示例。

<struts-config>
   <form-beans>
      <form-bean name="helloWorldForm" type="com.example.HelloWorldForm"/>
   </form-beans>
   
   <global-forwards>
      <forward name="success" path="/helloWorld.jsp"/>
   </global-forwards>
   
   <action-mappings>
      <action path="/hello" type="com.example.HelloWorldAction" 
         name="helloWorldForm" scope="request" validate="false">
         <forward name="success" path="/helloWorld.jsp"/>
      </action>
   </action-mappings>
</struts-config>

在上面的配置文件中,我们定义了一个名为hello的请求路径,将其映射到HelloWorldAction类,并将表单数据绑定到名为helloWorldForm的ActionForm类。最后,我们定义了一个名为success

2.3 Konfigurasikan fail konfigurasi Struts

Akhir sekali, kami perlu mengkonfigurasi fail konfigurasi Struts untuk memetakan permintaan ke kelas Tindakan dan halaman JSP yang sepadan. Di bawah ialah contoh fail konfigurasi mudah.
rrreee

Dalam fail konfigurasi di atas, kami mentakrifkan laluan permintaan bernama hello, memetakannya ke kelas HelloWorldAction dan mengikat data borang ke kelas bernama helloWorldForm code> kelas ActionForm . Akhir sekali, kami mentakrifkan pemaju global bernama <code>kejayaan untuk memaparkan keputusan ke halaman JSP pengguna. 🎜🎜Kesimpulan: 🎜Melalui pengenalan artikel ini kepada mekanisme dalaman dan aplikasi praktikal rangka kerja Struts, kita dapat melihat bahawa Struts ialah rangka kerja pembangunan aplikasi web yang berkuasa dan mudah digunakan. Seni bina MVCnya boleh membantu pembangun mengatur dan mengurus aplikasi web dengan lebih baik, serta menyediakan perpustakaan kelas yang kaya dan API. Melalui contoh kod khusus, kita boleh lebih memahami cara menggunakan rangka kerja Struts. Pembaca diharapkan dapat menguasai konsep teras dan teknologi rangka kerja Struts melalui pembelajaran dan amalan, dan menggunakannya untuk membina aplikasi Web yang stabil dan boleh dipercayai. 🎜

Atas ialah kandungan terperinci Pemahaman mendalam tentang prinsip kerja dan aplikasi praktikal rangka kerja Struts. 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