该用户从未签到
|
(1)首先创建一个新的Web工程,这是一个普通的Web应用。
# r6 g/ I# L$ Y, M1 A; u2 | / q% x; a7 [- T5 o2 _. P
(2)将struts2框架中必须使用的jar文件拷贝到web-inf/lib目录中,为Web应用提供Struts2开发的支持。
: I; R- [$ k" y% Q6 E% G, N+ S
( u8 {# ]' z$ z% u8 k$ H' H! h! S (3)创建配置文件
; h( Z2 m, z) S& ~ Struts2有一个核心配置文件,默认文件名为struts.xml,该文件需要放在claspath中。通常将它存放在src目录下。
7 Z i$ c% r! M, i4 y2 A) D3 {# }+ q
struts.xml文件内容需要按照固定的格式结构编写:
! N! W' m0 T8 U$ I# E5 j a、首先配置格式校验
- T# k# X- {/ u6 Y 在struts2-core-2.5.5.jar的根目录中获得struts-2.5.dtd。
% Z7 T0 M, k }8 Z+ X 在Eclipse中,打开windows -> preferences -> XML -> XML Catalog -> Add,这将打开一个新增窗口。2 W) Q; F! {1 v
将struts-2.5.dtd配置进去。) U! I, P* {7 Y& Z, A% }
# T1 E6 v/ l8 T! [( y7 ]
b、编写struts.xml内容:
+ s9 F$ X% M& I. O T5 j3 [- ?! b <?xml version="1.0" encoding="UTF-8" ?>
% a* T% k8 y2 [$ L% S9 ^2 d <!DOCTYPE struts PUBLIC8 y4 \- ~1 }, T0 [
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"- [$ [+ f! ]7 }/ Z- q) R& t/ V
"http://struts.apache.org/dtds/struts-2.5.dtd">
; b" q3 I' y' h8 c# F. A1 w; P <struts>) b: f" u+ G4 v0 O) ` J
</struts>
+ r* C) d* J/ T _- } 9 c7 d# t5 b' O0 S* ^4 y7 \
注意:struts.xml名字的大小写。创建在src目录中,不是WEB-INF中。
3 a, Y5 H, N+ l, o ; q! E4 d: K* l% R( b4 V
(4)配置控制器
3 _# j, S0 h% C 在web.xml中配置Struts2的控制器。这是一个由Struts2提供的Filter,它负责拦截所有的HTTP请求,并交由Struts2框架处理。
, s! } b5 T5 D0 T <filter>. W3 w/ R5 m( J8 v, }7 N/ ], O
<filter-name>struts2</filter-name>
9 {+ q& v: q* ?7 q <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>8 Y8 H. B1 A; [3 Z
</filter>. {$ d! b% E& }& ~7 {9 c
<filter-mapping>6 d- Z9 A) n3 \0 P
<filter-name>struts2</filter-name>
2 G5 }; t$ Z& _. M5 O/ K; ] <url-pattern>/*</url-pattern>
O0 K# a2 \ x+ I% T1 E" _5 [ </filter-mapping>
2 _# }% u5 `! {( z8 }7 J1 g & g4 H6 P4 v; t6 H$ K
注意:<url-pattern>/*</url-pattern>,这里使用"/*"模式匹配请求的URL地址。
# ~1 n# r8 S5 }# |( a [
" e; d9 _. x1 E7 Z9 X3 r1 M (5)Web应用目录结构) Q1 v% G) ]3 s! R: [+ j, g
DemoWeb
. v* Q& ^8 l& j) z' ]; w |---index.jsp
# y8 y+ S1 [$ H; b# B$ p6 b |---Web-inf ( u+ R- q6 D/ |; t% P. G. \
|---web.xml Struts2的启动配置! ?4 o' f1 d3 Z
|---classes" c3 A" @ D Z' n5 G1 V7 y
|---struts.xml Struts2的核心配置文件
- @6 {2 ?0 A" q& S |---lib Struts2框架中的jar文件
. u2 W$ |8 F4 N# I! l |---struts2-core-2.x.x.jar
3 ^/ d, L5 w3 `! O# S- h |---ognl-2.6.x.jar4 Z/ |9 [0 V( Z h* X
|---freemarker-2.3.x.jar
; e$ R" y2 z$ b4 N |---commons-logging-1.x.x.jar/ w- s9 o1 h: s4 w6 M) M
|---commons-fileupload-1.2.1.jar
( E$ b; t, r9 D+ a W |---commons-io-2.4.jar* h. {8 f7 C# X. O' n
|---commons-lang3-3.4.jar" |1 f/ y2 |# Q8 Y' u B; }
|---javassist-3.20.0-GA.jar
* y( H h6 ]+ z: Q7 x% C |---log4j-api-2.7.jar
, a b2 Z1 j: Q( g! W 0 u' |8 E7 @7 N% U
8 o$ V& ]+ W' O* ?( F5 T2 Q$ A& l |
|