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 ...
随机推荐
- javascript AJAX简单原理及什么是ajax
AJAX简单原理供初学者理解 AJAX的原理: Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面.这其 ...
- pageadmin CMS Sql新建数据库和用户名教程
用pageadmin网站制作如何Sql新建数据库和用户名 sql server软件安装完毕后,需要新建一个数据库用来作为网站的数据库. 1.打开sql管理界面,如图所示,找到数据库,右键单击数据库,选 ...
- coderfoces D. Gourmet choice
D. Gourmet choice time limit per test 2 seconds memory limit per test 256 megabytes 题目链接: https: ...
- 关于react的一些疑问点
参考转载:链接:http://www.jianshu.com/p/83bda9cd8c67 1.refs <input type="text" ref="input ...
- leecode刷题(8)-- 两数之和
leecode刷题(8)-- 两数之和 两数之和 描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输 ...
- Archlinux 下系统如何设置让 Wine 调用 ibus输入法
前言: 如果你是fcitx输入法用户,那么这篇文章大可不必看.fcitx是一个非常强大的框架,著名搜狗输入法就是基于fcitx输入法架构开发的.据我所知.您遇到这个问题可以通过卸载ibus输入法进行修 ...
- TCP的超时与重传
一.引言 对于每个TCP连接,TCP管理4个不同的定时器 重传定时器用于当希望收到另一端的确认. 坚持 (persist) 定时器使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口. 保活 (ke ...
- Flink学习笔记:Operators之CoGroup及Join操作
本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...
- 对django的理解
http://www.cnblogs.com/chongdongxiaoyu/p/9403399.html https://blog.csdn.net/weixin_42134789/article/ ...
- 海思hi35xx 开发学习(2):系统控制
应用程序启动 MPP 业务前,必须完成 MPP 系统初始化工作.同理,应用程序退出MPP 业务后,也要完成 MPP 系统去初始化工作,释放资源. 视频缓存池 一组大小相同.物理地址连续的缓存块组成一个 ...