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 ...
随机推荐
- 聊聊 JDK 阻塞队列源码(ReentrantLock实现)
项目中用到了一个叫做 Disruptor 的队列,今天楼主并不是要介绍 Disruptor 而是想巩固一下基础扒一下 JDK 中的阻塞队列,听到队列相信大家对其并不陌生,在我们现实生活中队列随处可见, ...
- 201621123012《Java程序设计》第八周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的contains源代码 答:如果为空的时候 ...
- 爬虫开发5.requests模块的cookie和代理操作
代理和cookie操作 一.基于requests模块的cookie操作 引言:有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests ...
- now() 的用法
在平时对于数据库操作中,有时候会使用到时间,比如-数据的创建时间/更新时间之类问题,可能是需要查询出时间的结果,也存在大量的需要搜索某个时间点或时间段的操作: MySQL中取本地时间 now() 取本 ...
- C# 服务端推送,十步十分钟,从注册到推送成功
目标 展示 C# 服务端集成极光推送的步骤,多图少字,有图有真相. 使用极光推送, C# 服务端推送到 Demo App,Android 手机收到推送,整理为十个步骤,使用十分钟左右,完成从注册账号到 ...
- word的xml文件中空白页和换页
■ word中分页符(插入空白页): <w:r> <w:rPr> <w:rFonts w:as ...
- Struts2与easyui分页查询
easyui里面分页查询:在easyui框架里面已经进行一些分装,所以我们只要进行后台分页查询即可 web.xml和struts.xml文件的配置的就不需要我多说了,和分页前代码一样,不需要更改: 需 ...
- 关于web界面设计的整体可维护性的感悟
1.表现与数据分开管理: 某些数据具备特殊的表现格式,比如颜色,大小等等.为了对这些格式表现分开管理进行 a.使用css定义该类型数据的表现形式: 定义数据的类别,通过该类别对数据格式进行统一定义 . ...
- Linux 通过程序名获取进程ID并Kill
#!/bin/bash pids=$(ps -ef | grep XXX| awk '{print $2}') for pid in $pids do echo $pid kill -9 $pid d ...
- Git服务器搭建笔记
前言:最近公司要使用git服务器对Android4.4的源码进行版本控制,所以花了些时间在Ubuntu14.04上搭建了git服务器,正好前段时间也学习了下git的使用哈哈 ------------- ...