کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش مدیریت وابستگی در Spring به وسیله Struts

Spring web

Spring با struts2

ادغام Spring و struts2

فریمورک Spring راهی آسان برای مدیریت وابستگی ها ارائه می کند. این فریمورک به سادگی می تواند با فریمورک struts2 ادغام شود. از کلاس ContextLoaderListener برای ارتباط برنامه Spring با struts2 استفاده می شود که باید در فایل web.xml تعیین شود.

مراحل زیر را انجام دهید :

1- برنامه کاربردی struts2 را ایجاد کنید و فایل های jar مربوط به Spring را اضافه کنید.

2- در فایل web.xml کلاس ContextLoaderListener را تعریف کنید.

3- در فایل struts.xml برای کلاس action نام bean را تعریف کنید.

4- در فایل applicationContext.xml، bean را ایجاد کنید. نام کلاس آن باید نام کلاس action باشد. به عنوان مثال، com.javatpoint.Login و شناسه باید با کلاس action فایل struts.xml، مطابقت کند (برای مثال login).

5- در کلاس action، خصیصه اضافی مانند پیام(message) را تعریف کنید.


مثال ادغام Spring و struts2

برای برنامه کاربردی ساده Spring و struts2 فایل های زیر را ایجاد کنید :

  1. index.jsp
  2. web.xml
  3. struts.xml
  4. applicationContext.xml
  5. Login.java
  6. welcome.jsp
  7. error.jsp

index.jsp :

این صفحه نام را از کاربر می گیرد.

< %@ taglib uri="/struts-tags" prefix="s"%>  
   
< s:form action="login">  
< s:textfield name="userName" label="UserName">< /s:textfield>  
< s:submit>< /s:submit>  
< /s:form>

web.xml :

کلاس کنترلر برای struts2 و کلاس شنونده ContextLoaderListener برای ایجاد ارتباط بین برنامه Spring و struts2 را تعریف می کند.

< ?xml version="1.0" encoding="UTF-8" ?>
  
< web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
   < welcome-file-list>  
      < welcome-file>index.jsp< /welcome-file>  
   < /welcome-file-list>  
   < filter>  
      < filter-name>struts2< /filter-name>  
      < filter-class>  
           org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter  
      < /filter-class>  
   < /filter>  
     
< listener>   
< listener-class>org.springframework.web.context.ContextLoaderListener< /listener-class>   
< /listener>   
    
  < filter-mapping>  
     < filter-name>struts2< /filter-name>  
     < url-pattern>/*< /url-pattern>  
  < /filter-mapping>  
     
  < /web-app>  

struts.xml :

پکیج را با action و result تعریف می کند. در اینجا، نام کلاس action، login است که در فایل applicationContext.xml مورد جستجو واقع می شود.

< ?xml version="1.0" encoding="UTF-8" ?>
  
< !DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
  
< struts>  
< package name="abc" extends="struts-default">  
< action name="login" class="login">  
< result name="success">welcome.jsp< /result>  
< /action>  
   
< /package>  
   
< /struts>  

applicationContext.xml :

یک bean با شناسه ورود تعریف می کند. این bean ها با کلاس mypack.Login مطابقت دارد. در اینجا به عنوان کلاس action در نظر گرفته می شود. باید داخل دایرکتوری WEB-INF قرار گیرد.

< ?xml version="1.0" encoding="UTF-8" ?>
  
< beans 
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">  
  
< bean id="login" class="mypack.Login">  
< property name="message" value="Welcome Spring">< /property>  
< /bean>  
   
< /beans>  

Login.java :

دو خصیصه نام کاربری و پیام را به همراه متد execute که success را باز میگرداند، تعریف می کند :

package mypack;  
public class Login {  
private String userName,message;  
  
public String getMessage() {  
    return message;  
}  
public void setMessage(String message) {  
    this.message = message;  
}  
public String getUserName() {  
    return userName;  
}  
public void setUserName(String userName) {  
    this.userName = userName;  
}  
public String execute(){  
    return "success";  
}  
}  

welcome.jsp :

مقادیر خصیصه های نام کاربری و پیام را چاپ می کند.

<%@ taglib uri="/struts-tags" prefix="s"%>  
  
Welcome, < s:property value="userName" />< br />

$ {message}   

error.jsp :

صفحه خطا است. اما در این مثال مورد نیاز نیست زیرا هیچ منطقی(logic) را در متد execute از کلاس action تعریف نمی کنیم.

Sorry!

خروجی :

struts 2 and spring integration 1
spring and struts 2 integration 2
1399/01/27 1688 417
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...