📄 csdn_文档中心_struts快速学习指南3(内部培训教材)-大部分素材来自于《programming jakarta struts》一书.htm
字号:
size=2> RequestUtils.selectApplication( request,
getServletContext( ) );<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 15.6pt; LINE-HEIGHT: normal; mso-char-indent-count: 1.56; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; mso-pagination: widow-orphan"><SPAN
lang=DA
style="LAYOUT-GRID-MODE: both; COLOR: #354278; FONT-FAMILY: 'Courier New'; mso-ansi-language: DA"><FONT
size=2> getApplicationConfig( request ).getProcessor(
).process( request, response );<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 15.65pt; LINE-HEIGHT: normal; mso-char-indent-count: 1.56; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; mso-pagination: widow-orphan"><B
style="mso-bidi-font-weight: normal"><SPAN lang=DA
style="LAYOUT-GRID-MODE: both; COLOR: #354278; FONT-FAMILY: 'Courier New'; mso-ansi-language: DA"><FONT
size=2>}<o:p></o:p></FONT></SPAN></B></P>
<P class=doctext
style="MARGIN: auto 0cm; TEXT-INDENT: 18pt; mso-char-indent-count: 1.8"><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">该方法的实现很简单,</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; COLOR: #354278; FONT-FAMILY: 'Courier New'; mso-ansi-language: DA">RequestUtils.selectApplication(
request, getServletContext( ) );</SPAN><SPAN
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Courier New'; mso-ansi-language: DA; mso-hansi-font-family: 'Courier New'; mso-ascii-font-family: 'Courier New'">语句是用来根据用户访问的上下文路径来选择处理的应用,如果你只有一个</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 'Courier New'; mso-ansi-language: DA">Struts</SPAN><SPAN
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Courier New'; mso-ansi-language: DA; mso-hansi-font-family: 'Courier New'; mso-ascii-font-family: 'Courier New'">配置文件,就表示你只有一个</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 'Courier New'; mso-ansi-language: DA">Struts</SPAN><SPAN
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Courier New'; mso-ansi-language: DA; mso-hansi-font-family: 'Courier New'; mso-ascii-font-family: 'Courier New'">应用。关于如何建立多个</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 'Courier New'; mso-ansi-language: DA">Struts</SPAN><SPAN
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Courier New'; mso-ansi-language: DA; mso-hansi-font-family: 'Courier New'; mso-ascii-font-family: 'Courier New'">应用,本教程不作详细讲解,请参考相应资料。</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; COLOR: #354278; FONT-FAMILY: 'Courier New'; mso-ansi-language: DA">getApplicationConfig(
request ).getProcessor( ).process( request, response
);</SPAN><SPAN
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Courier New'; mso-ansi-language: DA; mso-hansi-font-family: 'Courier New'; mso-ascii-font-family: 'Courier New'">语句用来获取一个处理器,并将客户请求提交给处理器处理。</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 'Courier New'; mso-ansi-language: DA"><o:p></o:p></SPAN></P>
<H4 style="MARGIN: 6pt 0cm 3pt; TEXT-INDENT: 0cm"><A
name=_Toc69400239></A><A name=_Toc69320856><SPAN
style="mso-bookmark: _Toc69400239"><SPAN lang=EN-US
style="mso-bidi-font-family: 宋体"><SPAN
style="mso-list: Ignore"><FONT face=宋体 size=2>1.3.1.3</FONT><SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=宋体
size=2>Struts初始化处理流程</FONT></SPAN></SPAN></A></H4>
<P class=doctext
style="MARGIN: auto 0cm; TEXT-INDENT: 17.1pt; mso-char-indent-count: 1.71"><A
name=IXT-5-665></A><A name=IXT-5-664></A><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">根据在</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA">web.xml</SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">中配置的初始化参数,</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA">Servlet</SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">容器将决定在在容器的第一次启动,或第一次客户请求</SPAN><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>ActionServlet</FONT></SPAN></TT><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">的时机加载</SPAN><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>ActionServlet</FONT></SPAN></TT><SPAN lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA"> </SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">,不管哪种方式加载,和其它</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA">Servlet</SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">一样,</SPAN><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>ActionServlet</FONT></SPAN></TT><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">的</SPAN><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>init( )</FONT></SPAN></TT><TT><SPAN
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Courier New'; mso-ascii-font-family: 'Courier New'">方法</SPAN></TT><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">将被调用,开始初始化过程。让我们来看看在初始化过程中将发生些什么,理解了这些,对于我们</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA">debug</SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">和扩展自己的应用更加得心应手。</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA"><o:p></o:p></SPAN></P>
<P class=doctext
style="MARGIN: auto 0cm auto 45pt; TEXT-INDENT: -27pt; mso-list: l1 level2 lfo2; tab-stops: list 45.0pt"><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA; mso-fareast-font-family: 'Times New Roman'"><SPAN
style="mso-list: Ignore">1、<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN></SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">初始化框架的内部消息绑定,这些消息用来输出提示,警告,和错误信息到日志文件中。</SPAN><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>org.apache.struts.action.ActionResources</FONT></SPAN></TT><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">用来获取内部消息;</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA"><o:p></o:p></SPAN></P>
<P class=doctext
style="MARGIN: auto 0cm auto 45pt; TEXT-INDENT: -27pt; mso-list: l1 level2 lfo2; tab-stops: list 45.0pt"><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA; mso-fareast-font-family: 'Times New Roman'"><SPAN
style="mso-list: Ignore">2、<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN></SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">加载</SPAN><I
style="mso-bidi-font-style: normal"><SPAN lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA">web.xml</SPAN></I><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">中定义的不同参数,用以控制</SPAN><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>ActionServlet</FONT></SPAN></TT><TT><SPAN
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Courier New'; mso-ascii-font-family: 'Courier New'">的</SPAN></TT><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">不同行为,这些参数包括</SPAN><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>config</FONT></SPAN></TT><SPAN lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA">, </SPAN><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>debug</FONT></SPAN></TT><SPAN lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA">, </SPAN><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>detail</FONT></SPAN></TT><SPAN lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA">, and
</SPAN><TT><SPAN lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>convertNull</FONT></SPAN></TT><SPAN lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA"> </SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">;</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA"><o:p></o:p></SPAN></P>
<P class=doctext
style="MARGIN: auto 0cm auto 45pt; TEXT-INDENT: -27pt; mso-list: l1 level2 lfo2; tab-stops: list 45.0pt"><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA; mso-fareast-font-family: 'Times New Roman'"><SPAN
style="mso-list: Ignore">3、<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN></SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">加载并初始化</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA">web.xml</SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">中定义的</SPAN><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA">servlet
</SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">名称和</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA">servlet</SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">映射信息。通过初始化,框架的各种</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA">DTD</SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">被注册,</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA">DTD</SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">用来在下一步校验配置文件的有效性;</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA"><o:p></o:p></SPAN></P>
<P class=doctext
style="MARGIN: auto 0cm auto 45pt; TEXT-INDENT: -27pt; mso-list: l1 level2 lfo2; tab-stops: list 45.0pt"><TT><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA; mso-fareast-font-family: 'Courier New'"><SPAN
style="mso-list: Ignore"><FONT color=#354278>4、<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></FONT></SPAN></SPAN></TT><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">为默认应用加载并初始化</SPAN><SPAN
lang=DA
style="FONT-SIZE: 10pt; mso-ansi-language: DA">Struts</SPAN><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">配置文件,配置文件即初始化参数</SPAN><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>config</FONT></SPAN></TT><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">指定的文件。默认配置文件被解析,产生一个</SPAN><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>ApplicationConfig</FONT></SPAN></TT><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">对象存于</SPAN><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>ServletContext</FONT></SPAN></TT><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">中。</SPAN><TT><SPAN
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Courier New'; mso-ascii-font-family: 'Courier New'">可以通过关键字</SPAN></TT><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>org.apache.struts.action.APPLICATION</FONT></SPAN></TT><TT><SPAN
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 宋体; mso-ansi-language: DA; mso-hansi-font-family: 'Courier New'; mso-ascii-font-family: 'Courier New'">从</SPAN></TT><TT><SPAN
lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT
color=#354278>ServletContext</FONT></SPAN></TT><TT><SPAN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -