一个简单的struts2实例讲解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一个简单的struts 2实例讲解

初学SSH框架,最好的办法就是多动手,在实践中去理解框架。下面用struts 2的框架搭建一个简单的登录示例,首先是框架的搭建,然后是代码的实现及配置,虽然例子简单,但是对于理解Struts 2有很好的作用。

一.准备工作,搭建Struts 2的框架

1.新建一个Web Project,工程名为Struts2_EXA。

2.导入Struts 2框架,如果是比较新的IDE,通常有两种方法,一种通过IDE导入Struts 2框架,另一种可以到网上下载struts2的最新版本:

/download.cgi#struts20111。

下载struts2自少要保证有六个基本包:

struts2-core-2.1.6.jar :开发的核心类库

freemarker-2.3.13.jar :struts2的UI标签的模板使用freemarker编写commons-logging-1.0.4.jar :日志包

ognl-2.6.11.jar :对象图导航语言,通过它来读写对象属性

xwork-2.1.2.jar :xwork类库,struts2在其上进行构建

commons-fileupload-1.2.1.jar:文件上传组件,2.1.6版本后必须加入此jar 包

这些包的文件名在后面的版本号上可能会有出入。我的IDE是

MyEclipse2014,自带有Struts 2, 可以通过右键点击新建的Web项目,“MyEclipse->Project Facets[Capabilities]->Install Apache Struts 2.x Facet”来导入struts2框架

这个例子是通过MyEclipse自动导入的,喜欢自动动手的同学可以网上下载最新的Struts 2框架,将这六个组件包复制到W eb工程下的WEB-INF/lib 目录中,这些组件其实就是编译好的类文件。

3、接下来就是配置struts.xml文件。这个文件就好像起着一个过滤器的作用,用户发来的请求要经过该文件的过滤,根据用户请求

中所请求的处理类型,来选择相应的处理逻辑。

"/dtds/struts-2.1.dtd">

extends="struts-default">

method="execute">

name="success">/WEB-INF/result/success.jsp

name="fail">/WEB-INF/result/fail.jsp

在struts.xml中,是采用package来管理各种action的。

package标签中的namespace指定了该包的命名空间。

extends是说当前这个包继承自struts-default包,可以在

struts2-core-2.2.3.1.jar中的struts-default.xml文件中找到这个包,这个包被定义成抽象的,它不能包含有action。

包中的每一个action标签都和一个逻辑处理类进行了映射,name指定了这个action的名字,和包的namespace组合起来,可以直接访问这个逻辑处理类。

class指定了逻辑处理类的位置,如果不小心写错,浏览器会报404错误,method指定了进行逻辑处理类中进行逻辑处理的方法,这个execute很重要,而且它有固定的返回类型,就是String。

result标签就是根据逻辑判断之后,execute方法返回的字符串,根据返回的字符串,来进入到指定的页面。这里一定要把跳转的地址写清楚,明白。否则浏览器会报404的错误

3. 建立login.jsp文件:

<%@page language="java"import="java.util.*"

pageEncoding="GB18030"%>

<%

String path = request.getContextPath();

String basePath =

request.getScheme()+"://"+request.getServerName()+":"+request. getServerPort()+path+"/";

%>

用户登录界面

content="keyword1,keyword2,keyword3">