`
JAVA天地
  • 浏览: 658559 次
  • 性别: Icon_minigender_1
  • 来自: 太原
文章分类
社区版块
存档分类
最新评论

Struts2入门介绍1 -- Struts2介绍及运行一个简单的Struts2程序

阅读更多

一、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会帮我们按名接收表单数据。返回的值,代表要跳转的页面。

2
1
分享到:
评论

相关推荐

    Struts2权威指南完整版

    Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序,将它们改为基于Struts 2.1运行。...

    struts2+hibernate实现简单的仿论坛功能

    这个一个实现程序的源代码,里面有sql文件,可以直接运行。里面涉及的技术有struts2和hibernate框架,以及dao层的抽象等。如果是入门参考,个人觉得还是蛮好的。详情可以看我的播客--struts2+hibernate实现简单的仿...

    Struts 2.1 权威指南 part13 pdf

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。本书最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两个实例触类旁通,...

    Struts 2.1 权威指南 part04 pdf

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。本书最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两个实例触类旁通,...

    Struts实践入门(原创)

    入门1、简介 2、安装 2.1.下载struts 源代码和支持库 2.2.软件需求 2.3用原码build Struts 以如下运行环境为例 2.4在appserver上发布基于Struts的web应用程序

    Struts 2.1 权威指南 part01 pdf

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。本书最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两个实例触类旁通,...

    Struts 2.1 权威指南 part02 pdf

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。本书最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两个实例触类旁通,...

    Struts 2.1 权威指南 part06 pdf

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。本书最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两个实例触类旁通,...

    Struts 2.1 权威指南 part03 pdf

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。本书最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两个实例触类旁通,...

    Struts 2.1 权威指南 part05 pdf

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。本书最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两个实例触类旁通,...

    Struts 2.1 权威指南 part11 pdf

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。本书最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两个实例触类旁通,...

    Struts 2.1 权威指南 part12 pdf

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。本书最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两个实例触类旁通,...

    Struts 2.1 权威指南 part10 pdf

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。本书最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两个实例触类旁通,...

    Struts 2.1 权威指南 part07 pdf

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。本书最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两个实例触类旁通,...

    Struts 2.1 权威指南 part09 pdf

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。本书最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两个实例触类旁通,...

    Struts 2.1 权威指南 part08 pdf

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。本书最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两个实例触类旁通,...

    chinamobile.rar_Java 可运行_oracle_struts 2

    本系统采用struts+spring+hibernate架构,重在讲述三者结合在一起的应用开发,所有源程序都有详细的注释,供入门者学生参考,未经作者允许不得用于商业用途,只能用于教学或个人学习。 程序只是整个系统中的一个模块...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...

    structs程序设计从入门到精通word文档

    1.5 你的第一个struts应用程序 8 第2章深入Struts结构 8 2.1人介绍应用框架 mvc和model2 8 2.2 Struts原理、开发及项目实施 8 2.3使用STRUST控制流 8 2.4讨论STRUTS的优缺点 9 2.5 Struts入门经验 9 2.6用strtus制作...

Global site tag (gtag.js) - Google Analytics