struts2介绍

struts2简介

Struts2框架发展

Struts于2000年5月由Craig McClanahan发起,并于 2001年7月发布了1.0版本,Struts一出现便大受欢迎,更成为了以后几年内web 开发的实际标准,Struts2是Struts的下一代产品,是在WebWork的技术基础上进行了合并

Struts2框架特点

1、基于Action的实现MVC框架 

2、拥有积极活跃的成熟社区 

3、使用Annotation和XML配置选项 

4、使用插件来扩展或修改框架特性 

5、与Spring,SiteMesh 和Tiles的集成 

6、使用OGNL表达式语言 

7、使用多种视图选项 

Struts2基本的工作过程

1、过滤器FilterDispatcher拦截所有请求

2、如果请求的是Action组件, 相应的拦截器会逐个对请求进行拦截处理

3、拦截器处理完毕, 会调用Action组件的默认业务方法execute()进行业务请求处理

4、根据业务方法返回结果值来选择适当的视图

Struts2 开发所需要的必要包(5个)

commons-fileupload-1.2.1.jar

freemarker-2.3.13.jar

ognl-2.6.11.jar

struts2-core-2.1.6.jar

xwork-2.1.2.jar

在web.xml中配置Struts2的过滤器

<?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">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <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>
</web-app>

HelloWorld的简单实例

(1)设计action组件

package demo.web;

import com.opensymphony.xwork2.Action;

public class HelloWorldAction{

    private String content;//保存回应结果数据

    public String getContent(){
        return content;
    }
    public void setContent(String content){
        this.content = content;
    }

    //响应用户请求,业务处理方法
    public String execute (){
        content = "Hello World";
        return Action.SUCCESS;
    }
}

(2)设计视图组件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>        <!-- 引入struts2标签 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <title>Struts2 Demo</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>

  <body>
  <p style="color: red;"><s:property value="content"/></p>    <!-- action中定义的content属性名  两种方式 -->
  <p style="color: blue;">${content}</p>
  </body>
</html>

(3)配置Action和视图结果

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
    "http://struts.apache.org/dtds/struts-2.1.dtd">

    <struts>
        <package name="helloworld" extends="struts-default">    <!-- name:自定义包名  extends:继承自struts2的缺省包struts-default -->
            <action name="hello" class="demo.web.HelloWorldAction">    <!-- name:action请求的映射名  class:action组件的全名 -->
                <result name="success">/helloworld.jsp</result><!-- name:action中execute对应的结果别名  /helloworld.jsp:视图页面中的URL地址 -->
               </action>
        </package>

    </struts>

(4)调试运行

在地址栏输入URL来请求Action组件,其URL地址格式如下:

http://localhost:8080/Struts2_1/hello.action或者http://localhost:8080/Struts2_1/hello!execute

时间: 2024-10-29 03:09:30

struts2介绍的相关文章

Struts2.x教程(一) Struts2介绍

一.Struts2是什么 Struts2是在WebWork2基础发展而来的.和Struts1一样, Struts2也是基于MVC的web层框架. 那么既然有了Struts1,为何还要Struts2? Struts2和Struts1虽然都是基于MVC的Web框架,但是它们的实现机制完全不同. Struts1是基于Servlet的实现,并且Struts1的API过分依赖容器,导致了Action开发.测试都非常繁琐,而Struts2是基于过滤器的实现,API不再依赖容器,测试过程中不必再模拟Web容器

Struts1、WebWork、Struts2介绍

一.Struts1 1.Struts1原理简介 Struts1框架以ActionServlet作为控制器核心,整个应用由客户端请求驱动.当客户端向Web应用发送请求时,请求被Struts1的核心控制器ActionServlet拦截,ActionServlet根据请求决定是否需要调用业务逻辑控制器处理用户请求(实际上,业务逻辑控制器还是控制器,它只是负责调用模型来处理用户请求),当用户请求处理完成后,其处理结果会通过jsp呈现给用户. Struts1,控制器就是它的核心,Struts1的控制器分为

拓薪教育-struts2视频教程-任亮

Struts2内幕深入剖析和实战精讲 下载地址:http://1211fd.l42.yunpan.cn/lk/c3YCF8DiuVvYL  密码 09c2 · 01.拓薪教育-struts2的前奏web项目分层介绍和struts2的位置 · 02.拓薪教育-struts2介绍 · 03.拓薪教育-struts2的第一个例子 · 04.拓薪教育-struts2的struts2的运行流程 · 05.拓薪教育-struts2的struts2的配置文件 · 06.拓薪教育-struts2的struts的

struts2 之 【struts2简介,struts2开发步骤,struts2详细配置,struts2执行流程】

入门框架学习避免不了的问题: 1. 什么是框架? 简单的说,框架就是模板,模子,模型.就是一个可重用的半成品. 2. 如何学习框架? 学习框架其实就是学习规则,使用框架就是遵循框架的规则,框架是可变的 和 不可变的部分组成,学习框架就需要把 什么可变什么不可变搞清楚. 3. 为什么使用 struts2 框架:聊这个问题先来聊一聊 Web的开发模式, model1 和 model2 模式. 4. model1模式:jsp+javaBean开发. 优点:执行效率高,代码比较少,开发效率比较高.适合小

struts2 的基本用法

计应134(实验班) 庞文章 struts2  1.struts2 介绍 Struts2是一个兼容Struts1和WebWork的MVC(Model,view,Controller)框架,MVC包含三个基础部分:Model.View和Controller,这三个部分以最小的耦合协同工作,以增加程序的可扩展性和可维护性 MVC的优点: (1).多个视图可以对应一个模型.按MVC设计模式,一个模型对应多个视图,可以减少代码的复制及代码的维护量,一旦模型发生改变,也易于维护   (2).模型返回的数据

尚学堂学习周期及相关视频简介

针对很多java爱好者对尚学堂视频课程不是十分了解,而且学习起来也没有正确的流程,因此造成学习周期过长,特此介绍一下视频课程学习内容及学习周期希望对大家有所帮助: 第一部分学习总周期26天: 1. ---j2se(chat + Tank + snake)---------------------------------------------13 days2. ---Oracle-----------------------------------------------------------

Struts简单入门

本章主要讲解Struts2简单入门,第一个程序的建立 全部代码下载: Github链接:链接https://github.com/wpeace1212/javaBlog/tree/master/struts2Demo 写文章不易,欢迎大家采我的文章,以及给出有用的评论,当然大家也可以关注一下我的github:多谢: 1.Struts2介绍: 简介: Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以S

3.Struts2配置文件标签介绍

Struts2的很多核心功能都是由拦截器实现的. struts-default.xml中定义了这些拦截器与Result类型. 所以,不继承struts-default包,Struts2提供的很多核心功能是无法使用的. 1.package标签 配置包时必须指定name属性,该属性值可以任意取名,但必须唯一. 其与Java的类包间无对应关系.若其他包要继承该包,则必须通过该属性进行引用. 包的namespace属性用于定义该包的命名空间. 命名空间是访问该包下Action的路径的一部分. 此属性可以

Struts2常量介绍

经过前几讲的介绍,我想大家对struts2有了初步的了解,下面让我来讲讲struts2中常量的用法和使用(常量的默认配置struts2-core-2.x.x.x/org/apache/struts2/default.properties文件里). 一.常量配置: 要用常量,首先要通过配置来实现,常量可以在下面多个文件中进行定义,struts2载常量的搜索顺序如下,后面的设置可以覆盖前面的设置:     default.properties文件     struts2-core-*.jar-->o