该用户从未签到
|
(1)首先创建一个新的Web工程,这是一个普通的Web应用。; Y9 l" E7 C |: X) w+ b$ a
, z6 ]& e9 I3 N& C X! u
(2)将struts2框架中必须使用的jar文件拷贝到web-inf/lib目录中,为Web应用提供Struts2开发的支持。
( a8 C" F6 c3 I" J' Q2 I" {& J% r
[0 u/ x( ~+ E3 n I (3)创建配置文件
* \! @( p+ F! [, [# R2 ?' @3 c) U9 `) M Struts2有一个核心配置文件,默认文件名为struts.xml,该文件需要放在claspath中。通常将它存放在src目录下。
$ [% O! N$ k0 S% y4 _( k. x6 @) ~& R8 j) B/ J$ ]4 U9 o- @
struts.xml文件内容需要按照固定的格式结构编写:
" X* q+ m' H( X8 o$ X a、首先配置格式校验' |0 L- f, }: C1 ~5 Y* B; f! P. w
在struts2-core-2.5.5.jar的根目录中获得struts-2.5.dtd。, ?8 }! |/ g2 h( T& @
在Eclipse中,打开windows -> preferences -> XML -> XML Catalog -> Add,这将打开一个新增窗口。
0 \8 w4 A% j3 n1 w 将struts-2.5.dtd配置进去。+ ~5 `4 ~$ c* ~! d1 L- e4 X7 G& G3 D
( Z$ I$ X! N6 l" `, l: _/ U b、编写struts.xml内容:; T3 P( o5 ^4 E& r# ~9 Q2 v
<?xml version="1.0" encoding="UTF-8" ?>+ j T1 P( K- K8 t
<!DOCTYPE struts PUBLIC( }+ S z1 k- g# n9 F5 M
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
% ?7 U" ~% K$ h/ K8 o1 V "http://struts.apache.org/dtds/struts-2.5.dtd">$ Q" r- v: h) a8 b3 u' Y4 l$ [$ U! v' Q
<struts>- O& a0 X& }9 p/ _5 g4 c' E/ Q
</struts>5 Y! j! k8 s- q3 ?" z7 E: O- q# j4 u
) e; F' e1 o+ t
注意:struts.xml名字的大小写。创建在src目录中,不是WEB-INF中。
7 Q+ [$ ^, }6 [ # @; _+ p# h9 C1 C+ L0 q" G
(4)配置控制器$ i; @' f4 a1 j: z
在web.xml中配置Struts2的控制器。这是一个由Struts2提供的Filter,它负责拦截所有的HTTP请求,并交由Struts2框架处理。
8 Z1 I6 {9 i- Y( E5 C5 F* ] <filter>
( S" M& }0 e u( k: \8 ` <filter-name>struts2</filter-name>
+ w7 ^/ o# m0 b <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
4 N' d$ P0 T3 o& y1 z4 q. `5 b. | </filter>
4 _- R" V" T* X+ l% X& {* |; Q <filter-mapping>" Z$ X4 o# C$ H" `: F2 a3 R `# v
<filter-name>struts2</filter-name>
" D" R, J6 X# P4 N2 Z; i <url-pattern>/*</url-pattern>+ ]; K1 `0 X2 H' z2 }
</filter-mapping>+ |$ l6 q) m) Q9 s; H9 B
, l' e- Y" u( R- T$ p& d! G2 {" P 注意:<url-pattern>/*</url-pattern>,这里使用"/*"模式匹配请求的URL地址。
0 ?/ {( d' X% f0 V3 ~4 Y8 t , t8 \) a7 q* J2 c' X
(5)Web应用目录结构; ~9 O' y6 I) [2 l% o( T
DemoWeb
+ l% ^( B5 {, H3 V, | |---index.jsp7 v; [! a/ a8 m( a3 e/ L: ]$ o
|---Web-inf * ~; K/ Z6 w. R
|---web.xml Struts2的启动配置
) q; M: S W; \6 N0 l7 a |---classes
5 l8 ~4 z, F( A# F |---struts.xml Struts2的核心配置文件
, B/ c% t% V. \7 }. Z! b |---lib Struts2框架中的jar文件
1 X$ N, S9 c- q0 }( \ |---struts2-core-2.x.x.jar
" R# C$ c$ d6 q6 { |---ognl-2.6.x.jar! n6 j* a, p# n( G3 N) P" ]
|---freemarker-2.3.x.jar
& }& @6 c, | F( h' G' c" X7 b5 A |---commons-logging-1.x.x.jar" y) z9 a9 m7 f* A. c/ V; k# w6 R
|---commons-fileupload-1.2.1.jar/ ~' }) h( O5 l( Q/ l% p6 d p- l
|---commons-io-2.4.jar
* W' d; S/ f) n4 k6 s4 l9 H+ J |---commons-lang3-3.4.jar3 E% z5 z- i! J! {
|---javassist-3.20.0-GA.jar
- L& \+ R5 s) `7 x, |/ M8 g |---log4j-api-2.7.jar
9 w% A+ [$ y4 W6 u& S1 f2 G0 @9 C 4 M0 h- V7 [& k$ r- j I2 t, h- Y
+ J1 f6 z$ D* X$ `
|
|