该用户从未签到
|
(1)首先创建一个新的Web工程,这是一个普通的Web应用。
3 h X9 _8 P% L. |, X5 ? s4 ^; I 2 O$ x% ]+ {& G5 R7 D% U) S, i4 o
(2)将struts2框架中必须使用的jar文件拷贝到web-inf/lib目录中,为Web应用提供Struts2开发的支持。- [& s$ n9 Z, [! K- N
! q- ~9 U1 I' P2 i8 c- ~. L( f
(3)创建配置文件
' R9 F* \' v1 S5 H+ b3 W8 S: v ? Struts2有一个核心配置文件,默认文件名为struts.xml,该文件需要放在claspath中。通常将它存放在src目录下。
) n o1 g$ A+ O) I5 |( M2 N M& \! Q
: }4 E6 W) N$ N0 h# f- Z) E% Q struts.xml文件内容需要按照固定的格式结构编写:: |: P5 N V1 x0 j
a、首先配置格式校验3 [6 o3 [: e" }6 _$ _+ S6 l
在struts2-core-2.5.5.jar的根目录中获得struts-2.5.dtd。& O3 o# h+ S* L
在Eclipse中,打开windows -> preferences -> XML -> XML Catalog -> Add,这将打开一个新增窗口。 C5 l* n7 o$ W4 c9 H" X" T" i
将struts-2.5.dtd配置进去。" v* v( C( w O5 N
- @1 G+ n8 G, D1 C, R* B, g' B- h' { b、编写struts.xml内容:
9 n& H% u+ E0 W- c' z# @( L4 M <?xml version="1.0" encoding="UTF-8" ?>3 j" a/ L# m. r' v8 M8 c
<!DOCTYPE struts PUBLIC
8 U$ Y G. K/ n% R, |6 e "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"4 s' E% b/ F8 y, V# c [
"http://struts.apache.org/dtds/struts-2.5.dtd">
7 n0 R: ?- m! w! Z# b" z; \ <struts>
1 H9 X: b5 g+ N, a- M9 b5 J- G; K </struts>
4 g: M+ Q1 p' O# K, y
# A$ d$ z2 W+ ^) I% a4 A2 J F 注意:struts.xml名字的大小写。创建在src目录中,不是WEB-INF中。) j' M6 z( L7 m
" x; {: L7 U3 T
(4)配置控制器4 ]3 X% ~& ^2 ^2 K7 D* D
在web.xml中配置Struts2的控制器。这是一个由Struts2提供的Filter,它负责拦截所有的HTTP请求,并交由Struts2框架处理。
. W; Z3 t8 o! o+ N <filter>, ]; x/ x! p' S" B7 {( E3 F
<filter-name>struts2</filter-name>
. g0 q2 x4 a( E6 }& r <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
8 o5 ?3 w! Y8 }3 b1 L# c </filter>
& C O. H! ^$ ^; k+ c& O) a <filter-mapping>
& q$ |6 R) i4 i5 j' m1 r* h8 f+ g! b <filter-name>struts2</filter-name>1 a2 V$ j6 P3 N6 p0 C* o
<url-pattern>/*</url-pattern>, @% _4 _2 S' I% k/ L
</filter-mapping># X/ u- ]% V% F2 j& G# |
& M5 N9 O1 L" O# M7 Q 注意:<url-pattern>/*</url-pattern>,这里使用"/*"模式匹配请求的URL地址。5 ^! B2 C! M/ ` r5 j/ q Y" a% {
; l4 o! u8 f' H9 A. S; \ (5)Web应用目录结构
! r) w4 S J1 ~0 v" a% Y! ]5 I DemoWeb% d( E. H2 ~* f& p, z# L8 P
|---index.jsp$ K. c& O z% C: z7 `! e3 i
|---Web-inf
5 h0 B" j6 P U0 r |---web.xml Struts2的启动配置
5 e/ }3 ?. r6 k4 v( ]- B. G& | |---classes
# |: g, ?9 |: T5 _- n8 h# t: {) e |---struts.xml Struts2的核心配置文件' {* x. S) p3 W! ]+ G4 q/ ?4 @
|---lib Struts2框架中的jar文件4 U7 U! A3 @* r% ]1 `
|---struts2-core-2.x.x.jar
$ x+ M8 J) R6 r8 b2 `. [7 y+ q |---ognl-2.6.x.jar
$ d# }; L: S) D8 L* d2 g* l- D |---freemarker-2.3.x.jar$ ]- L+ @. o/ l, c& c6 V) _+ K
|---commons-logging-1.x.x.jar+ K+ N& s6 Z" b0 @% v
|---commons-fileupload-1.2.1.jar$ z8 n1 i3 x" D
|---commons-io-2.4.jar! t% a) C9 b; y: ^7 \
|---commons-lang3-3.4.jar
' Z. w- x g; x% W% q$ k) U- M |---javassist-3.20.0-GA.jar3 p, X$ {. F" u- \ ?
|---log4j-api-2.7.jar) P! Z y1 e5 x' {) a% w% k
9 K( S0 \5 E0 N Q% V0 ~5 S+ b* w6 m' j5 B6 O' w1 G4 z
|
|