2012-04-04 52 views
2
<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> 

上述代码是由我的IDE在为我的项目选择struts框架时自动生成的。我没有看到任何名为的动作。请解释这个XML的含义?struts中的web.xml以及它如何使用struts-config.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> 

回答

5

中所示的配置文件这样说:

  • 终止于.do将由命名的servlet被处理的所有URL action
  • 命名action该servlet对应于类org.apache.struts.action.ActionServlet
+0

我读了_ActionServlet已经配置了struts-config.xml file_。你能解释一下吗?请参阅编辑 – saplingPro 2012-04-04 04:36:31

+0

@grassPro'ActionServlet'在'web.xml'中配置,而在'struts-config.xml'中配置不同的'ActionForm';隐含地这些使用'ActionServlet'。 – 2012-04-04 13:44:32

3

以下是Struts的工作原理:

Struts有一个FrontController。这意味着所有的请求都通过这个控制器。这是org.apache.struts.action.ActionServlet。此类使用struts-config将请求传递给其他类。

您已经指定了每次的网址:/HelloWorld的是请求的ActionServlet是将请求传递给类com.vaannila.HelloWorldAction当你的类将返回成功 ActionServlet的将显示在jsp:helloWorld.jsp

相关问题