注意,考虑以下代码:
----------------------------------------------------------------------------------
jsp页面里的代码如下:
<html:form action="/login.adfadf"> 《---------注意这里的路径
userName : <input type="text" name="userName"/><br/>
<html:submit/><html:cancel/>
</html:form>
----------------------------------------------------------------------------------
struts-config.xml里的相应配置如下:
<action
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="request"
type="com.lrm.struts.action.LoginAction"
validate="false" />
----------------------------------------------------------------------------------
web.xml里的相应配置如下:
<servlet>
<servlet-name>action</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>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.haha</url-pattern> 《------注意这里配置的路径
</servlet-mapping>
----------------------------------------------------------------------------------
当点击jsp页面里的submit按钮时,结果是能够正常提交,并能够正确的找到相应的action,此时地址栏里显示的路径是login.haha
如果把上面jsp里面的代码改动如下:
----------------------------------------------------------------------------------
<form action="login.adfadf"> 《---------注意这里的路径
userName : <input type="text" name="userName"/><br/>
<html:submit/><html:cancel/>
</form>
结果是不能够访问,报404错误
----------------------------------------------------------------------------
如果再将jsp里的代码改动如下:
<form action="login.haha"> 《---------注意这里的路径
userName : <input type="text" name="userName"/><br/>
<html:submit/><html:cancel/>
</form>
结果是能够正常访问。
-----------------------------------------------------------------------------
结论:struts里的action不一定必须是以.do结尾,究竟以什么结尾取决于在web.xml里的配
置,如果你配置了.haha那么当你使用struts的form标签的时候,它会自动的把from里的
action路径加工成.haha形式的(即使你已经给form的action指定的为/login.do的形式)。但如果你使用的是普通form标签,那么你就必须要保证给其所指定的action要以一定.haha结尾,这样才能找到相应的action。
----------------------------------------------------------------------------------
jsp页面里的代码如下:
<html:form action="/login.adfadf"> 《---------注意这里的路径
userName : <input type="text" name="userName"/><br/>
<html:submit/><html:cancel/>
</html:form>
----------------------------------------------------------------------------------
struts-config.xml里的相应配置如下:
<action
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="request"
type="com.lrm.struts.action.LoginAction"
validate="false" />
----------------------------------------------------------------------------------
web.xml里的相应配置如下:
<servlet>
<servlet-name>action</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>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.haha</url-pattern> 《------注意这里配置的路径
</servlet-mapping>
----------------------------------------------------------------------------------
当点击jsp页面里的submit按钮时,结果是能够正常提交,并能够正确的找到相应的action,此时地址栏里显示的路径是login.haha
如果把上面jsp里面的代码改动如下:
----------------------------------------------------------------------------------
<form action="login.adfadf"> 《---------注意这里的路径
userName : <input type="text" name="userName"/><br/>
<html:submit/><html:cancel/>
</form>
结果是不能够访问,报404错误
----------------------------------------------------------------------------
如果再将jsp里的代码改动如下:
<form action="login.haha"> 《---------注意这里的路径
userName : <input type="text" name="userName"/><br/>
<html:submit/><html:cancel/>
</form>
结果是能够正常访问。
-----------------------------------------------------------------------------
结论:struts里的action不一定必须是以.do结尾,究竟以什么结尾取决于在web.xml里的配
置,如果你配置了.haha那么当你使用struts的form标签的时候,它会自动的把from里的
action路径加工成.haha形式的(即使你已经给form的action指定的为/login.do的形式)。但如果你使用的是普通form标签,那么你就必须要保证给其所指定的action要以一定.haha结尾,这样才能找到相应的action。