Struts2框架复习(一)--最基本的struts2框架
前言
最近离职在家,发现之前学习的Struts2框架由于长时间不使用有点生疏,有鉴于此写下此文以备自己复习使用,同时也供大家批评指正。
准备工作
我觉得Struts2主要就是对Servlet的封装,还有些其他功能。所以建议先学好了Servlet再学Struts2。我当时是在培训机构学的,开始不懂后来做多了,也就明白一些了。
本文基于JDK7,Struts2.3,Tomcat7,eclipse进行操作的。
使用Eclipse新建一个Java Web项目,如下图:(记得把项目编码改成UTF-8的,要不会出现中文乱码的)
注意:一定要勾选上面图片的生成web.xml的对号,否则要自己手动生成。
导包
下面的图片的图片是struts2.3的jar包,下载路径:https://pan.baidu.com/s/1kUVMtYR。
![](http://images2015.cnblogs.com/blog/694294/201702/694294-20170218151305238-751980643.png)
每个包的具体作用如下:
将上面的包放入项目的/WebContent/WEB-INF/lib中。
配置web.xml
Struts2是通过filter(拦截器)来启动的,因此web.xml需要为Struts2配置拦截器。
如图在org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter的init()(初始化)方法中将会自动搜索并读取struts.xml完成初始化操作。
注意:Struts2.1.3以下版本的Struts2拦截器对应的类是org.apache.struts2.dispatcher.FilterDispatcher
Struts2.1.3以上版本的Struts2拦截器对应的类是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter (本处用的是2.3所以是该类)
配置struts.xml
在项目的src目录下新建struts.xml(名字不能改,必须是小写的struts.xml)。
注意:有很多人说在src目录下建立struts.xml,有人说在项目的/WebContent/WEB-INF目录下新建struts.xml。其实都一样,因为src目录是项目默认的Source Folder文件,src下面的.Java文件都编译成了.class文件放入WEB-INF\classes文件夹下,xml文件也会被放在WEB-INF文件夹下。
上面只是个空的struts配置文件,主要是这个头文件是文本类别是
配置Action
struts2拦截到页面请求以后就会到struts.xml去查找对应的action处理请求。
新建包com.demo.action,新建类LoginAction.java,继承自com.opensymphony.xwork2.ActionSupport(也可以不必继承主要是为了方便)。
新建一个String属性message,生成setter和getter方法。
新建一个String方法execute()。还是上图方便。
展示页面
在项目的WebContent目录下新建index.jsp页面,页面内容如下:
注意:这个页面一定在WebContent下,不要写在WEB-INF下。
完善struts.xml
接下来就要把Action和展示页面配置到struts.xml中了。
启动测试
就项目放入tomcat中,启动tomcat,然后访问 http://localhost:8080/Struts2_DEMO/user/login 。
结果如下:
Struts2框架复习(一)--最基本的struts2框架的更多相关文章
- (转)struts2:数据校验,通过XWork校验框架实现(validation.xml)
转载自:http://www.cnblogs.com/nayitian/p/3475661.html struts2:数据校验,通过XWork校验框架实现(validation.xml) 根据输入 ...
- struts2:数据校验,通过XWork校验框架实现(validation.xml)
根据输入校验的处理场所的不同,可以将输入校验分为客户端校验和服务器端校验两种.服务器端验证目前有两种方式: 第一种: 参考:struts2:数据校验,通过Action中的validate()方法实现校 ...
- struts2针对mvc的框架 spring针对解耦与事务的框架
struts2针对mvc的框架 spring针对解耦与事务的框架
- [struts2学习笔记] 第五节 编写struts2的action代码
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40479299 官方文档: http://struts.apache.org/relea ...
- Struts2(三.用户登录状态显示及Struts2标签)
1.编写main.jsp /WebContent/main.jsp 之前用户登录时已把用户存入session <%@ page language="java" content ...
- Spring框架的第四天(整合ssh框架)
## Spring框架的第四天 ## ---------- **课程回顾:Spring框架第三天** 1. AOP注解方式 * 编写切面类(包含通知和切入点) * 开启自动代理 2. JDBC模板技术 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) 前言:这篇博客开始我们便一步一步的来实现这 ...
- .NET框架设计(常被忽视的框架设计技巧)
阅读目录: 1.开篇介绍 2.元数据缓存池模式(在运行时构造元数据缓存池) 2.1.元数据设计模式(抽象出对数据的描述数据) 2.2.借助Dynamic来改变IOC.AOP动态绑定的问题 2.3.元数 ...
- 动端逐渐出了许多的移动端的框架,比如Sencha Touch、JQTouch、Jquery-moblie、jqMobi等等。这些框架都有优缺点,不同的框架应用在不同的项目中。现简单阐述一下各框架的优缺点:
移动前端工作的那些事---前端制作之微信小技巧篇 (2013-11-15 15:20) 转载▼ 标签: it css3/javascript html5 webapp 手机网站搭建 分类: 前端制 ...
- 通过Ruby On Rails 框架来更好的理解MVC框架
通过Ruby On Rails 框架来更好的理解MVC框架 1.背景 因为我在学习软件工程课程的时候,对于 MVC 框架理解不太深入,只是在理论层面上掌握,但是不知道如何在开发中使用 MVC ...
随机推荐
- (2)麻省理工:计算机科学和 Python 编程导论
语义描述了我们如何从那些表达式中推导出相关的含义,从而解决我们想解决的问题. 语法描述了如何将合法表达式组合在一起. 我们要选择什么样的编程语言? 1. 不管我们选什么,都有如下过程: 输入信 ...
- Raspberry Pi开发之旅-控制蜂鸣器演奏乐曲
一.无源蜂鸣器和有源蜂鸣器 步进电机以及无源蜂鸣器这些都需要脉冲信号才能够驱动,这次尝试用GPIO的PWM接口驱动无源蜂鸣器弹奏一曲<一闪一闪亮晶晶>. 无源蜂鸣器: 无源内部没有震荡源, ...
- OC语言Block
OC语言Block 一.Block (一)简介 Block是什么?苹果推荐的比较特殊的数据类型,效率高,在运行中保存代码.用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行. Block和 ...
- 【PostgreSQL-9.6.3】使用pg_settings表查看参数的生效条件
PostgreSQL数据库的配置参数都在postgresql.conf文件中,此文件的目录为数据库的数据目录($PGDATA).这些参数有些是直接修改就可以生效,有些需要重启数据库才能生效,而有些根本 ...
- [权威指南]学习笔记——第1、2章 MongoDB介绍和基础知识
安装目录:C:\Program Files\MongoDB\Server\3.2 Bin:..\..\Program Files\MongoDB\Server\3.2\bin 启动命令:mongod ...
- 安卓app测试之内存监控
一.通过Dumpsys 来取值 1.adb shell dumpsys meminfo 获取的所有进程的内存信息,以及总内存,剩余内存,使用的内存等信息. 2.想获得某一进程内存的详细信息,在后面加上 ...
- php redis使用 常用方法
基本 $redis = new Redis();//创建对象 $redis->connect('127.0.0.1',6379);//建立连接 $redis->delete('test') ...
- Linux的net.ipv4.tcp_timestamps参数
Q1 今天发生了一个奇怪的现象,在家里始终打开公司的网站打开不了,我就齐了怪了,然后我就各种测试,从ping到dig域名,然后再curl,都是没有问题的,但是就是打不开,最好没有办法只能抓包了,从抓包 ...
- Extjs查询实现
效果图如上: 页面代码: Ext.QuickTips.init(); //放在图标上会自动提示信息 Ext.define('ExtApp.view.StudentList' , { extend : ...
- Linux mpstat-显示各个可用CPU的状态
更多linux 性能监测与优化 关注:linux命令大全 mpstat命令指令主要用于多CPU环境下,它显示各个可用CPU的状态系你想.这些信息存放在/proc/stat文件中.在多CPUs系统里,其 ...