Katsotaan uudelleen – Strutsi Action luokat

Struts Action Classes

Strutsi Action luokat

Käyttöönotto

Apache Struts on avoimen lähdekoodin puitteet tarkoitus kehittää JSP tai servlet pohjainen web-sovellus. Strutsi laajentaa Java servlet API ja perustuu MVC-arkkitehtuuri tai MVC suunnittelumalli. Toiminta Class Strutsi puitteissa määritellään ansaintalogiikka. Toiminta luokka käsittelee asiakkaan pyynnöstä ja valmistelee vastausta. Se päättää myös, jos vastaus olisi välitettävä. Pohjimmiltaan kanteen luokan vastaanottaa dataa esityskerroksen ja lähettää datan edelleen vastaavan liiketoiminnan kerros. Se myös käsittelee tiedot, jotka tulee liike kerroksen ja lähettää ne takaisin esityskerroksen. In short, kanne luokka kuvataan –

  • Toiminta luokka pitäisi ulottua [koodi] apache.struts.action.Action [/koodi] luokka.
  • Jos ohittaa [koodi] suorittaa [/koodi] menetelmä [koodi] Toiminta [/koodi] luokka.
  • Action Servlet valitsee Action luokan saapuvan http pyynnön määritelty toiminnan kartoitus -koodia [koodi] struts config.xml [/koodi] tiedosto.
  • Nämä luokat ovat tottuneet vedota luokat liike kerros tai tietojen saatavuutta kerros saada tietoja papu ja tallentaa käsitellyt tiedot ja palauttaa tuloksen tai virheestä riippuen tilanteesta.
  • Nämä luokat Säikeistetyt. Siksi kehittäjä on oltava varovainen käsiteltäessä kanteen muuttuja, koska ne eivät kierrä turvallisia.

Tyyppisiä toimia luokat

Olemme seuraavanlaisia ​​toimia luokkia kannattimet –

  • Toiminta – Perus toiminta luokka, jossa me toteutamme ansaintalogiikka.
  • Sisällytä Action – Samanlaisia ​​kuin sisältää sivun direktiivin JSP.
  • eteenpäin Action – Käytetään tapauksessa meidän täytyy välittää pyynnön yhdeltä JSP toiseen. Jos me suoraan välittää pyynnön yhdeltä JSP se rikkoo MVC arkkitehtuuri. Siten kanne luokka on tapana tehdä tätä työtä.
  • Dispatch Action – Käsittelee useita operaatioita useassa menetelmät. On parempi olla yksi tapa kohti toiminnan sijasta yhdistämällä koko liiketoiminnan logiikkaa yhdessä suorittamaan menetelmän kanteen luokan.
  • Katso ylös Dispatch Action – Sama kuin lähettäminen toimiin, mutta suositeltavaa olla käyttämättä.
  • kytkin Toiminta – käytetään siirtyä eri moduulien tukipuut sovellus.

Yleisimmin käytetty toiminta luokat ovat –

  • Toiminta
  • Dispatch Action

Action Class

Tämä on perusta toiminta luokan kannattimet. Tässä kehittäjä tarvitsee ohittaa suorittaa menetelmän mukaisesti -

[koodi]

package com.home.upload.action ;

tuoda java.io.IOException ;

tuoda java.util.HashMap ;

tuoda java.util.Map ;

tuoda javax.servlet.ServletException ;

tuoda javax.servlet.http.HttpServletRequest ;

tuoda javax.servlet.http.HttpServletResponse ;

tuoda org.apache.log4j.Logger ;

tuoda org.apache.struts.action.Action ;

tuoda org.apache.struts.action.ActionForm ;

tuoda org.apache.struts.action.ActionForward ;

tuoda org.apache.struts.action.ActionMapping ;

tuoda org.apache.struts.upload.FormFile ;

tuoda com.home.upload.action.forms.UploadForm ;

tuoda com.home.upload.service.FileUploadService ;

tuoda com.home.upload.service.impl.FileUploadServiceImpl ;

tuoda com.home.upload.util.UploadConstants ;

/**

* @author TechAlpine

*/

julkinen luokka FileUploadAction ulottuu Toiminta {

yksityinen staattinen metsuri metsuri = metsuri.getLogger(FileUploadAction.luokka);

julkinen ActionForward suorita(ActionMapping kartoitus, ActionForm muoto, HttpServletRequest pyyntö,

HttpServletResponse vastaus) heittää IOException, ServletException {

jos (lomake != nolla) {

Lataa Form lataa muodossa = (UploadForm) lomake;

FormFile tiedosto1 = uploadForm.getFilePath1 ();

FormFile tdsto2 = uploadForm.getFilePath2 ();

FormFile file3 = uploadForm.getFilePath3 ();

Kartta< Jono, byte[] > fileMap = uusi HashMap< Jono, byte[] > ();

fileMap.put(file1.getFileName(), file1.getFileData());

fileMap.put(file2.getFileName(), file2.getFileData());

fileMap.put(file3.getFileName(), file3.getFileData());

FileUploadService uploadService = uusi FileUploadServiceImpl ();

jos (uploadService.doUpload (

getServlet().getServletContext().getRealPath(“/”).concat( UploadConstants.UPLOAD_FOLDER), fileMap )

.koko() > 0) {

metsuri.debug( “Upload on onnistunut” );

uploadForm.setUploadFlag(UploadConstants.UPLOAD_SUCCESS);

} else {

metsuri.debug( ” Tiedostonsiirto epäonnistui ” );

uploadForm.setUploadFlag(UploadConstants.UPLOAD_FAILURE);

}

}

return (mapping.findForward(UploadConstants.UPLOAD_SUCCESS));

}

}

[/koodi]

The [koodi] struts config.xml [/koodi] tiedosto tämän toiminnan luokan pitäisi olla yhtä alla -

[koodi]

<?xml version = “1.0” koodaus = “ISO-8859-1” ?>

<!DOCTYPE kannattimet-config JULKISEN ” -//Apache Software Foundation // DTD Strutsi Configuration 1.1 // EN” “http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd”>

<struts-config>

<lomake-pavut>

<lomake-papu name = “LoginForm” type = “com.home.upload.action.forms.LoginForm” />

<lomake-papu name = “menu Form” type = “com.home.upload.action.forms.MenuForm” />

<lomake-papu name = “UploadForm” type = “com.home.upload.action.forms.UploadForm” />

</lomake-pavut>

<globaali-eteenpäin />

<toiminta-kuvaukset>

<toiminta path = “/Kirjaudu sisään” type = “com.home.upload.action.LoginAction” name = “LoginForm” input = “/login.jsp” >

<eteenpäin name = “success” path = “/menu.jsp” />

<eteenpäin name = “vika” path = “/loginFailure.jsp” />

</action>

<toiminta path = “/menuAction” type = “com.home.upload.action.MenuAction” name = “menu Form” input = “/menu.jsp” parametri = “menetelmä” >

<eteenpäin name = “lataa” path = “/fileUpload.jsp” />

<eteenpäin name = “listfiles” path =“/listUploadedFiles.jsp” />

</action>

<toiminta path = “/uploadAction” type = “com.home.upload.action.FileUploadAction” name =“UploadForm” input =“/fileUpload.jsp” >

<eteenpäin name =“uploadSuccess” path =“/uploadSuccess.jsp” />

</action>

</toiminta-kuvaukset>

<sanoma-resurssit parametri = “ApplicationResources” />

<plug-in classname = “org.apache.struts.validator.ValidatorPlugIn” >

<set-ominaisuus ominaisuus = “polkunimiä”

arvo = “/WEB-INF / validator-rules.xml,/WEB-INF / validation.xml” />

</kytkeä>

</struts-config>

[/koodi]

Kuten näemme yllä olevassa esimerkissä, että jos luokka ulottuu perus Action luokka pitäisi ohittaa [koodi] suorittaa [/koodi] menetelmä. Myös tuet config tiedosto on vain yksi eteenpäin polku vastaa [koodi] uploadAction [/koodi].

Dispatch Action

Postilähetysten toiminta luokka ulottuu myös perus- toiminnan luokan. Tämä luokka on etulyöntiasema toimia luokan, että se ei on nimenomaisesti ohittaa suorittaa tapa eikä kehittäjät voivat vapaasti kirjoittaa omia menetelmiä. Sen avulla kehittäjät voivat käyttää samaa toiminnan luokat useille virtojen. Klassinen esimerkki käyttää lähettäminen toiminta luokan tapauksessa käsittelyyn valikon toimintoja kuten alla -

[koodi]

package com.home.upload.action ;

tuoda java.io.File ;

tuoda java.io.IOException ;

tuoda java.util.List ;

tuoda javax.servlet.ServletException ;

tuoda javax.servlet.http.HttpServletRequest ;

tuoda javax.servlet.http.HttpServletResponse ;

tuoda org.apache.log4j.Logger ;

tuoda org.apache.struts.action.ActionForm ;

tuoda org.apache.struts.action.ActionForward ;

tuoda org.apache.struts.action.ActionMapping ;

tuoda org.apache.struts.actions.DispatchAction ;

tuoda com.home.upload.action.forms.MenuForm ;

tuoda com.home.upload.service.FileUploadService ;

tuoda com.home.upload.service.impl.FileUploadServiceImpl ;

tuoda com.home.upload.util.UploadConstants ;

/**

* @author TechAlpine

*/

julkinen luokka MenuAction ulottuu DispatchAction {

yksityinen staattinen metsuri metsuri = metsuri.getLogger( MenuAction.luokka );

julkinen ActionForward upload( ActionMapping kartoitus, ActionForm muoto, HttpServletRequest pyyntö,

HttpServletResponse vastaus ) heittää IOException, ServletException {

return ( mapping.findForward ( UploadConstants.LÄHETÄ ) );

}

julkinen ActionForward listFiles( ActionMapping kartoitus, ActionForm muoto, HttpServletRequest pyyntö,

HttpServletResponse vastaus ) heittää IOException, ServletException {

FileUploadService uploadService = uusi FileUploadServiceImpl ();

String stagingLocation = getServlet().getServletContext().getRealPath( “/” ). concat( UploadConstants.UPLOAD_FOLDER );

Menu Form menu muotoon = (menu Form) lomake;

jos ((uusi File( stagingLocation ) ).olemassa() ) {

Lista<Jono> Tiedostonimet = uploadService.getFileNames( stagingLocation );

jos (fileNames.size() > 0 ) {

menuForm.setFiles( tiedostonimet );

menuForm.setListFlag ( UploadConstants.TOTTA );

} else {

menuForm.setListFlag ( UploadConstants.VÄÄRÄ );

}

} else {

menuForm.setListFlag( UploadConstants.VÄÄRÄ );

}

metsuri.tiedot( ” palaavat LIST “);

return (mapping.findForward(UploadConstants.LIST_UPLOADED_FILES));

}

}

[/koodi]

Kuten näemme tässä on kaksi tapaa, jotka käsittelevät pyynnön käyttäjältä. Nämä kaksi menetelmää on määritelty [koodi] struts config.xml [/koodi] kuten alla -

[koodi]

<toiminta path = “/menuAction” type = “com.home.upload.action.MenuAction” name = “menu Form” input = “/menu.jsp” parametri = “menetelmä” >

<eteenpäin name = “lataa” path = “/fileUpload.jsp” />

<eteenpäin name = “listfiles” path = “/listUploadedFiles.jsp” />

</action>

[/koodi]

Nämä kaksi menetelmää – ladata ja listfiles on merkitty kaksi kertaa vastaan ​​kanteen luokka – MenuAction. Kukin näistä menetelmistä on esitetty erillisiä reittejä, joihin se olisi ohjata vaste.

Johtopäätös

  • Strutsi on avoimen lähdekoodin puitteet käytetään Java-pohjainen web-sovellus.
  • Strutsi perustuu MVC-arkkitehtuuri – MVC suunnittelumalli.
  • Kannattimet on viisi eri toiminta luokkiin, joista yleisimmin käytettyjä ovat –
    • Toiminta
    • DispatchAction
  • Action luokka on perustaa luokan, johon kaikki toiminta luokkia olisi katettava.
  • Luokat ulottuvat Action luokka pitäisi ohittaa suorittaa menetelmän.
  • Luokat ulottuvat lähettämisen toiminta luokka on omat toimintaa eteenpäin menetelmät.
  • Luokat ulottuvat lähettämisen toiminta luokka voi olla useita toimintaa eteenpäin menetelmiä siis tulossa hyödyllinen, jos useita valinnaisia ​​virtojen.

 

Tagged on:
============================================= ============================================== Osta parhaat tekniset kirjat Amazonista,en,sähköasentaja CT -kastaja,en
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share