首先,了解一下struts2与struts1的区别,大致有以下几点:
一.Struts2主要改进是取代了Struts1的Servlet和Action.
二.Struts2的核心框架是当作一个filter来实现其功能的,而Struts1ActionServlet.
三.在Action上,Struts1都少不了要传递Request等参数,还要继承Action父类,Struts2只要实现了一个public String execute()就可以了,这样Action就可以实现Servlet 测试.
四.Struts2还提供了拦截器(Interceptot)等Struts1所没有的技术.并且,struts2提供了一些常用的插件所以,总的来说,strut2比struts1更强大,更实用,也更加复杂。
关于strut2的处理过程,我就不详说了,网上有很多,个人感觉比较好的如下:
http://stilllane.blog.163.com/blog/static/27575275200991711336721/
先配置一个DEMO,熟悉一下使用struts2的大致处理步骤
一.在eclipse或myeclipse中新建一web工程,并且在工程中导入一些使用struts2要用到得包:
commons-logging-api-1.1.jar、freemarker-2.3.8.jar、ognl-2.6.11.jar、strtuts2-core-2.0.14.jar、xwork-2.0.7.jar.(struts2还提供了许多其它的包,可以根据个人需要添加)
二.在web.xml中作如下配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
说明:FilterDispatcher是struts2中的核心过滤器,它将过滤出所有符合要求的请求,然后进行struts2的内部处理
三.新建一Action类
package com.action;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String userName;
private String password;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute() {
if("xiaoxin".equals(userName) && "xiaoxin".equals(password)) {
return SUCCESS;
} else {
return ERROR;
}
}
}
注意:struts2的Action和struts1中的Action有很大不同,struts1中的Action类必须要继承DispatchAction或实现Action,而struts2中的Action可以完全是一个Demo,不必继承或实现任何其它类或接口,这样不仅大大降低了类的耦合性,甚至对此Action的测试以及复用都是有大大好处的。当然,为了Action规范,struts2提供了ActionSupport类以及Action接口
四.对struts2进行配置,采用默认配置文件命名struts.xml .具体内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="lee" extends="struts-default">
<!—配置Action,注意它与struts1的区别,具体配置,以后再介绍 -->
<action name="login" class="com.action.LoginAction">
<result name="error">/error.jsp</result>
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
注:struts2中虽然没有所谓的ActionForm,但它的配置文件相对于struts1的配置文件,并不简单,现在暂时不作介绍,以后会对strtus2的Action配置作详细的介绍
五. 最后,就是视图的。Strtus2提供了丰富并且功能强大的标签库,个人觉得与struts1中的标签相比,无论从功能上或是从使用方便上都可上升一个档次,下面贴出index.jsp视图,其它视图比较简单,暂不贴了。(由于这是个DEMO,所以视图没那么规范)
<body>
<s:form action="login">
<s:textfield name="userName" label="用户名" /><br>
<s:password name="password" label="密码"/><br>
<s:submit value="登录"/>
</s:form>
</body>
记得加上标签头:<%@ taglib prefix="s" uri="/struts-tags" %>
Sstruts2中使用标签不需添加任何其它jar包或插件
最后,在浏览器里输入相应url就OK了。一个struts2得DEMO完成了
分享到:
相关推荐
在这个"Struts2官方例子详解以及配置文件详解"中,我们将深入探讨Struts2的核心概念和配置细节,通过一个实际的MVC小例子来帮助理解。 首先,让我们了解Struts2的基础知识。Struts2框架是基于拦截器的,它的工作...
它是Apache软件基金会Struts项目的一部分,旨在提供一个结构化的MVC(Model-View-Controller)架构,使得开发者能够更有效地组织和控制业务逻辑、数据处理以及用户界面。 在深入详解Struts2的课本代码中,我们可以...
这个"struts2的一个简单的例子"旨在帮助初学者理解并掌握Struts2的核心概念和工作原理。以下是对这个例子的详细解释: 一、Struts2框架概述 Struts2是基于MVC(Model-View-Controller)设计模式的开源框架,它继承...
Struts2 提供了一个强大的标签库,用于简化 Web 应用程序的开发过程。这些标签可以分为两类:通用标签和 UI 标签。下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来控制页面的执行过程,并...
Struts2.0深入详解以及例子.part2 Struts2.0深入详解以及例子.part2
Struts2是一个开源的MVC框架,它简化了Java Web应用的开发过程,提供了丰富的标签库和插件,使得开发者能够更加专注于业务逻辑的编写,而不是繁琐的框架搭建。 #### 编码准备:环境搭建与配置 1. **包的引入**:...
Struts2是一个强大的Java web应用程序框架,它提供了一种组织和构建MVC(模型-视图-控制器)架构的方式。核心拦截器是Struts2框架的重要组成部分,它们允许开发者在动作执行前后插入自定义逻辑,以实现如日志、权限...
里面有struts2的很常用的标签,而且还有例子,通俗易懂
Struts2是一个强大的MVC(模型-视图-控制器)框架,它极大地简化了Java Web应用的开发。本文将深入探讨Struts2框架中的常用标签,这些标签在创建动态Web页面时发挥着至关重要的作用。 1. **s:form标签**: Struts2...
Struts2则是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,它负责处理用户的请求,转发到相应的控制器,然后由控制器调用业务逻辑并更新模型,最后返回视图给用户。Struts2可以很好地与Spring框架...
在深入探讨如何在MyEclipse中使用Struts1框架构建一个简单的登录系统之前,让我们先对Struts1有个基本了解。Struts1是Apache软件基金会的一个开源项目,它提供了一套基于MVC(Model-View-Controller)模式的Java Web...
Struts2.0深入详解以及例子.part1 Struts2.0深入详解以及例子.part1
Struts2.0深入详解以及例子.part4 Struts2.0深入详解以及例子.part4
Struts2.0深入详解以及例子.part3 Struts2.0深入详解以及例子.part3
**Struts2** 是一个基于MVC设计模式的开源Web应用框架,它负责处理用户请求并转发到相应的控制器,提供强大的动作调度和页面视图控制。在Struts2中,Action类是业务逻辑的载体,通过配置Struts2的XML文件(struts....
这个例子展示了如何使用Struts2的`<s:form>`、`<s:textfield>`、`<s:password>`、`<s:email>`和`<s:fielderror>`标签创建一个包含用户输入验证的注册表单。 五、源码与工具 理解Struts2标签的实现原理,可以查看其...
Struts2是一个流行的Java Web开发框架,用于构建MVC(模型-视图-控制器)架构的应用程序。在Struts2中,标签库是其强大的功能之一,它简化了JSP页面的编写,使得开发者能够更方便地与模型和控制器进行交互。本文将...
Struts2 是一个MVC(Model-View-Controller)框架,主要用于处理用户请求和展示视图;iBatis 则是一个SQL映射框架,它允许开发者将SQL语句与Java代码分离,提高数据库操作的灵活性。 **Spring 框架** Spring 是一...
这里的`prefix`属性定义了一个前缀,之后可以使用`s:`前缀来引用Struts2的标签。 #### Struts2标签与Struts1的区别 Struts2的标签库与Struts1有着本质的不同。在Struts1中,标签库被按照功能分成了HTML、Tiles、...
本文将通过一个具体的示例介绍如何在Struts2项目中使用注解,并深入探讨其背后的原理与优势。 #### 二、Struts2注解简介 注解(Annotation)是Java SE 5引入的一个新特性,它为代码元数据提供了一种机制,允许...