<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>
当我为我的项目选择struts框架时,我的IDE会自动生成上面的代码。我没有看到任何名为 action 的servlet。请解释这个xml的含义是什么?
编辑:
我读到ActionServlet已经配置了struts-config.xml文件。如何配置?
<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>
答案 0 :(得分:5)
显示的配置文件显示:
.do
结尾的所有网址都将由名为action
action
的servlet对应于类org.apache.struts.action.ActionServlet
答案 1 :(得分:3)
以下是Struts的工作原理:
Struts有一个FrontController。这意味着所有请求都通过此控制器。这是org.apache.struts.action.ActionServlet。该类使用 struts-config 将请求传递给其他类。
您已指定每次URL: / HelloWorld 请求ActionServlet将请求传递给类 com.vaannila.HelloWorldAction 当您的类返回时成功 ActionServlet将显示jsp: helloWorld.jsp
答案 2 :(得分:0)
默认情况下,ActionServlet被配置为Web应用程序项目目录下的/WEB-INF/struts-config.xml文件。
例如:如果您的项目名称为StrutsPractice,则可以在路径/StrutsPractice/src/main/webapp/WEB-INF/struts-config.xml中找到默认配置文件
要显式配置ActionServlet或要将其配置为其他路径中的配置文件,则可以像下面在web.xml中进行配置
<servlet>
<servlet-name>strutspractice</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>strutspractice</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>