struts1中jsp页面中的<form action="/hello">和<form action="hello.do">有什么区别

struts1中jsp页面中的和有什么区别,难道是一样的吗?能不能详细解释下页面的action和struts1.xml中的关系,他们是怎么映射的,靠什么样的名字,寻找的?谢谢

1,action后面写成/hello不可以,会出现错误提示找不到路径,必须要写成/hello.do 至于前面的反斜线是绝对路径与相对路径的问题。
2,映射关系,打开WebRoot》WEB-INF》web.xml配置文件 找到<servlet-mapping> 下面有个*.do 这个可以改成任意比如*.jspx *.html 都可以 不管你改成什么 只要在JSP页面的action中填入一样的扩展名 程序就会交给符合名字的action去处理, 比如你的项目中有一个名为login的action,web.xml配置为*.jspx 那么你只要在JSP页面中写上<form action="/login.jspx"> 表单提交以后 程序就会自动交给login这个action去处理了
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-11
当然不一样; 这和你的web.xml里的配置是有关系的,像这样<servlet-mapping>
<servlet-name>BashMS</servlet-name>
<url-pattern>/*.do</url-pattern>
</servlet-mapping>这里已经有了/*.do了你第一种的如果再指向一个/hello将相当于//hello,这样是没法显示的,而第二种是可以的,相反一样的,就看你怎么配置!
相似回答