|
该用户从未签到
|
(1)首先创建一个新的Web工程,这是一个普通的Web应用。# F" {0 S" n' o& |" L( @/ w
' i6 v4 a9 v) t$ s" b
(2)将struts2框架中必须使用的jar文件拷贝到web-inf/lib目录中,为Web应用提供Struts2开发的支持。3 J# e+ o: h! [5 D
6 G, `, s$ x) ]8 Y$ h* Z (3)创建配置文件! l. W7 t4 l: [5 i, t7 F3 x; ?: s
Struts2有一个核心配置文件,默认文件名为struts.xml,该文件需要放在claspath中。通常将它存放在src目录下。
1 e4 s& z2 R! \6 w g- _! w
; E( ] _3 p1 u) E4 d/ o/ k: x struts.xml文件内容需要按照固定的格式结构编写:
: c) b. J8 U2 E$ o$ [ a、首先配置格式校验. t+ g6 J' @: `
在struts2-core-2.5.5.jar的根目录中获得struts-2.5.dtd。
5 l6 F8 \ n* B f) C" W3 J 在Eclipse中,打开windows -> preferences -> XML -> XML Catalog -> Add,这将打开一个新增窗口。
) A; A' T) k ?& q: I: a2 q, z 将struts-2.5.dtd配置进去。
' E _& u, i8 |7 N( A: t
; F4 C* n8 n7 | I# e$ o) h7 |3 x& z b、编写struts.xml内容:
- m) Y4 [! G& p( I( Y9 E <?xml version="1.0" encoding="UTF-8" ?>3 ~! x3 U7 y! ~! h
<!DOCTYPE struts PUBLIC
8 o ~, E* h& ^* @- ~6 P( p; z "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN": {8 m9 j* o, X% @8 I2 q2 d
"http://struts.apache.org/dtds/struts-2.5.dtd">6 ~9 h# c2 |9 O, \& u" l6 s
<struts>2 ]0 @- b) I1 C' F
</struts>: B! v* C6 |0 ~- ]( k3 F5 R
0 @5 W! i$ ]7 Z4 p. f; P' p 注意:struts.xml名字的大小写。创建在src目录中,不是WEB-INF中。- w6 \2 ^/ y" \: Z
$ I" u A! W4 n* A& {
(4)配置控制器
1 [# S* G# @: {+ m 在web.xml中配置Struts2的控制器。这是一个由Struts2提供的Filter,它负责拦截所有的HTTP请求,并交由Struts2框架处理。
9 u6 k( V9 I: P' c- f$ } <filter>8 F& W* P# v& k" k0 w0 J
<filter-name>struts2</filter-name>
6 B _) L- w6 k" R <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>) V# l- X p3 C% K
</filter>) Y; k# `* D+ ]6 u! _ w
<filter-mapping>
0 R* z1 F" E7 j7 U& Y <filter-name>struts2</filter-name>2 r9 O! s1 Z: ^/ W
<url-pattern>/*</url-pattern>' R$ E+ b! n( q( I& ~
</filter-mapping>( d$ l. C$ X* E
1 _: L3 S4 H3 ^! [0 @; r 注意:<url-pattern>/*</url-pattern>,这里使用"/*"模式匹配请求的URL地址。9 \" R) D+ J5 Z! l" @/ v, f) j: U
6 W( y- J( g9 N. h7 X; a. A (5)Web应用目录结构# L" E5 y, [9 T/ ~5 S2 `
DemoWeb; D# b, | X- Q, S9 ~1 e
|---index.jsp
' ]" x; M$ {6 V: C+ w |---Web-inf
$ O! W7 G0 b& L+ Y6 d8 E5 g |---web.xml Struts2的启动配置
! e: ?: x& ] z8 M. {, R7 M |---classes3 ~) @) v, R: ^, I& R+ C8 n$ R
|---struts.xml Struts2的核心配置文件
0 ^5 X2 H3 m# s, k# |; R! f |---lib Struts2框架中的jar文件
& r( z% @8 t8 J7 O$ b1 \7 w/ M |---struts2-core-2.x.x.jar
4 X: m2 z, J p' J |---ognl-2.6.x.jar5 I6 U1 k) _- i# W
|---freemarker-2.3.x.jar% a: a8 F, ?$ r) }" p8 m( w. @
|---commons-logging-1.x.x.jar
' F5 ?1 k/ U* [$ R( ^ |---commons-fileupload-1.2.1.jar
2 @' H, q- x! o! N4 ~. W |---commons-io-2.4.jar) m2 m: _2 j, D
|---commons-lang3-3.4.jar+ a3 a9 ]& `0 _3 q: v
|---javassist-3.20.0-GA.jar5 n8 M" D6 ]) q3 b( E u2 [
|---log4j-api-2.7.jar+ i" t" a3 K5 x" y: c$ T3 V3 b1 K
) z* i, l* e# |. O9 }3 ]
5 L, t- n/ ]" e$ }4 w |
|