Penelitian utama dalam makalah ini adalah bahwa Struts Interceptor mengimplementasikan pencegat pengguna yang belum masuk. Implementasi spesifik adalah sebagai berikut.
Pertama -tama buat kelas alat:
CheckPrivilegeInterceptor: Kelas ini mewarisi Interceptor, yang merupakan antarmuka, dan membutuhkan tiga metode untuk diimplementasikan. Jika Anda berpikir ada lebih banyak, Anda dapat mewarisi kelas implementasinya AbstractInterceptor. Setelah mewarisi kelas ini, Anda hanya perlu menulis ulang satu metode, yaitu, mengontrol apakah akan masuk, izin apa yang akan terjadi setelah masuk, dll. Kode ini adalah sebagai berikut;
Paket com.cjdx.utils; impor javax.annotation.resource; impor org.hibernate.Session; impor org.hibernate.SessionFactory; impor com.cjdx.domain.user; import com.opensymphony.xwork2.actioncontext; impor com.opensymphony.xwork2.action2.acticing2; com.opensymphony.xwork2.interceptor.AbstractInceptor; // Periksa apakah Anda memiliki izin, di sini hanya memeriksa apakah Anda tahu apakah Anda masuk ke kelas publik checkPrivileGeInterceptor memperluas abstrak intrapterceptor {@Override public string (doa actionInvocation). Invocation.getProxy (). getNamespace (); string actionName = Invocation.getProxy (). getActionName (); string privilegeUrl = namespace + actionName; if (user == null) {// ifer tidak masuk if (privilegeurl.startswith ("/User_log (") if if (") Invocation.invoke ();} {return "LoginUi"; // Jika pengguna tidak masuk dan tidak masuk, buka halaman login}} else {return Invocation.invoke (); // Jika pengguna sudah masuk, jalankan metode yang sesuai}}}Kemudian konfigurasikan struts2.xml:
<!-Deklarasi Login Interceptor-> <sterceptors> <!-Deklarasikan pencegat yang telah Anda tulis-> <interceptor name = "checkPrivilege"> </sterceptor> <!-tambahkan interseptor yang dinyatakan tidak ada yang terlalu banyak. -> <interceptor-stack name = "DefaultStack"> <interceptor-ref name = "checkPrivilege"> </sterceptor-ref> <ePerceptor-ref name = "DefaultStack"> </sterceptor-ref> </pesepcor-stack> <!-<pesept-stack name = "MyStack"> <Interceptor-stack> <! <Interceptor-Ref Name = "DefaultStack"> </sterceptor-ref> </sterceptor-stack> <segerceptor-stack name = "defaultStack"> <interceptor-ref name = "mystack"> </sterceptor-ref> </interceptor-stack>-> </interceptors>
Di atas adalah semua konten dari artikel ini tentang analisis Struts Interceptor yang mencegat instance pengguna yang tidak dijalankan. Saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!