一、MVC简介
概括起来MVC的优点主要有一下方面:
1)多个视图可以对应一个模型。按MVC设计模式,一个模型对应多个视图,可以减少代码的复制及代码的维护量,一旦模型发生改变,也易于维护
2)模型返回的数据与显示逻辑分离。模型数据可以应用任何的显示技术,例如,使用JSP页面、Velocity模板或者直接产生Excel文档等
3)应用被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性
4)控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起,完成不同的请求。因此,控制层可以说是包含了用户请求权限的概念
5)MVC更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具有相同的特征,有利于通过工程化和工具化产生管理程序代码
对于MVC的概念性的东西也就废话到此,其关键的地方就是各个模块的实现技术分别是什么。
二、Struts2简介
Struts2是一个兼容Struts1和WebWork的MVC框架。
Struts2的简单处理流程如下:
1)浏览器发送请求
2)中心处理器根据struts.xml文件查找对应的处理请求的Action类
3)WebWork的拦截器链自动对请求应用通用功能,例如:WorkFlow、Validation等功能
4)如果Struts.xml文件中配置Method参数,则调用Method参数对应的Action类中的Method方法,否则调用通用的Execute方法来处理用户请求
5)将Action类中的对应方法返回的结果响应给浏览器
三、Struts2与Struts1对比
................................
四、Struts2与WebWork对比
Struts2实际上就是WebWork2.3,不过,Struts2还是与WebWork有少许的差别:
1)Struts2不再支持内置IOC容器,改用Spring的IOC容器
2)Struts2对于Webwork的一些Ajax的特性的标签改用Dojo进行替换
//----------------------------------------------------
以上内容转载。
我就只说一句,Struts2是MVC的一种实现,Struts2运行机理相比Struts1有很大的不同,Struts2是基于WebWork的。
下面开始说怎么去运行一个Struts2程序。所需jar包等,请到http://struts.apache.org下载
1、 myeclipse新建web project
2、 下载Struts2之后加压,找到struts2-blank-xxx.war 再解压
3、 找到Struts2-blank中lib,把所有的*.jar复制到 myeclipse所建的web project的lib中
4、 配置Struts2的过滤器:在web project的web.xml中配置
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
5、 新建以下JSP页面
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<form action="test.action" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="text" name="pwd"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
ok.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<html>
<head>
<title>My JSP 'ok.jsp' starting page</title>
</head>
<body>
OK!!
</body>
</html>
no.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<html>
<head>
<title>My JSP 'no.jsp' starting page</title>
</head>
<body>
NO!!
</body>
</html>
6、 新建一个类
TestAction.java
/**
*
*/
package com.struts2.action;
/**
* @author Administrator
*
*/
public class TestAction {
/**
* 注意:属性名字要和jsp页面的表单元素名字一样,并且提供getter setter方法
*/
private String username;
private String pwd;
public String execute() {
if (username.equals(pwd)) {
return "OK";
} else {
return "NO";
}
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
7、 在src下建立struts.xml 并配置刚才建立的Action
<?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="default" namespace="/" extends="struts-default">
<action name="test" class="com.struts2.action.TestAction">
<result name="ok">/ok.jsp</result>
<result name="no">/no.jsp</result>
</action>
</package>
</struts>
8、 部署运行
//--------------------------------------------------------
总结:TestAction 中要有一个execute方法,并且返回的值在struts.xml中配置过。只要表单提交到TestAction下,Struts2会帮我们按名接收表单数据。返回的值,代表要跳转的页面。
分享到:
相关推荐
"struts2-demo"这个压缩包很可能是包含了一个简单的Struts2入门示例,可能包括Action类、配置文件、JSP页面等,用于演示如何创建和运行一个基本的Struts2程序。学习这个示例,可以帮助初学者快速理解Struts2的工作...
### Struts2入门实例教程详解 ...通过以上步骤,我们不仅能够理解Struts2与Struts1在实现机制上的区别,还能掌握如何利用Struts2创建一个简单的Web应用程序。这为后续深入学习Struts2框架提供了坚实的基础。
Struts2是一个强大的Java EE应用程序框架,用于构建和维护可扩展、模块化且易于管理的Web应用程序。这个"struts2入门demo"是为初学者准备的一个基础实践项目,旨在帮助理解Struts2的核心概念和工作流程。让我们深入...
这个"默然说话struts2入门1-配置及第一个应用.rar"压缩包文件旨在帮助初学者理解Struts2的基本配置和如何创建一个简单的用户登录应用程序。下面将详细介绍Struts2的基础知识及其在实际应用中的步骤。 1. **Struts2...
这个“Struts2 的入门简单的hello”项目是一个非常适合初学者了解和学习Struts2的基础知识的实例。 首先,让我们从创建一个基本的Struts2应用开始。在Java世界里,MVC模式是web开发的核心,它将业务逻辑、数据和...
6. ** strut2入门案例**:这个入门案例可能是创建一个简单的“Hello, World”程序,演示如何配置Struts2框架,创建Action类,编写对应的JSP页面,并在web.xml中进行必要的初始化设置。这个例子会帮助初学者快速理解...
Struts2是一个强大的Java EE应用程序框架,主要用于构建Web应用程序。它是Apache软件基金会的Jakarta项目的一部分,基于MVC(Model-View-Controller)设计模式,为开发者提供了丰富的功能和灵活性,使得开发Java Web...
Struts2是一个强大的Java web开发框架,用于构建和维护可扩展且易于管理的企业级应用程序。这个"Struts2入门demo"旨在为初学者提供一个快速理解并实践Struts2框架的起点。以下是对Struts2核心概念和相关知识点的详细...
实践是检验理论的最好方式,你可以尝试搭建一个简单的Struts2项目,动手编写Action,配置拦截器,设计并实现业务逻辑。在这个过程中,你将对Struts2有更深入的理解,也能更好地掌握Java Web开发技巧。记住,不断练习...
- **Hello Struts2**:通过创建一个简单的“Hello World”示例,帮助开发者快速上手Struts2的基本配置和运行流程。 - **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。...
Struts2是一个强大的Java EE应用程序框架,主要用于构建MVC(模型-视图-控制器)架构的Web应用。它继承了其前身Struts1的简洁易用性,并在功能和灵活性上进行了增强。以下是对Struts2入门的一些关键知识点的详细说明...
Struts2是一个基于MVC设计模式的Java Web应用程序框架,它简化了开发过程并提供了许多内置功能。Struts2的核心功能在于它能够将业务逻辑与表现层分离,使得开发者可以专注于实现业务需求,而无需关注底层的细节。 ...
1. **快速入门**:这通常是一份简明教程,帮助开发者快速了解Struts2的基本概念和配置,如Action、Result、Interceptor等,并指导如何搭建第一个运行的Struts2应用。 2. **使用文档**:这部分详细介绍了如何在实际...
通过以上步骤,你将能够完成一个简单的Struts2应用,这将是你迈向更复杂项目的基础。记住,Struts2的强大之处在于它的灵活性和扩展性,你可以通过学习更多的特性(如拦截器、国际化、自定义类型转换器等)来进一步...
这个"struts2入门程序"旨在帮助初学者理解如何配置和使用Struts2框架来创建一个基础的Web应用,特别是实现页面间的简单跳转。 在Struts2框架中,核心组件包括Action类、配置文件(struts.xml)、拦截器...
通过这个视频教程,你将能够深入理解Struts2的基本原理和用法,学会如何利用Struts2构建一个简单的Web应用。同时,掌握Struts2的开发环境搭建,有助于你在实际项目中快速上手。传智播客的教程以通俗易懂的方式讲解,...
Struts2是一个强大的Java web应用程序框架,用于构建和部署可维护、高性能的MVC(Model-View-Controller)架构的应用程序。本入门案例主要涵盖了Struts2的基础环境搭建和配置文件的使用,帮助初学者快速理解和掌握...
Struts2是一个强大的Java web开发框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性、可扩展性良好的应用程序的工具。本入门案例将带你了解Struts2的基础知识和核心概念,帮助你快速...
"Struts2入门使用案例HelloWorld"是一个典型的教程,旨在帮助初学者快速理解并开始使用Struts2框架。下面我们将深入探讨这个案例涉及的关键知识点。 首先,我们需要创建一个Maven工程。Maven是Java项目管理和构建...
Struts2是一个强大的Java web应用程序框架,用于构建和部署企业级的MVC(Model-View-Controller)架构的Web应用。这个入门学习源码包包含了关于Struts2的基础知识、学习笔记以及源码实例,旨在帮助初学者快速理解和...