Struts 简单入门

上一篇 / 下一篇  2008-06-23 12:00:59 / 个人分类:笔记

STRUTS MVC简单流程:
 
(带有struts标签的jsp等等)-->(struts组件把标签对应的数据存放到Formbean)-->(action接收Formbean数据)->(action调用JavaBean做业务处理和数据处理)-->(处理结果返回到action,由action分发到页面显示)->(分发数据并转向到指定的页面进行显示).
 
jbuilder建立STRUTS工程的简单步骤:
 
1.建立Moudel
 
2.建立actionForm(FormBean)
 
  public class LoginActionForm
g3W]R8S0    extends ActionForm {51Testing软件测试网&^$O"UcObs2b}
  private String password;
`;yNh3Q0  private String username;51Testing软件测试网A8w0c` [7x7}*@
  public String getPassword() {51Testing软件测试网R C:s:|-m
    return password;
nE(C?_zv0  }
 
  public void setPassword(String password) {51Testing软件测试网P+y4S1@,j.\.k%B)Tm
    this.password = password;
Lq _q&Et0  }
 
  public void setUsername(String username) {51Testing软件测试网0X)WP,g!@ hi
    this.username = username;51Testing软件测试网:Yk;sGi?
  }
 
  public String getUsername() {
"W qr[ b}1Md0    return username;
.{{hnw \0  }
 
  public ActionErrors validate(ActionMapping actionMapping,
6I6U&VoL0                               HttpServletRequest httpServletRequest) {51Testing软件测试网0b~f%H)MVp6^.{
      /** @todo: finish this method, this is just the skeleton.*/
/];c f4J2f%t0    return null;51Testing软件测试网F7C5u/pv_1k
  }
 
  public void reset(ActionMapping actionMapping,51Testing软件测试网z2\!_I8_tb*t(I)CJ
                    HttpServletRequest servletRequest) {51Testing软件测试网\*f)}/uX q vql^ e
  }
+]3S.s!u#q#q0}
 
3.建立action
 
  建立了action之后可以选择它的actionForm,当然也可以不设置对应的actionForm.
 
  这个体现在struts-config.xml上
 
<struts-config>51Testing软件测试网L S{f(F
  <form-beans>
8hP3K4a+Y0    <form-bean name="loginActionForm" type="grgprojectview.LoginActionForm" />
3{"AJ#nu0   </form-beans>
;tJ`3oj6@0  <action-mappings type="org.apache.struts.action.ActionMapping">51Testing软件测试网B0_+ll'l/}B)R#W
    <action name="loginActionForm" path="/loginAction" scope="session" type="grgprojectview.LoginAction" validate="false">51Testing软件测试网9tm2j?'l!L f3cPCe
      <forward name="LoginFailed" path="/Login.jsp" redirect="yes" />
,L j.A*utYh0      <forward name="LoginSuccess" path="/WEB-INF/main.jsp" />51Testing软件测试网 `,{&q9K O
    </action>
.N!{.k9a N,~0vrn0  </action-mappings>51Testing软件测试网*?9QI2]5w V F"sp
</struts-config>
 
   把loginActionForm与loginAction关联起来
 
4.建立对应于FormBean数据的jsp,(注意FormBean设置方法的名称与JSP指定属性间的对应问题)
 
  public void setUsername(String username) {51Testing软件测试网&KJ F,Ie9XN?#N
    this.username = username;
4v3O:w'OAZ0  }
 
  对应的成员变量就是username,jsp页面上的<html:text property="username" size="24"/>
 
5.在FormBean内部实现部分初级数据检验
 
6.在action内对业务逻辑的JAVABEAN进行调用
 
  在这就不做详细描述了,跟普通的javabean调用无异,你在此与EJB,SPRING等结合使用的话也无妨.
 
7.action根据处理后的数据进行页面分发.
 
return mapping.findForward("跳转标记");
 
8.JSP等页面给用户显示指定数据.
 
struts-config.xml设置
 
<struts-config>51Testing软件测试网5~qU1]A Q
  <form-beans>
"i-Up"U$m1v0    <form-bean name="loginActionForm" type="grgprojectview.LoginActionForm" />51Testing软件测试网5pW,S@a(]7R
   </form-beans>51Testing软件测试网P9YwVwK1K
  <action-mappings type="org.apache.struts.action.ActionMapping">
4wr!{;[;?tq0    <action name="loginActionForm" path="/loginAction" scope="session" type="grgprojectview.LoginAction" validate="false">
-sK"SU*c?T0      <forward name="LoginFailed" path="/Login.jsp" redirect="yes" />51Testing软件测试网2i dR/{(X~w"X`wX
      <forward name="LoginSuccess" path="/WEB-INF/main.jsp" />
2fB'qLss+js0    </action>
nu/sH_R1G0  </action-mappings>
S [r+s9WUji])^0</struts-config>
 
formbean要设置到struts-config.xml内,而action结点包含了action的路径,有效范围,逻辑路径还有名字,还有页面转向时需要用到的标志forward,他定义了转向的标志和改标志转向指定的页面.例如mapping.findforward("LoginFailed")就表示页面转向为/Login.jsp.
 
web.xml设置
 
<?xml version="1.0" encoding="UTF-8"?>51Testing软件测试网t&}8W8L\
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">51Testing软件测试网!XY c8u'Hg
  <display-name>grgprojectview</display-name>
{'a#t8u8kP|0  <jsp-config>
!J2i K H-@R:k"W1O0    <taglib>51Testing软件测试网/y7VZy&?w jLb
      <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
M e/g KV h2U])z\0      <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
D[&I!tX"[f`!h3|0    </taglib>
U_5w0M,Q cb0    <taglib>51Testing软件测试网I@^)L x4q+B{(c
      <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
1l9q)m8Eed5s}0      <taglib-location>/WEB-INF/struts-html.tld</taglib-location>51Testing软件测试网u3k$yV4K~y;i
    </taglib>
UY4Nxap0    <taglib>51Testing软件测试网"\Ay%_+SiU\Iqh.K
      <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
aabi1`V6K0      <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
yWo-a#O2Y@;l0    </taglib>
3v^'kG-hh?IL/K0    <taglib>
Z DMA l'J0      <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
%D6c4_,|1]g0      <taglib-location>/WEB-INF/struts-template.tld</taglib-location>51Testing软件测试网4zr$f9zc r3b"c
    </taglib>
N$F{B0k0    <taglib>
G^ kORL0      <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
0VOz-[-r0      <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>51Testing软件测试网p+q1FC+ul
    </taglib>
$pu Ba}#q,q[0    <taglib>
B,C5} yu2|D0      <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
-OU%h*\O0      <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>51Testing软件测试网:o8D/c"~;c,^"g
    </taglib>51Testing软件测试网2f?sdU@u$fl
  </jsp-config>
'T7{ o^-rTr-b S0  <servlet>51Testing软件测试网I&x/B*i7B$`0a.U h0A
    <servlet-name>action</servlet-name>
:JF$}j&I1P)DQ0    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
m6| y2_9DA#DZ0    <init-param>51Testing软件测试网m4|.ftD@/T5nrD
      <param-name>config</param-name>51Testing软件测试网3uv.R0H1U'~0K]X
      <param-value>/WEB-INF/struts-config.xml</param-value>51Testing软件测试网5} DY-?,R;`U Q
    </init-param>51Testing软件测试网l)h3n Qg?-TL3j
    <init-param>
1^5X@/e g0      <param-name>debug</param-name>
,jr0~8wde+y)_0      <param-value>2</param-value>
kd&^!^}b F8F0    </init-param>51Testing软件测试网1}r)ALT%jsD-K
    <init-param>
|S,vg"wj2B5cbL9F0      <param-name>application</param-name>
^2FmR*E5VB0      <param-value>ApplicationResources</param-value>51Testing软件测试网2yZ:g0z X0i^
    </init-param>51Testing软件测试网.Nh3L)V;UW
    <load-on-startup>2</load-on-startup>51Testing软件测试网 b+T4~m.}v`
  </servlet>
N oA(P/S,z@+q0  <servlet-mapping>51Testing软件测试网 su%M0_0G
    <servlet-name>action</servlet-name>51Testing软件测试网V7]-A o0V
    <url-pattern>*.do</url-pattern>51Testing软件测试网s FF,s*V+m(N)~s%u
  </servlet-mapping>
@&A3Qf(d\n V9P q(aT0  <servlet>
:pH/It/i+Y'Vr4p0    <servlet-name>DisplayChart</servlet-name>
Z c1?KkNMp(w0    <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
G{:r `&L!W!L4Z0  </servlet>
GP:bDJc3S0  <servlet-mapping>51Testing软件测试网#~,}/t8V @-};C&S
    <servlet-name>DisplayChart</servlet-name>
(A @@-n2u}'i0    <url-pattern>/servlet/DisplayChart</url-pattern>
E,_6W IHDlX%J0  </servlet-mapping>51Testing软件测试网Pg C4T7VWpyJ'j
  <welcome-file-list>
^-ey'Bet&C&lH0    <welcome-file>Login.jsp</welcome-file>51Testing软件测试网~*I}Y6X gZ Xy
  </welcome-file-list>51Testing软件测试网 X&@Lp8y(^QZ7?o
</web-app>
 
注意把STRUTS的文件放到工程的lib目录下.
 
  <welcome-file-list>51Testing软件测试网#C }+T K,Q[&f!_6b
    <welcome-file>Login.jsp</welcome-file>51Testing软件测试网 P @Z X2e5c
  </welcome-file-list>
 
以上XML是设置该域默认的访问页面
 
  <servlet>51Testing软件测试网+ttIW~^]Qi_
    <servlet-name>DisplayChart</servlet-name>51Testing软件测试网/udrW!Mn$sMk)s
    <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
\x)CD+ARP0  </servlet>51Testing软件测试网G@ gh i,\Ixo*~
  <servlet-mapping>
3PXe.MOl0    <servlet-name>DisplayChart</servlet-name>51Testing软件测试网 uelYIT
    <url-pattern>/servlet/DisplayChart</url-pattern>
jwY?e B(qu0  </servlet-mapping>
 
以上是为工程添加jfreechart时需要用到的,这个跟struts并无联系,只是顺便提及一下.

TAG: 笔记

 

评分:0

我来说两句

日历

« 2023-10-10  
1234567
891011121314
15161718192021
22232425262728
293031    

数据统计

  • 访问量: 31029
  • 日志数: 33
  • 图片数: 3
  • 文件数: 8
  • 建立时间: 2007-10-10
  • 更新时间: 2011-06-28

RSS订阅

Open Toolbar