/_struts分发请求的过程与相关配置
按照mvc模式设计出的web层框架其实就是一个大大的servlet
我们可以在webxml文件中将符合某种特征所有请求交给这个Servlet处理
这个servlet再参照一个配置文件(strutsconfigxml)将各个请求分配给不同的action去处理
根据struts提供的例子
[html]Java/UploadFiles_//gif); BORDERBOTTOMSTYLE: none; PADDINGBOTTOM: px; BORDERRIGHTSTYLE: none; TEXTINDENT: px; MARGIN: px px px px; PADDINGLEFT: px; WIDTH: px; PADDINGRIGHT: px; DISPLAY: inlineblock; BACKGROUNDPOSITION: % %; BORDERTOPSTYLE: none; HEIGHT: px; COLOR: rgb(); FONTSIZE: px; BORDERLEFTSTYLE: none; TEXTDECORATION: none; PADDINGTOP: px class=ViewSource title=view plain >view plainJava/UploadFiles_//gif); BORDERBOTTOMSTYLE: none; PADDINGBOTTOM: px; BORDERRIGHTSTYLE: none; TEXTINDENT: px; MARGIN: px px px px; PADDINGLEFT: px; WIDTH: px; PADDINGRIGHT: px; DISPLAY: inlineblock; BACKGROUNDPOSITION: % %; BORDERTOPSTYLE: none; HEIGHT: px; COLOR: rgb(); FONTSIZE: px; BORDERLEFTSTYLE: none; TEXTDECORATION: none; PADDINGTOP: px class=CopyToClipboard title=copy >copy
xml><formid=LogonFormmethod=postaction=/strutsmailreader/SubmitLogondo;
jsessionid=FADEABCEFBFFDFDCAAAonsubmit=returnvalidateLogonForm(this);>
查看源代码后知道提交后交给/SubmitLogondo
在webxml文件中查找/SubmitLogondo没有找到有通配符*do
[html]view plaincopy
xml><!ActionServletConfiguration>
<servlet>
<servletname>action</servletname>
<servletclass>orgapachestrutsactionActionServlet</servletclass>
<initparam>
<paramname>config</paramname>
<paramvalue>/WEBINF/strutsconfigxml</paramvalue>
</initparam>
<loadonstartup></loadonstartup>
</servlet>
<!ActionServletMapping>
<servletmapping>
<servletname>action</servletname>
<urlpattern>*do</urlpattern>
</servletmapping>
action对应一个叫ActionServlet的类
查询strutsconfigxml中/SubmitLogon不能加do后缀名可以改变
[html]view plaincopy
xml><!Processauserlogon>
<action
path=/SubmitLogon
type=orgapachestrutsappsmailreaderactionsLogonAction
name=LogonForm
scope=request
cancellable=true
validate=true
input=Logon>
<exception
key=expiredpassword
type=orgapachestrutsappsmailreaderdaoExpiredPasswordException
path=/ChangePassworddo/>
<forward
name=Success
path=/MainMenudo/>
</action>
而注册页面的转到/SaveRegistrationdo却找不到有*号通配符防止膨胀
<action path=//BaseAction
input=Input
type=orgapachestrutsappsmailreaderactions{}Action
name={}Form
scope=request>
<forward
name=Success
path=/{}jsp/>
<forward
name=Input
path=/{}jsp/>
</action>
<action
path=/Save*
extends=//BaseAction
parameter=Save
cancellable=true
validate=true> //是否需要校验
<forward
name=Success
path=/MainMenudo/>
</action>
_struts封装请求参数的过程与相关配置
将参数封装成formbean对象(就是一个java类)这个类的每一个属性对应一个请求参数Formbean有一个validata的方法
src=http://imgeducitycn/img_///gif>