struts2.0.14在myeclipse下的环境搭建和第一个例子

更新时间:2024-03-30 04:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

struts2.0.14在myeclipse下的环境搭建和第一个例子 注:本文是在看过黎活明老师的视频前2章后写下的。

Struts2是在webwork2基础上发展而来的,struts2属于MVC框架。

Struts2相对于struts1的优点:

1,struts2提供了拦截器,利用拦截器可以进行AOP(Aspect Oriented Programming)编程,实现如权限拦截等功能。

2,struts2提供了类型转换器,我们可以把特殊的请求参数转换成需要的类型。在strut1中,如果要实现同样的功能,就必须向struts1的底层实现BeanUtil注册类型转换器才行。

3,提供了支持多种表现层技术,如jsp,freemarker 4,输入校验可以对指定方法进行校验

5,提供了全局范围,包范围和Action范围的国际化资源文件管理实现

搭建开发环境: 1, 找到所需的jar文件

Jar文件在官网可以下载:http://struts.apache.org/ 根据所需下载相应的版本,下载struts-x.x.x-all.zip即可,解压后,在lib下可以找到以下的jar文件。

struts2-core-2.x.x.jar:struts2框架的核心类库 xwork-2.x.x.jar:xwork类库,struts2在其上构建

ognl-2.6.x.jar:对象图导航语言,struts2框架通过其读写对象的属性 freemarker-2.3.x.jar:struts2的ui标签的模板使用freemarker编写 commons-logging-1.1.x.jar:ASF出品的日志包,struts2框架使用这个日志包来支持log4和jdk1.4+的日志记录

commons-fileupload-1.2.1.jar:文件上传组件,2.1.6版本后必须加入此文件 2,编写配置文件

在src下新建xml文件:struts.xml Xml文件内容如下:

\ \>

3,在web.xml中加入struts2mvc框架启动配置

修改/WebRoot/WEB-INF/web.xml文件:

struts2

org.apache.struts2.dispatcher.FilterDispatcher

struts2 /*

在struts1中,struts框架是通过servlet启动的,而在struts2中,struts框架是通过filter启动

注意事项:在struts2读取到struts.xml的内容后,以javabean的形式存放在内存中,以后struts对用户的每次请求处理将使用内存中的数据,而不是每次都读取struts.xml

war文件解压:jar xvf *.war(在官网下载的压缩包里面有4个war文件,解压后是4个例子)

通过以上操作,一个struts2的环境就搭建好了。

包的介绍:

struts.xml配置中的包介绍:在struts.xml中是可以配置多个包

使用包来管理action,包的作用和java中的类包是非常相似的,它主要用于管理一组业务功能相关的action,在实际应用中,我们应该把一组业务功能相关的action放在同一个包下。在一个package中,是可以定义多个action的。(这样相对struts1可以减少重复的代码)

配置包时必须制定name属性,该name可以任意取名字,name主要供继承使用

但是必须是唯一的,它不对应java类包。如果其它包要继承该包,必须通过该属性进行引用,包的namespace属性用于定义该包的命名空间,命名空间作为访问该包下action的路径的一部分,如访问上面例子的action,访问路径为:

/test/helloworld.action

namespace属性可以不配置,默认命名空间为\空字符串)

通常每个包都应该继承struts-default包,因为struts2很多核心的功能都是拦截器实现(请求数据的获取,文件上传,数据校验)的,struts-default定义了这些拦截器和result类型,可以这么说,当包继承了struts-default,才能使用struts2提供的核心功能

struts-default包是在struts2-core-2.x.x.jar文件中struts-default.xml中定义 struts-default.xml也是struts2默认配置文件,struts2每次都会自动加载struts-default.xml(抽象包)文件

包还可以通过abstract=“true”定义为抽象包,抽象包中不能包含action 只能被其他包继承

第一个例子:

在struts.xml文件中配置如下的package:

\ \

class=\

建的包名为sue,命名空间为test,继承了包struts-default,action名为helloworld,class路径为包com.struts2.action,下的类HelloWorldAction,方法为execute,返回字符串为:success,执行action后跳转的页面是/WEB-INF/page/下的hello.jsp文件。(放在web-inf文件下的原因是:在该路径下,客户端是无法看见的,具体的原因我也不太清楚)

访问此action的路径为:/test/helloworld.action

Package创建好后,在src下创建包,包名为:com.struts2.action,在此包中新建java文件,名字为:HelloWorldAction,文件内容为:

package com.struts2.action;

public class HelloWorldAction { private String message;

public String getMessage() { return message; }

public void setMessage(String message) { this.message = message; }

public String execute(){//action返回值要求必须是String类型 message = \我的第一个struts\; return \; } }

在文件/WEB-INF/下创建page文件夹,在page文件夹下新建jsp,名字为hello: 在标签中加入一句代码如下:

This is my JSP page.
${message }

将此项目加载到tomcat下,启动tomcat后,在浏览器的访问路径为:

http://localhost:8080/struts2/test/helloworld.action 以上为第一个例子

期间遇到的问题:访问路径最后的后缀为:.action

我在配置好后,一直提示请求路径是无效的,后来才发现少了后缀

本文来源:https://www.bwwdw.com/article/lmqr.html

Top