Structs2笔记①--structs的背景、structs2框架的意义、第一个helloworld
Struts2的背景
- 由出色稳定的框架struts1和webwork框架整合而来的
- 吸取了两大框架的优点
- 提高了开发的效率和规范性
- 更好的实现了MVC架构
- 解除了与servlet的强耦合性
使用struts2框架的意义
- 更敏捷的开发
- 自动封装表单提交数据:属性驱动,模型驱动
- 便捷的实现上传文件:fileupload
- 使网站通用于国内外:国际化
- 通过配置完成表单验证:校验器
- 强大的标签库:Struts2标签库,OGNL标签库
- 更科学的管理
- 使用xml文件管理程序文件对应关系
- 更安全的操作
- 安全的线程机制:每个action都是独立的
- 防止了数据的重复提交:token令牌机制
- 先进的编程思路
- 面向切面编程:拦截器
Helloworld
下载路径:http://struts.apache.org/download.cgi#struts2324
第一步把需要的jar文件拷贝过去
第二步把struts.Xml拷贝过去
如果不连接网络的话就不能提示
需要在myeclipse内配置下,将dtd文件的网址复制到浏览器的地址框中,下载。
或者在struts-2.3.24\src\core\src\main\resources目录内也存在dtd文件。

第三步将关于filter的配置拷贝到web.xml中
Struts.Xml的属性配置
<!-- bean标签用于创建一个JavaBean 实例 -->
<!-- constant该标签用于struts2默认行为标签 -->
<!-- package该标签
包标签
用于区分不同的请求文件的标签
比如说网站前台请求
网站后台请求-->
<!--include该标签用于引入其他的xml配置文件 -->
|
|
Helloworld的例子
输入的表单
|
<form 用户名:<input 密码:<input <input </form> |
LoginAction
|
public private String username;//此处 private String password; public String execute(){ if (username.equals("admin")&&password.equals("123")) { return }else { return } }
public String getUsername() { return } public this.username = username; } public String getPassword() { return } public this.password = password; }
} |
配置struts.xml文件 表单中访问的路径也要加上namespace的名字
|
<package <action <result <result </action> </package> |

Struts2的属性驱动和模型驱动帮我们完成了数据的获取和数据的封装。
加入struts2的标签库的支持 <%@tagdlib prefix="s" uri="/struts-tags"%>
注意:要想拿到当前应用程序的路径需要在请求的路径前面加上
action="<%=request.getContextPath() %>
Structs2笔记①--structs的背景、structs2框架的意义、第一个helloworld的更多相关文章
- X-Cart 学习笔记(二)X-Cart框架1
目录 X-Cart 学习笔记(一)了解和安装X-Cart X-Cart 学习笔记(二)X-Cart框架1 X-Cart 学习笔记(三)X-Cart框架2 X-Cart 学习笔记(四)常见操作 四.X- ...
- X-Cart 学习笔记(三)X-Cart框架2
目录 X-Cart 学习笔记(一)了解和安装X-Cart X-Cart 学习笔记(二)X-Cart框架1 X-Cart 学习笔记(三)X-Cart框架2 X-Cart 学习笔记(四)常见操作 3.了解 ...
- [.NET] 《Effective C#》快速笔记(四)- 使用框架
<Effective C#>快速笔记(四)- 使用框架 .NET 是一个类库,你了解的越多,自己需要编写的代码就越少. 目录 三十.使用重写而不是事件处理函数 三十一.使用 ICompar ...
- 嵌入式Linux驱动笔记(十八)------浅析V4L2框架之ioctl【转】
转自:https://blog.csdn.net/Guet_Kite/article/details/78574781 权声明:本文为 风筝 博主原创文章,未经博主允许不得转载!!!!!!谢谢合作 h ...
- go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量
go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量 下载安装:go get github.com/astaxie/beego 首页 - beego: 简约 & 强大并存 ...
- .NET MVC 学习笔记(二)— Bootstrap框架
二..NET MVC 学习笔记(一)—— Bootstrap框架 在实际开发过程中,页面的样式问题是让人很头疼的问题,良好的用户界面可以大大提高用户体检,而在你没有前端开发人员的火力支援情况下,并不是 ...
- 《Effective C#》快速笔记(四)- 使用框架
.NET 是一个类库,你了解的越多,自己需要编写的代码就越少. 目录 三十.使用重写而不是事件处理函数 三十一.使用 IComparable<T> 和 IComparer<T> ...
- Spring框架学习笔记(3)——SpringMVC框架
SpringMVC框架是基于Spring框架,可以让我们更为方便的进行Web的开发,实现前后端分离 思路和原理 我们之前仿照SpringMVC定义了一个自定义MVC框架,两者的思路其实都是一样的. 建 ...
- nodejs学习笔记一:安装express框架并构建工程目录
偶遇node是在一个阳光明媚的上午,无意间打开博客看到一片关于nodejs的介绍,通读全篇后,心情跌宕起伏,哎呀,这么好的东西我竟然现在才知道,这是最气的,于是马上开始制定学习nodejs计划,好了, ...
随机推荐
- 记换换回收一个js逆向分析
随着现在对数据的重视程度越来越高,现在各大网站都加强了反爬技术,比如本文中js加密 url地址:https://www.huanhuanhuishou.com/gujia/22201.html 需要爬 ...
- x01.calc: 编程语言
想写终极程序,大都去写操作系统或编程语言了.编程语言可以极其复杂如C,也可以极简,只处理加减乘除如 calc. 1. 词法分析 %{ #include <stdio.h> #include ...
- SEO优化上首页之搜索引擎蜘蛛Spider原理
Spider,蜘蛛,又名网页网络爬虫.网络机器人,是按照一定策略不断抓取互联网网页的特定程序.蜘蛛抓回的页面创建索引后参与排名,等待用户检索.为了网站优化自然排名上首页,精灵儿工作室下面详细剖析Spi ...
- golang 杂思
正文 这里给大家总结一些 Go player 开发小技巧. 欢迎批评和交流, 望大家喜欢. 1. 配置管理 推荐一种简单粗暴的配置管理方式 [配置 映射 内部结构]. 例如有个配置文件 config. ...
- Echarts插件
<%@ page contentType="text/html;charset=UTF-8" language="java" %><% Str ...
- Google 日历短信通知没有了
关于 Google 日历短信通知的重要通知 从 2015 年 6 月 27 日起,Google 日历将不再发送短信通知.短信通知是我们在智能手机问世之前推出的功能.如今,智能手机和通知随处可见,即使处 ...
- fortran打开文件“” /dde错误
因为装了Intel Visual Fortran 之后又装了PGI的软件,结果打开fortran文件时候出现"" /dde错误 解决方法:打开注册表管理器,定位到如下键:Compu ...
- JMeter转制LoadRunner HTTP协议脚本的小技巧
对于Http协议的请求,除了手工编写脚本外,JMeter还提供了录制浏览器操作的功能,甚是方便.那如果手头有一堆HTTP协议的LoadRunner脚本,能不能比较快速的转制成JMeter脚本呢?其实也 ...
- 洛谷P1585 魔法阵
题目传送门 这题就是一个有技巧的DFS+一大堆乱七八糟的剪枝 进行DFS时注意一下以下点 根据题意,我们可以把DFS分成两块,即1--n*m/2与n*m/2--n*m,第一块边找边记录,第二块就开始计 ...
- Unity学习笔记(5):动态加载Prefab
第一种方法,从Resources文件夹读取Prefab Assets/Resources文件夹是Unity中的一个特殊文件夹,在博主当前的认知里,放在这个文件夹里的Prefab可以被代码动态加载 直接 ...