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初步学习总结的更多相关文章

  1. 尚硅谷STRUTS2视频学习笔记

    上一个月一直在学习STRUTS2,学习的是尚硅谷佟刚老师的视频,因为很喜欢佟刚老师的声音,而且他讲的很细,笔记做的也多,基本上是照着他的视频完整的敲了一遍代码,下面就把学习到的知识梳理一遍,最后把项目 ...

  2. json2.js的初步学习与了解

    json2.js的初步学习与了解,想要学习json的朋友可以参考下. json2.js的初步学习与了解 1.)该js的下载地址是:http://www.json.org/json2.js 2.)在页面 ...

  3. 老周的ABP框架系列教程 -》 一、框架理论初步学习

    老周的ABP框架系列教程 -- 一.框架理论初步学习   1. ABP框架的来源与作用简介 1.1  简介 1.1.1       ABP框架全称为"ASP.NET Boilerplate ...

  4. struts2源代码学习之初始化(一)

    看struts2源代码已有一段时日,从今天開始,就做一个总结吧. 首先,先看看怎么调试struts2源代码吧,主要是下面步骤: 使用Myeclipse创建一个webproject 导入struts2须 ...

  5. 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助

    初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: var fs = require('f ...

  6. EF Codefirst 初步学习(二)—— 程序管理命令 更新数据库

    前提:搭建成功codefirst相关代码,参见EF Codefirst  初步学习(一)--设置codefirst开发模式 具体需要注意点如下: 1.确保实体类库程序生成成功 2.确保实体表类库不缺少 ...

  7. Struts2框架学习(三) 数据处理

    Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:Value ...

  8. Struts2框架学习(二) Action

    Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...

  9. Struts2框架学习(一)

    Struts2框架学习(一) 1,Struts2框架介绍 Struts2框架是MVC流程框架,适合分层开发.框架应用实现不依赖于Servlet,使用大量的拦截器来处理用户请求,属于无侵入式的设计. 2 ...

随机推荐

  1. 「NOIP 2013」 货车运输

    题目链接 戳我 \(Solution\) 这一道题直接用\(kruskal\)重构树就好了,这里就不详细解释\(kruskal\)重构树了,如果不会直接去网上搜就好了.接下来讲讲详细过程. 首先构建\ ...

  2. Strings in the Pocket(马拉车+字符串判断)

    题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=6012 BaoBao has just found two strings ...

  3. bzoj1800飞行棋

    题目链接 简单模拟 真的不敢相信ahoi09年的题竟然是这个难度 首先,一个必须要知道的定理是:圆上只有直径所对的圆周角是直角. 然后就很显然了, 只有两条不重合的直径上的四个点才能组成一个矩形, 所 ...

  4. 【bzoj5084】 hashit(广义SAM+set)

    题面 传送门 题解 后缀平衡树是个啥啊我不会啊-- 那么我们来考虑一下\(SAM\)的做法好了 不难发现它的本义是要我们维护一棵\(trie\)树,并求出\(trie\)树上每一个节点到根的这段串的不 ...

  5. ArchLinux中证书错误解决方案

    ca-certificates 更新 x509: failed to load system roots and no roots provided. curl error: Problem with ...

  6. Windows Server 2008 R2 下 Core界面

    Windows Server 2008 R2 下 Core界面 关于 sc 以及 net 命令 Sc 命令较不全面,仅仅是给服务发送一个开启或者关闭就结束了 Net 命令比较安全,它监视了整个服务的启 ...

  7. [开源] angularjs + Asp.net 前后端分离解决方案

    本文版权归 博客园 萧秦 所有,此处为技术收藏,如有再转,请于篇头明显位置标明原创作者及出处,以示尊重! 作者:萧秦 原文:http://www.cnblogs.com/xqin/p/4862849. ...

  8. NameError: name 'unicode' is not defined

    更改Unicode为str 然后重新setup install

  9. java FastJSON的使用

    1.JSON介绍 JSON(javaScript Object Notation)是一种轻量级的数据交换格式.主要采用键值对({"name": "json"}) ...

  10. Java 的 List 与 Scala 的 Seq 相互转换

    1. List 转 Seq: List<String> tmpList = new ArrayList<>(); tmpList.add("abc"); S ...