/_struts分發請求的過程與相關配置
按照mvc模式設計出的web層框架其實就是一個大大的servlet
我們可以在webxml文件中將符合某種特征所有請求交給這個Servlet處理
這個servlet再參照一個配置文件(strutsconfigxml)將各個請求分配給不同的action去處理
根據struts提供的例子
[html] Java/UploadFiles_
/
/
gif); BORDER
BOTTOM
STYLE: none; PADDING
BOTTOM:
px; BORDER
RIGHT
STYLE: none; TEXT
INDENT:
px; MARGIN:
px
px
px
px; PADDING
LEFT:
px; WIDTH:
px; PADDING
RIGHT:
px; DISPLAY: inline
block; BACKGROUND
POSITION:
%
%; BORDER
TOP
STYLE: none; HEIGHT:
px; COLOR: rgb(
); FONT
SIZE:
px; BORDER
LEFT
STYLE: none; TEXT
DECORATION: none; PADDING
TOP:
px
class=ViewSource title=
view plain
>view plainJava/UploadFiles_
/
/
gif); BORDER
BOTTOM
STYLE: none; PADDING
BOTTOM:
px; BORDER
RIGHT
STYLE: none; TEXT
INDENT:
px; MARGIN:
px
px
px
px; PADDING
LEFT:
px; WIDTH:
px; PADDING
RIGHT:
px; DISPLAY: inline
block; BACKGROUND
POSITION:
%
%; BORDER
TOP
STYLE: none; HEIGHT:
px; COLOR: rgb(
); FONT
SIZE:
px; BORDER
LEFT
STYLE: none; TEXT
DECORATION: none; PADDING
TOP:
px
class=CopyToClipboard title=copy >copy
xml>
<form id=LogonForm method=post action=/strutsmailreader/SubmitLogondo;
jsessionid=FADEABCEFBFFDFDCAAA onsubmit=return validateLogonForm(this);>
查看源代碼後知道提交後交給/SubmitLogondo
在webxml文件中查找/SubmitLogondo沒有找到有通配符*do
[html] view plaincopy
xml>
<! Action Servlet Configuration >
<servlet>
<servletname>action</servletname>
<servletclass>orgapachestrutsactionActionServlet</servletclass>
<initparam>
<paramname>config</paramname>
<paramvalue>/WEBINF/strutsconfigxml</paramvalue>
</initparam>
<loadonstartup></loadonstartup>
</servlet>
<! Action Servlet Mapping >
<servletmapping>
<servletname>action</servletname>
<urlpattern>*do</urlpattern>
</servletmapping>
action對應一個叫ActionServlet的類
查詢strutsconfigxml中/SubmitLogon不能加do後綴名可以改變
[html] view plaincopy
xml>
<! Process a user logon >
<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>
而注冊頁面的轉到/SaveRegistration
do卻找不到
有*號通配符防止膨脹
<action path=
//BaseAction
input=
Input
type=
org
apache
struts
apps
mailreader
actions
{
}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=
/MainMenu
do
/>
</action>
_struts封裝請求參數的過程與相關配置
將參數封裝成formbean對象(就是一個java類)
這個類的每一個屬性對應一個請求參數
Formbean有一個validata的方法
src=http://imgeducitycn/img_///gif>
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28320.html