该用户从未签到
|
(1)首先创建一个新的Web工程,这是一个普通的Web应用。
' [0 ?2 P' U. L7 o
+ ^/ o7 ?3 z. J (2)将struts2框架中必须使用的jar文件拷贝到web-inf/lib目录中,为Web应用提供Struts2开发的支持。* v0 L) n7 K: b
; T* _8 j5 ^- S- V( R( U: ?
(3)创建配置文件* e- N& A/ l% q" f3 [! p5 H
Struts2有一个核心配置文件,默认文件名为struts.xml,该文件需要放在claspath中。通常将它存放在src目录下。* A! z" q2 L. ]; ^$ Q! @" H1 b+ n; m2 q
1 V. d8 u: M# i" e
struts.xml文件内容需要按照固定的格式结构编写:
! H& a V$ \: w0 }3 V; P% n a、首先配置格式校验
1 s, \% [, ~7 e 在struts2-core-2.5.5.jar的根目录中获得struts-2.5.dtd。
9 t/ \2 V& E9 K8 m! |( n 在Eclipse中,打开windows -> preferences -> XML -> XML Catalog -> Add,这将打开一个新增窗口。- D* _3 r" ^0 q# X$ Z. v/ l
将struts-2.5.dtd配置进去。
7 T2 x6 u) l1 { `; P: ^ + {, E1 E' A7 P- u8 F
b、编写struts.xml内容:
% u$ s5 U: a N: o" h+ j: J Z <?xml version="1.0" encoding="UTF-8" ?>/ O+ S9 c) }4 u; Z5 H; Q
<!DOCTYPE struts PUBLIC& Q6 P, k& T& ?
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"* e6 u/ f- `; f
"http://struts.apache.org/dtds/struts-2.5.dtd">
& B& _7 J2 [; T <struts>2 I2 Z4 Q- P. R
</struts>
) B. `0 F+ ~. U4 ^" o" L # C5 ]8 ~, y0 Z- L) N
注意:struts.xml名字的大小写。创建在src目录中,不是WEB-INF中。/ }* H( g* V# w( P; r* E- T# n5 [
5 i3 ] ]0 n R, U% p0 h e. _& f: a
(4)配置控制器
7 p) C* R% C! B$ o N) {7 G5 _ 在web.xml中配置Struts2的控制器。这是一个由Struts2提供的Filter,它负责拦截所有的HTTP请求,并交由Struts2框架处理。" \1 w6 |: A, |9 X) L
<filter>! ]3 Q J, q" v( t6 u7 o* U+ @* b
<filter-name>struts2</filter-name>% A/ l# t5 {7 |0 e1 X0 J( u
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
: n4 C0 ]. z, d4 W! e5 P </filter>
* w6 h0 F2 _/ Y <filter-mapping>7 A! E0 H! R8 g3 n& P0 c
<filter-name>struts2</filter-name>
# g1 d# j7 G/ Y6 T5 g- b2 j <url-pattern>/*</url-pattern>* O) V" `' t' Q" r
</filter-mapping>
. C7 D* w: X6 L N6 \6 M - r( e6 l9 M" L0 S% e
注意:<url-pattern>/*</url-pattern>,这里使用"/*"模式匹配请求的URL地址。
" `3 m2 |- J- a5 p% \3 \
$ _2 X3 L, U9 |+ r2 _ (5)Web应用目录结构* A; q. C# `/ Z( e8 k' l& o* x7 o
DemoWeb* n, x$ A2 W' ]: U. V/ O: W; U. w
|---index.jsp
( Q7 b6 J' N& }9 z3 ? |---Web-inf 8 i5 @( Y$ n2 w0 d" x
|---web.xml Struts2的启动配置7 [ v2 u5 r7 H; D" r8 z
|---classes/ W- b* H4 C- {8 j0 c
|---struts.xml Struts2的核心配置文件! B3 g: ~- A& R' s( L9 S' h( a! s# G
|---lib Struts2框架中的jar文件
! D% `" c6 [8 r+ b o$ p |---struts2-core-2.x.x.jar
4 w( @+ }1 ] V7 `. [9 L; I |---ognl-2.6.x.jar; o$ p/ L' Q9 S, N D9 E3 m
|---freemarker-2.3.x.jar7 \. X: j0 ~, ^4 B0 X
|---commons-logging-1.x.x.jar* `3 m. u1 J5 ]. Q/ z8 s
|---commons-fileupload-1.2.1.jar! F* A4 M, H2 R9 R8 y# `
|---commons-io-2.4.jar# u' j. o# y9 u3 }
|---commons-lang3-3.4.jar
C Z' X% D6 o) u7 `" Y! t |---javassist-3.20.0-GA.jar( [. O- | e5 E- l! j
|---log4j-api-2.7.jar# v! v7 T! V' C# x! y% L3 o
2 d* U+ e0 N3 v; w1 E7 Z! y8 B
. m. Y6 D2 R+ c A g0 U
|
|