一、Struts2简介

1、Struts2概述

                   Struts2是Apache发行的MVC开源框架。注意:它只是表现层(MVC)框架。

M:model-----数据封装------->javabean

V:view------视图----------->jsp

C:control------控制器--------> struts2( filter),struts1(servlet)

2、Struts2的来历

                   Struts1:也是apache开发的一套mvc的开源框架。在2005年之前非常流行。

弊端:Struts1的核心控制器就是一个Servlet。随着使用者的增多,弊端开始出现。

Struts2:在long long ago,有一个设计超前的框架XWork,后来推出了XWork1和WebWork2。Struts2就是apache和OpenSymphony组织合并开发出来。

里面包含了WebWork2的核心及Struts的一些特性和功能。除此之外,和Struts1没有任何关系了。

二:环境的搭配

1、下载Struts2开发包

http://struts.apache.org

2、开发包目录结构

3、搭建开发环境

3.1、拷贝必要jar包到classpath中

拷贝哪些jar包?

找到Struts2自带的例子中,struts-blank的war包,在它的\WEB-INF\lib目录下的jar包全拷贝。

3.2、建立Struts2的配置文件

at the top of classpath(在最顶层的构建路径),建立一个默认名称为struts.xml的配置文件。

注意:

1.文件名大小写。

2.创建位置。

3.该名称允许修改,但是我们一般不改。

3.3、配置控制器

a、配置位置:在web.xml中

b、配置什么: struts2已经写好了的一个过滤器。

结论:

struts2比struts1优秀的一个体现就是,它用了更为强大的过滤器作为控制器了。

3.4、验证是否成功

部署应用,启动Tomcat,不报错表示搭建成功。

三、第一个Struts2案例

以下步骤是日后实际开发中经常重复的。

1、建立一个jsp文件

2、在struts.xml文件中配置

3、建立动作类和动作方法

4、结果视图页面

5、测试:

6、关于struts.xml没有提示的问题

分析原因:没有找到对应的dtd约束文件。

解决办法:

a.上网

b.不能上网:

四、第一个案例的执行过程

1.tomcat启动:加载应用的web.xml

2. 实例化并初始化过滤器

3.加载struts.xml配置文件

4.客户端发送请求

5.请求到达过滤器

6.截取请求动作名称,并在struts.xml中找

7.找到后进行实例化

8.调用对应的方法动作,方法具有返回值

9.根据返回值,找到结果视图

10.显示结果视图,并返回给浏览器

java框架之struts2简介的更多相关文章

  1. Java框架之Struts2(一)

    在学习Struts2之前,我们要知道Java为什么要有反射机制呢?反射机制可以说是填补Java不能动态访问某一个类的空白.利用反射机制,动态的创建一个对象.动态的访问类的某个属性,而且访问哪一个属性自 ...

  2. java框架之Struts2(1)-简介及入门

    简介 Struts2 是一个基于 MVC 设计模式的 Web 应用框架,它本质上相当于一个 servlet,在 MVC 设计模式中,Struts2 作为控制器 (Controller) 来建立模型与视 ...

  3. java框架之Struts2(4)-拦截器&标签库

    拦截器 概述 Interceptor (拦截器):起到拦截客户端对 Action 请求的作用. Filter:过滤器,过滤客户端向服务器发送的请求. Interceptor:拦截器,拦截的是客户端对 ...

  4. java框架之Struts2(2)-访问Servlet API及请求数据封装

    准备 为后面测试示例编写代码及配置如下: package com.zze.bean; import java.util.Date; public class User { private String ...

  5. Java框架之Struts2(六)

    一.OGNL表达式语言 Ognl Object Graphic Navigation Language(对象图导航语言),它是一种功能强大的表达式语言(Expression Language,简称为E ...

  6. Java框架之Struts2(二)

    一.Action 配置说明 //请求的直接转发 <package name="packageUser" namespace="" extends=&quo ...

  7. java框架篇---Struts2的处理流程

    一.Struts2的处理流程: 客户端产生一个HttpServletRequest的请求,该请求被提交到一系列的标准过滤器(Filter)组建链中(如ActionContextCleanUp:它主要是 ...

  8. Java - 框架之 Struts2

    一. Package 标签 1. 标签属性:name        : 包的名称,只有在一个项目中不重名即可.extends       : 继承哪个包,默认为 struts-default.name ...

  9. java框架之Struts2(3)-OGNL&ValueStack

    OGNL 概述 OGNL 是 Object-Graph Navigation Language 的缩写,它是一种第三方的.功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用 ...

随机推荐

  1. 系统预定义委托与Lambda表达式

    NET中那些所谓的新语法之三:系统预定义委托与Lambda表达式   开篇:在上一篇中,我们了解了匿名类.匿名方法与扩展方法等所谓的新语法,这一篇我们继续征程,看看系统预定义委托(Action/Fun ...

  2. 我的vi/vim配置文件

    位于/etc/vim/的vimrc " All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by & ...

  3. 笔试题&amp;面试题:CW输出矩阵

    称号:CW输出矩阵(N*N). 如果一个矩阵: 1   2   3   4 5   6   7   8 9  10 11 12 13 14 15 16 那么程序应该给出的输出为:1 2 3 4 8 1 ...

  4. sugarcrm关于邮件设置几个不好理解的地方

    陈沙克日志 把我的过程记录下来,以免以后忘了     2008-06-11 12:32 sugarcrm关于邮件设置几个不好理解的地方 最近看sugarcrm的使用,别的基本使用,没有什么问题,几天就 ...

  5. ps入门教程:选择工具、移动工具、索套工具的使用

    本节课程主要内容:1.学习矩形选择工具.椭圆选择工具.移动工具.多边形套索工具.套索工具.磁性套索工具和魔术 棒选择工具.2.用套索和磁性套索,实现对人物照片的抠图.----------------- ...

  6. 比Spring简单的IoC容器

    比Spring简单的IoC容器 Spring 虽然比起EJB轻量了许多,但是因为它需要兼容许多不同的类库,导致现在Spring还是相当的庞大的,动不动就上40MB的jar包, 而且想要理解Spring ...

  7. XSLT 调用外部程序

    通常可以通过xslt把一个xml转成html cd.xml <?xml version="1.0" encoding="UTF-8"?> <? ...

  8. FLOYD 求最小环

    首先 先介绍一下 FLOYD算法的基本思想   设d[i,j,k]是在只允许经过结点1…k的情况下i到j的最短路长度则它有两种情况(想一想,为什么):最短路经过点k,d[i,j,k]=d[i,k,k- ...

  9. iOS基础 - 触摸事件与手势识别

    一.iOS的输入事件 UIKit可识别三种类型的输入事件: 触摸事件 运动(加速计)事件 远程控制事件 二.UIEvent iOS中许多事件对象都是UIEvent类的实例,记录事件产生的时刻和类型 U ...

  10. Dynamics CRM 客户端的插件调试

    Dynamics CRM 客户端的插件调试 一直以来,Dynamics CRM插件在大家的印象中都是不便于调试的,根据官方文档(http://technet.microsoft.com/zh-cn/l ...