web.xml dans struts et comment il est configuré avec struts-config.xml
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
Le code ci-dessus a été généré automatiquement par mon IDE lorsque je choisis le framework struts pour mon projet. Je ne vois pas de servlet nommée action . Veuillez expliquer ce que cela xml signifie?
EDIT :
J'ai lu que ActionServlet a été configuré avec le struts-config.xml fichier. Comment il est configuré ?
<struts-config>
<form-beans>
<form-bean name="HelloWorldActionForm"
type="com.vaannila.HelloWorldActionForm"/>
<action-mappings>
<action input="/index.jsp" name="HelloWorldActionForm" path="/HelloWorld" scope="session" type="com.vaannila.HelloWorldAction">
<forward name="success" path="/helloWorld.jsp" />
</action>
</action-mappings>
Vous devez vous connecter pour publier un commentaire.
Le fichier de configuration indiqué dit ceci:
.do
seront traitées par une servlet nomméeaction
action
correspond à la classeorg.apache.struts.action.ActionServlet
ActionServlet
a été configuré dansweb.xml
, alors que dansstruts-config.xml
les différentsActionForm
s obtenir configurés; implicitement que ces utiliser leActionServlet
.Ici est de savoir comment Struts travaux:
Struts a un FrontController. Cela signifie que toutes les demandes passent par ce contrôleur. C'est le org.apache.jambes de force.d'action.ActionServlet. Cette classe est à l'aide de la struts-config de transmettre la requête à une autre classe.
Vous avez spécifié que chaque fois que l'URL: /HelloWorld est à la demande de l'ActionServlet est de transmettre la demande à la classe com.vaannila.HelloWorldAction Lorsque votre classe est de retour succès l'ActionServlet affichera la page jsp: helloWorld.jsp
Par défaut ActionServlet est configuré pour /WEB-INF/struts-config.xml fichier dans votre répertoire projet d'application web.
par exemple: si votre nom de projet est StrutsPractice ensuite, vous pouvez trouver le fichier de configuration par défaut dans le chemin /StrutsPractice/src/main/webapp/WEB-INF/struts-config.xml
Explicitement configurer l'ActionServlet ou vous souhaitez le configurer pour un fichier de config dans un chemin différent, alors vous pouvez le configurer comme ci-dessous dans web.xml