|
该用户从未签到
|
(1)首先创建一个新的Web工程,这是一个普通的Web应用。
; C8 U; }/ `6 o . } a4 | e$ L1 p0 x" z
(2)将struts2框架中必须使用的jar文件拷贝到web-inf/lib目录中,为Web应用提供Struts2开发的支持。3 s5 R" d7 A( @
$ o+ L7 ^- v, c7 s2 P0 H* f: Z8 x7 p (3)创建配置文件
+ p6 i9 r3 D% U5 X0 m( y Struts2有一个核心配置文件,默认文件名为struts.xml,该文件需要放在claspath中。通常将它存放在src目录下。. I7 l/ `; y+ q: O8 e9 G
. p9 S/ G4 S" a/ A7 a, q, J7 ]
struts.xml文件内容需要按照固定的格式结构编写:4 `& \8 H {: `& E8 r4 w+ i2 y
a、首先配置格式校验; U& A5 h& k' A2 v/ z2 s! } {/ Y
在struts2-core-2.5.5.jar的根目录中获得struts-2.5.dtd。9 [0 S) B9 _. o' ~
在Eclipse中,打开windows -> preferences -> XML -> XML Catalog -> Add,这将打开一个新增窗口。: U' ?, `' p- d- C
将struts-2.5.dtd配置进去。' z6 R. t8 D2 `; a/ H" N
( E& r. ~) C x
b、编写struts.xml内容:3 b+ W+ T" O* ?1 W1 X
<?xml version="1.0" encoding="UTF-8" ?>
$ j7 b. ]- d, L# N5 d. v <!DOCTYPE struts PUBLIC
- x" f, m* v- B+ k# ]1 L5 S4 k "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
4 u( ~! k5 o& U2 M7 q "http://struts.apache.org/dtds/struts-2.5.dtd">: L2 O9 Z2 f- o9 J4 _ n
<struts>. G# r( [) u: X g+ U0 S: l+ { E
</struts>
+ U4 A& |- O" }- b e
. F" V$ X# u/ v: W 注意:struts.xml名字的大小写。创建在src目录中,不是WEB-INF中。
% d1 M4 ?; a8 B1 [$ k
8 b8 c7 m8 `; `5 D9 D, h (4)配置控制器
1 ]0 K$ G# b& `2 {; g$ v. h 在web.xml中配置Struts2的控制器。这是一个由Struts2提供的Filter,它负责拦截所有的HTTP请求,并交由Struts2框架处理。- r% \8 K; T6 R3 l4 [2 U
<filter>+ G( ?9 H0 ]( j5 e
<filter-name>struts2</filter-name>9 x' a: o: W6 H u
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
6 K$ s3 ~+ q, e </filter>
, W. R/ h7 L) [7 z4 x( T; g7 A. ~ <filter-mapping>! C; w% y/ r) l; R$ b6 ]5 j
<filter-name>struts2</filter-name>/ O+ M( C) h) W* G* g, f
<url-pattern>/*</url-pattern>
& R8 m' T) M/ K </filter-mapping>
/ d1 p1 q4 h8 A; H' ]
0 j+ f# g1 F8 |) g4 X& B$ m5 p' h 注意:<url-pattern>/*</url-pattern>,这里使用"/*"模式匹配请求的URL地址。
2 s3 h2 |2 q9 n. Y) }3 G' c
4 m j$ J2 G: V( Y (5)Web应用目录结构
; G! u0 W* y9 o3 { DemoWeb, ] \: P: C6 x! m I8 {7 D
|---index.jsp
$ B8 }2 I+ |1 n( K2 s# V) e |---Web-inf
6 s1 W; e y$ E% Z$ k |---web.xml Struts2的启动配置0 q4 ^5 ]7 x2 G0 H' W3 V
|---classes" @# r, _ X+ c: u' A; G
|---struts.xml Struts2的核心配置文件' d4 Y3 s* p2 U
|---lib Struts2框架中的jar文件
5 S# S: W, o1 A; G5 `! s |---struts2-core-2.x.x.jar
^4 ]6 l# h. z( p9 B' B% b |---ognl-2.6.x.jar
5 f$ }! E2 w- A5 c! R9 x6 |4 d |---freemarker-2.3.x.jar7 `5 f3 @% Y% U
|---commons-logging-1.x.x.jar- {1 K- U# \( r
|---commons-fileupload-1.2.1.jar
, Q0 T6 |) {# M) H/ H D |---commons-io-2.4.jar, n U/ B8 k/ S
|---commons-lang3-3.4.jar- h ~* E# f& d2 [- j( ]
|---javassist-3.20.0-GA.jar3 M" s" s: j/ D! T0 q
|---log4j-api-2.7.jar
# `0 ~5 c- u% L$ d ( I- H! l1 |5 Y0 C- q
" w2 V, N- w+ a4 z3 _+ ^: G$ C0 ^
|
|