struts2从浅之深(一)简介
一、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.显示结果视图,并返回给浏览器

struts2从浅之深(一)简介的更多相关文章
- struts2从浅至深(五)上传与下载
1.编写上传页面 2.编写动作方法 import java.io.File;import java.io.IOException; import javax.servlet.ServletContex ...
- struts2从浅至深(三)拦截器
一:拦截器概述 Struts2中的很多功能都是由拦截器完成的. 是AOP编程思想的一种应用形式. 二:拦截器执行时机 interceptor表示 ...
- struts2从浅至深(二)详细配置
1.加载时机 当应用被服务器加载时,Struts的配置文件就已经加载了 2.加载顺序 default.properties------->struts-default.xml---------& ...
- struts2从浅至深(六)总结
在我认为strust2的作用就是 1.主要跟前端交互的框架数据提交先经过struts 2.起到对数据的过滤,接受数据 3.把数据显示到前段,具有很成熟的ognl技术,用起来特别方便 4.还提供了跟前段 ...
- struts2从浅至深(六)contextMap(存取数据)
A:存数据 1.利用ActionContext存数据 这种方式最简便 这是一个购物车案例 把查询来的数据放入到Session中存储起来 2.利用valuestack值栈存数据 把查询出来的数据放入到值 ...
- struts2从浅至深(四)下载文件
1.创建下载文件动作类 2.配置struts 3.提供一个下载链接 4.下载页面 为什么文件名是链接名 只是以链接名显示,但文件的本身是个图片秩序改掉后缀名就可以了
- 浅入深出之Java集合框架(中)
Java中的集合框架(中) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ...
- 浅入深出之Java集合框架(下)
Java中的集合框架(下) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,哈哈这篇其实也还是基础,惊不惊喜意不意外 ̄▽ ̄ 写文真的好累,懒得写了.. ...
- 浅入深出之Java集合框架(上)
Java中的集合框架(上) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ...
随机推荐
- C++析构函数的自动调用问题
首先要明确一点,系统只会自动释放栈内空间,而堆内空间需要用户自己维护. C++中,除了new来的空间存放在堆内,其他均存放在栈中. 当单纯的创建对象的时候,对象存放在栈中,此时在程序块的}后面,系统会 ...
- Kotlin语言学习笔记(6)
运算符重载(Operator overloading) 一元运算符 Expression Translated to +a a.unaryPlus() -a a.unaryMinus() !a a.n ...
- SciTE: 中文字符支持问题
SciTE: 中文字符支持问题 SciTE(Scintilla Text Editor)是一个体积小巧的文本编辑器. 但是它默认的设置对中文字符处理不好,其实只要对它进行相应的配置,就可以了. 1 ...
- java jpa 报错
表的字段名不能是数据库的关键字 INSERT INTO `todo`.`todo_item` (description, completed) VALUES ('test 111', false); ...
- python json5
install pip install json5 test a.json: { 'a':'b', 'aa':['b1','b2']} =========================== impo ...
- Centos7 配置ssh 免秘钥登陆
1.yum install -y openssh 2.servier1: ssh-keygen -t rsa #有提示的直接enter 3.server 2: ssh-keygen -t rsa # ...
- 参数错误导致bug
1.网站参数与数据库参数名字不一致(大小写). 2.参数漏掉一个字母(characterno写成了charaterno).
- Linux跑火车,提升趣味性
實現跑火車[可陶冶情操,愉悦心情]##下载yum源[root@localhost ~]# wget http://mirror.centos.org/centos/7/extras/x86_64/P ...
- 二叉树中的最大路径和 · Binary Tree Maximum Path Sum
[抄题]: 给出一棵二叉树,寻找一条路径使其路径和最大,路径可以在任一节点中开始和结束(路径和为两个节点之间所在路径上的节点权值之和) [思维问题]: 不会写分合法 [一句话思路]: 用两次分治:ro ...
- 带最小值操作的栈 · Min Stack
[抄题]: 实现一个带有取最小值min方法的栈,min方法将返回当前栈中的最小值. 你实现的栈将支持push,pop 和 min 操作,所有操作要求都在O(1)时间内完成. [思维问题]: [一句话思 ...