Struts2初步学习总结
Struts2当时上课的时候老师给我们讲过,了解过一些,但也仅仅是了解,,,没动手去做,准确的说是试了一下,然后没做成功,,,现在又想把这个夹生饭给煮一下了,,,,
结合W3Cschool和轻量级Java EE企业应用实战(李刚的作品)又从头学了一遍Struts2
Struts2概述:此处省略了,,,
Struts2架构:MVC架构(模型-视图-控制器,功能分开,该干啥的干啥)

环境设置:JDK + Eclipse + tomcat,在创建工程的时候还是书上推荐的方法好用:
先下载Struts2的压缩包,解压缩,里面有空工程的项目的压缩文件,打开这个文件把lib下的jar包拷到自己的工程lib下面,这对入门很好用,不需要去考虑每个包的具体功能,然后就是配置文件,写代码了
核心配置文件struts.xml放到src文件目录下就可以**********这里有个问题我没弄明白,书上说要在WEB-INF下创建classes文件夹,然后把配置文件struts.xml放到文件夹下,,下载的例子也是这样做的,网上
说编译的时候会把src下的文件在classes文件夹下拷贝一次,但我的没有,都没有生成classes文件夹,但我的项目是能成功运行的--------感觉是Eclips配置和tomcat服务器版本问题
架构(好高端的名字):Actions(操作) Interceptors(过滤器) ValueStack(值栈) Result(结果类型) 视图技术
这图感觉够形象的,把项目运行的流程表示出来了
配置文件:需要在struts.xml中配置写好的Action,在web.xml中配置StrutsPrepareAndExecuteFilter类接入点
Actions动作:从上图可以看到,经过Interceptors的过滤后交给相应的Action处理,然后Action返回result,根据配置文件映射到相应视图
拦截器:有预先配置的拦截器,还能自定义拦截器
值栈:用来视图页面来获取数据(就是用来传递数据用到的吧)
文件上传功能:这个我写了,用的struts2的标签,原理:提交处理后会把文件存放在某个临时位置,然后在相应action的execute中把文件存放到你想放的目录(遇到了一个问题,默认把文件保存到eclipse的解压目录下了)
数据库访问:这个和普通的数据库访问一样(还没用到别的框架)
发送电子邮件:用到了别的jar包,没写成,用的google的邮箱发的
验证框架:这个可以通过action的validate方法实现,刚开始因为写错了name绕了湾(这部分给我的感觉像ASP.net里的数据验证
本地化/国际化:就是几个资源文件
主题和模板:参考教程
各种Struts2提供的标签
(只是初步了解了这个框架,写了一些简单的例子,细节上面没仔细研究)
Struts2初步学习总结的更多相关文章
- 尚硅谷STRUTS2视频学习笔记
上一个月一直在学习STRUTS2,学习的是尚硅谷佟刚老师的视频,因为很喜欢佟刚老师的声音,而且他讲的很细,笔记做的也多,基本上是照着他的视频完整的敲了一遍代码,下面就把学习到的知识梳理一遍,最后把项目 ...
- json2.js的初步学习与了解
json2.js的初步学习与了解,想要学习json的朋友可以参考下. json2.js的初步学习与了解 1.)该js的下载地址是:http://www.json.org/json2.js 2.)在页面 ...
- 老周的ABP框架系列教程 -》 一、框架理论初步学习
老周的ABP框架系列教程 -- 一.框架理论初步学习 1. ABP框架的来源与作用简介 1.1 简介 1.1.1 ABP框架全称为"ASP.NET Boilerplate ...
- struts2源代码学习之初始化(一)
看struts2源代码已有一段时日,从今天開始,就做一个总结吧. 首先,先看看怎么调试struts2源代码吧,主要是下面步骤: 使用Myeclipse创建一个webproject 导入struts2须 ...
- 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助
初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: var fs = require('f ...
- EF Codefirst 初步学习(二)—— 程序管理命令 更新数据库
前提:搭建成功codefirst相关代码,参见EF Codefirst 初步学习(一)--设置codefirst开发模式 具体需要注意点如下: 1.确保实体类库程序生成成功 2.确保实体表类库不缺少 ...
- Struts2框架学习(三) 数据处理
Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:Value ...
- Struts2框架学习(二) Action
Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...
- Struts2框架学习(一)
Struts2框架学习(一) 1,Struts2框架介绍 Struts2框架是MVC流程框架,适合分层开发.框架应用实现不依赖于Servlet,使用大量的拦截器来处理用户请求,属于无侵入式的设计. 2 ...
随机推荐
- 南昌网络赛 I. Max answer 单调栈
Max answer 题目链接 https://nanti.jisuanke.com/t/38228 Describe Alice has a magic array. She suggests th ...
- python 中使用 urllib2 伪造 http 报头的2个方法
方法1. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #!/usr/bin/pyth ...
- jQuery动态数字翻滚计数到指定数字的文字特效代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- “全栈2019”Java第十七章:赋值运算符和算术运算符
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 洛谷P4548 [CTSC2006]歌唱王国(概率生成函数)
题面 传送门 给定一个长度为\(L\)的序列\(A\).然后每次掷一个标有\(1\)到\(m\)的公平骰子并将其上的数字加入到初始为空的序列\(B\)的末尾,如果序列B中已经出现了给定序列\(A\), ...
- CF666E Forensic Examination(后缀自动机+动态线段树)
题意 给你一个串 $S$ 以及一个字符串数组 $T[1..m]$ , $q$ 次询问,每次问 $S$ 的子串 $S[p_l..p_r]$ 在 $T[l..r]$ 中的哪个串里的出现次数最多,并输出出现 ...
- Binaries和Source、tgz和zip的区别
在下载页面会有2种下载分类,一个是Binaries,一个是source,一般开放原代码软件都会有两个版本发布: Source Distribution 和 Binary Distribution ,二 ...
- HTML-★★★格式与布局fixed/absolute/relative/z-index/float★★★
很多网页都存在一个悬浮的操作条或者广告区,无论如何上下滚动网页,操作条或广告区都不会动,这个就是div制作,位置锁定在屏幕指定位置,现在我们就学习下网页的格式与布局. position 位置,来给di ...
- JS 与 OC 交互
WebView与JS的几种交互 IOS中 使用JavaScriptCore 实现OC与JS的交互 JavaScriptCore 使用
- 2018-2019-2 网络对抗技术 20165314 Exp6 信息搜集与漏洞扫描
一.原理与实践说明 1.实践内容 本实践的目标是掌握信息搜集的最基础技能.具体有: 1.各种搜索技巧的应用 2.DNS IP注册信息的查询 3.基本的扫描技术:主机发现.端口扫描.OS及服务版本探测. ...