![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Struts2学习
realize1020
这个作者很懒,什么都没留下…
展开
-
Struts2的学习——14.拦截器
14.拦截器struts中的所有功能都是由拦截器来实现。拦截器是struts2的核心。拦截器和过滤器非常相似,过滤器过滤的是所有的请求,拦截器只过滤action。并且在struts2中所有功能都是可拔插的。在struts2中还可以自定义拦截器来实现一些struts2没有提供的功能。在struts2中拦截器的实现是通过代理来实现的(AOP)。在struts2中拦截器是单例的,所有action共享相...原创 2019-02-14 21:26:40 · 103 阅读 · 0 评论 -
Struts2的学习——9.ThreadLocal和ActionContext
9.ThreadLocal和ActionContextThreadLocal该类提供了线程局部(thread-local)变量,这些变量不同于他们普通对应物,因为访问某个变量(通过其get和set方法)每个线程都有自己的局部变量,他独立于变量的初始化副本。ThreadLocal实例通常是类中的private static 字段,他们希望将状态与某一个线程(例如,用户ID或者事务ID)相关联。T...原创 2019-02-11 16:26:26 · 172 阅读 · 0 评论 -
Struts2的学习——10.Servlet API
10.Servlet API在struts2的开发中依然需要使用到ServletAPI,比如用户登录后,需要将用户信息保存到session中。在struts2中有两种方式可以获取到ServletAPI,一种是解耦的方式,一种是耦合的方式。解耦方式:关键代码:ActionContext.getContext().getSession().put("currentUser","user")...原创 2019-02-11 17:15:27 · 117 阅读 · 0 评论 -
Struts2的学习——16.拦截器栈和方法拦截器
16.拦截器栈和方法拦截器**拦截器栈的定义:**拦截器栈就是一组拦截器,放在一个配置中,在拦截器栈中可以引用多个拦截器,在真正调用只需引用一个栈即可。它方便引用,并且在一个拦截器栈中可以引用另一个拦截器栈。截图如下。**拦截器栈的引用:**和拦截器的引用一样,可以将拦截器栈当成拦截器来使用。截图如下。设置默认的拦截器栈: struts2定义了默认的拦截器栈是defaultstack里...原创 2019-02-17 22:21:07 · 218 阅读 · 0 评论 -
Struts2的学习——11.类型转换
11.类型转换在Struts2中,对常用的数据类型已经自动进行了类型转换工作,但是对于自定义类型Struts2没法去做类型转换工作。需要自定义类型转换器来实现类型的转换。例子如下:这个提交是成功不了的,因为strusts2中没有Point的类型转换。怎样才能实现自定义类型转换呢?新建一个类型转换器类继承StrutsTypeConverter类,它有两个抽象的方法convertFr...原创 2019-02-12 17:53:53 · 127 阅读 · 0 评论 -
Struts2的学习——12.数据校验(1)
12.数据校验(1)数据校验分为两类,一类是前端的数据校验,一般通过js来实现,一类是后端的数据校验。在对一些安全级别要求较高项目都需要对其进行后端验证。struts2提供了两种后端校验方法,一种是硬编码实现,一种是校验框架实现。如果要使用struts2的数据校验功能,action需要继承ActionSupport类。在该类中提供了一个validate()方法,可以将验证规则写在该方法中,只有...原创 2019-02-12 22:01:37 · 132 阅读 · 0 评论 -
Struts2的学习——13.数据校验(2)
12.数据校验(2)使用struts2提供的校验框架实现数据的校验。实现步骤如下.创建jsp页面创建action类在action类所在包下 添加校验规则文件以ActionClassName-validation.xml命名。配置struts.xml文件jsp页面:action处理类UserFormAction-validation.xmlstruts.xml校验框...原创 2019-02-12 22:26:46 · 102 阅读 · 0 评论 -
Struts2的学习——17.文件上传
17.文件上传在大部分的应用都有文件上传的功能。在servlet中可以使用第三方的插件来实现文件上传:smartfileupload,commons-fileupload.**注意要点:**表单的提交方式一定是post,在表单中要设置enctype="multipart/form-data"以二进制流的方式传数据给服务器。写一个文件上传的jsp页面。截图如下。写一个文件上传action...原创 2019-02-19 14:49:22 · 104 阅读 · 0 评论 -
Struts2的学习——18.批量文件上传
18.批量文件上传相对于文件上传,只需要把action处理类给修改一下就可以了。public class uploadAction{ //file属性名和表单域名相同,类型为File private File file[]; //上传文件的名称也是由struts2设置好 //属性名=表单域名+FileName private String fileFileName[]; //文件...原创 2019-02-20 20:47:17 · 96 阅读 · 0 评论 -
Struts2的学习——8.struts2 Action的配置优化
8.struts2 Action的配置优化当Action处理类中有多个处理方法时,在Struts.xml就可能要写很多个action标签,比如每个表的增删改查都的写一个action,当一个大的项目中有几百张表时,那么就得写很多很多的action,这样在Struts.xml显得太臃肿了。所以,出现了3种Action的配置优化方法。通过动态方法调用解决:不安全,略。通过通配符的方式来解决(这种...原创 2019-02-09 01:42:38 · 141 阅读 · 0 评论 -
Struts2的学习——7.struts2配置讲解(2)
7.struts2配置讲解(2)在struts2-core-2.3.16.1.jar下面的default.properties文件里配置了一些Struts2里面的常量。Action的扩展名:<!-- 扩展名 --> <constant name="struts.action.extension" value="action,do,wang,"></cons...原创 2019-02-09 00:53:03 · 68 阅读 · 0 评论 -
Struts2的学习——15.自定义拦截器
15.自定义拦截器在开发过程中,经常会有使用到struts2没有提供的一些功能,这时需要我们自定义拦截器来实现。自定义拦截器有两种实现方式,一种是实现Interceptor接口,一种是继承AbstractInterceptor类。截图如下。3. 然后是自定义拦截器的配置。在struts.xml文件里配置。截图如下。在action里面引用自定义的拦截器,截图如下。还可以自定义一...原创 2019-02-14 21:39:48 · 122 阅读 · 0 评论 -
Struts2的学习——20.异常处理
20.异常处理异常处理在实际的应用开发中必不可少。比如:开发中不能直接将错误信息展示给用户看,需要对其进行处理,给用户一个更友好的提示。一个接口里面定义了一个删除的方法delete()进行操作。抛出一个UserException的异常。当参数为0零时报错。接口:接口的实现类一个自定义的异常UserException写一个action处理类,用来调用实现类当中的dele...原创 2019-02-21 16:20:44 · 97 阅读 · 0 评论 -
Struts2的学习——1.struts2的简单配置
Struts2的学习——1.struts2的简单配置导入所需要的包。在web.xml中配置struts2的前端控制器。struts2的前端控制器其实就是一个filter过滤器,filter-name标签里面是struts2,filter-class标签里面是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilt...原创 2019-02-08 18:25:31 · 106 阅读 · 0 评论 -
Struts2的学习——2.struts2的简单配置讲解
2.struts2的配置讲解web.xml:在web.xml中 配置了struts2的前端控制器,所谓struts2的前端控制器其实就是一个filter过滤器,也就是struts2框架开始工作前的入口。package:struts.xml文件放在src文件夹下面。每一个package使用了模块管理模式,name自定义,但是不能重复,在一个项目中唯一。namespace命名空间和url请求路径...原创 2019-02-08 19:39:10 · 130 阅读 · 0 评论 -
Struts2的学习——3.struts2的执行流程
3.struts2的执行流程1.过程: 发起请求——服务器就受到请求并且交给struts2的前端控制器——根据请求的url查看struts.xml中的namespace+actionName是否存在。——如果不存在就是显示404页面,如果存在就执行action所对应类的对应方法。——根据方法的执行结果到action的结果集进行匹配——响应结果。action里面的name和method没有直接关...原创 2019-02-08 20:08:23 · 94 阅读 · 0 评论 -
Struts2的学习——4.struts2的数据处理(1)
4.struts2的数据处理(1)使用struts2获取表单数据,只需要表单域的名称(…name=“”)和Action处理类的属性(private String name)名称一致,并且提供属性的set方法,那么在Action处理类中即可获得表单数据。这种获取数据的方式称为属性驱动。如果数据需要显示到页面上,那么该数据可以作为处理类的属性,处理方法后该属性有值,并且有该属性的get方法,那么...原创 2019-02-08 21:42:34 · 86 阅读 · 0 评论 -
Struts2的学习——5.struts2的数据处理(2)
5.struts2的数据处理(2)在structs2中,对于表单数据的处理有3种方式,属性驱动,对象驱动,模型驱动。上节课我们已经学习了属性驱动的方式,但是如果遇到一个很多个属性的时候,我们就需要换一种方式了。首先,在属性驱动的方式里面,有两个坑需要注意一下,第一个就是属性的命名一定要规范,因为在struts2底层代码中,它把属性的每一个首字母都变成了大写。如果命名不规范(开头第二个字母大...原创 2019-02-08 22:56:49 · 94 阅读 · 0 评论 -
Struts2的学习——6.struts2几种创建Action的方法
6.struts2几种创建Action的方法在Struts2中有三种方式来创建action处理类。通过实现Action接口来创建action的处理类。:实现Action接口的方式可以直接使用Action提供的常量,必须重写默认处理方法,在struts.xml中不需要在method中指定方法了,因为实现Action接口实现的是默认的execute()方法。截图如下。通过继承Action...原创 2019-02-09 00:45:03 · 242 阅读 · 0 评论 -
Struts2的学习——19.文件下载
19.文件下载文件下载可以通过超链接直接实现。但是通过超链接直接下载的文件不安全。任何用户得到超链接都可以下载。没法实现权限的控制。浏览器如果能够打开文件,那么浏览器会直接将文件打开。要通过流的方式来下载文件同时对其控制文件下载的jsp页面,超链接只要经过action就可以检查它的权限action处理类配置文件里,result的type类型得是stream类型。然后添加参数para...原创 2019-02-20 21:59:46 · 123 阅读 · 0 评论