该用户从未签到
|
(1)首先创建一个新的Web工程,这是一个普通的Web应用。
$ L/ K1 ?. V- L& u! C8 V* v " c1 O$ z6 F# ~% n" H2 c% t. [
(2)将struts2框架中必须使用的jar文件拷贝到web-inf/lib目录中,为Web应用提供Struts2开发的支持。5 X) v! x, M& @2 `$ I, a5 Q7 Y
7 g, c& b- W7 Z, c! W/ ]9 C% M5 ~1 }& P
(3)创建配置文件( W9 s" m8 h# K) D
Struts2有一个核心配置文件,默认文件名为struts.xml,该文件需要放在claspath中。通常将它存放在src目录下。: @. {& J: O. u% {) O" Y* S
5 I- b9 _ y/ N2 I ]
struts.xml文件内容需要按照固定的格式结构编写:. W8 q9 ]3 f, `6 ~) Y- d
a、首先配置格式校验
6 v& B9 [" i% q# U6 w* Z9 ~1 {/ P 在struts2-core-2.5.5.jar的根目录中获得struts-2.5.dtd。
/ s0 I2 w7 P$ X 在Eclipse中,打开windows -> preferences -> XML -> XML Catalog -> Add,这将打开一个新增窗口。! h) a3 L2 Y, e
将struts-2.5.dtd配置进去。
3 l& n5 V( B$ n* o n( e & m0 J, z A3 C: M, p
b、编写struts.xml内容:
' e6 ]" o \: e <?xml version="1.0" encoding="UTF-8" ?>- k) L+ F( `1 O9 @% W% |0 Z
<!DOCTYPE struts PUBLIC5 K8 u9 X# e/ M- b0 x) U
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN", E: u# Y' t# n4 [- C b6 e' z
"http://struts.apache.org/dtds/struts-2.5.dtd">
8 O! a4 p1 s4 A <struts>$ I* ~, Z; Y8 E$ ^8 a
</struts>* N& U# ?' r& ~% z
- H( n) ~5 a5 V4 d% ~
注意:struts.xml名字的大小写。创建在src目录中,不是WEB-INF中。) y( i; Y3 z2 j4 n' g5 Q
) O3 I7 E& c& O (4)配置控制器) O$ u! a. G0 S5 e' W- h
在web.xml中配置Struts2的控制器。这是一个由Struts2提供的Filter,它负责拦截所有的HTTP请求,并交由Struts2框架处理。' w; U% k! i, }7 @0 n( S9 l+ j2 [
<filter>
" t0 N8 |- l8 b- Q0 c0 Z <filter-name>struts2</filter-name>- L0 g: j3 F6 x+ o9 d( I
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
" A/ j0 o' v5 @ </filter>9 J! \" E4 V6 ?
<filter-mapping>/ u& q' Z6 Z. I# |
<filter-name>struts2</filter-name>: ^8 O$ i0 ^+ C1 L
<url-pattern>/*</url-pattern>
( l! o( G0 B/ D B+ u+ o </filter-mapping>9 P) A5 G) ^$ |5 [6 E' x7 y
) Z1 C, y' N2 a$ [ s0 L( m0 R; I
注意:<url-pattern>/*</url-pattern>,这里使用"/*"模式匹配请求的URL地址。5 V9 n7 Z: j ~5 p- p5 T2 _
9 G) A) \6 Q, ]. P% Z: R' g (5)Web应用目录结构
. L# I8 Z- k- H: {1 Q& b DemoWeb
( Z, p+ {" h- z$ X3 ? |---index.jsp% |+ U! P! c7 O: {2 Y8 j+ m Z
|---Web-inf " q% n) e. f) F
|---web.xml Struts2的启动配置
1 r+ u* h! S" O. _ r7 ?' S |---classes
1 Z2 Y) r# S& d |---struts.xml Struts2的核心配置文件& `. T, u9 _3 O& g4 _, ]
|---lib Struts2框架中的jar文件( Y0 o8 {$ a$ Y1 ^9 V4 o
|---struts2-core-2.x.x.jar
8 v/ x! G$ M! \ |---ognl-2.6.x.jar
7 Y: v, h) B# P" O; v9 M. T' s |---freemarker-2.3.x.jar" t" d& f0 Z. C' `
|---commons-logging-1.x.x.jar# `, K) ^$ i6 ~- s4 r
|---commons-fileupload-1.2.1.jar
& \# @2 t! c6 N6 H$ s |---commons-io-2.4.jar
" p; `) T$ k( y7 N. D0 i' P( Q |---commons-lang3-3.4.jar
" w* J1 d. Z: r2 C |---javassist-3.20.0-GA.jar
1 Q3 q4 x+ ^5 [( b7 d/ B# b/ q |---log4j-api-2.7.jar
/ v$ t# Q3 q: z: U# Y 8 `% h6 y% g- ^) C+ j% i
" V4 z* n0 P b8 f |
|