读书人

关于struts中action servlet的映射有关

发布时间: 2012-10-31 14:37:32 作者: rapoo

关于struts中action servlet的映射问题?
初学struts 有一个问题没弄明白,就是关于如何把请求转交到action servlet处理,以下具体说一下:
在web.xml中定义的映射规则是
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
(好像这种形式比较安全)

而在实际的页面中的一个请求是这样的:
<html:form action="/adminCpasswd">
<html:hidden property="action"/>
<tr>
<td height="18" bgcolor="#FFFFFF"> <table width="100%" border="0" cellpadding="5" cellspacing="0">
......(中间略,太长了)
<tr>
<td height="18" bgcolor="#FFFFFF">
<html:submit stylename="adminCpaswdForm" path="/adminCpasswd" scope="request" type="com.laoer.bbscs.web.action.AdminCpasswd" validate="true">
<forward name="admincpasswd" path="admin.cpasswd" />
</action>
...
</action-mappings>

问题就是既然在web.xml中的定义的映射规则是以.do结尾的请求才会交给action servlet处理,而我看到的往往都是上面这种形式的的action(如上面的action="/adminCpasswd"),并没有以.do结尾,却也能交给它处理,这是怎么事,要是这样也能处理,那不是几乎所有的相对路径形式的请求都会交到struts的action servlet去处理,那上web.xml中的映射定义不是没起到作用,能不能帮忙解释一下,到底什么样的请求会转交到struts去处理,谢谢! 1 楼 魔力猫咪 2008-05-12 HTML:FORM标签是Struts自己的标签,所以不需要用.do结尾。如果是普通form标签,则必须加。

读书人网 >软件架构设计

热点推荐