struts2标签

struts2(四)之输入校验

人盡茶涼 提交于 2020-02-20 06:42:42
前言   这个本来是昨天就写好的,但是不知道为什么没有保存成功!但是今天起来再写一遍就当巩固一下知识吧。 一、输入校验概述   在以前我们写一个登录页面时,并没有限制用户的输入,不管用户输入什么,我们都存入数据库中,很显然这是不行的,我们需要 检测用户输入的文本是否合法,   是否符合我们需要的文本格式, 符合就放行,而 struts2中就有这种功能,能帮我们在服务器段进行判断 ,比如用户名不能为空,年龄只能在0-100之间等。现在   我们就来说说如何使用struts2中的校验功能把。   分为两种 :编程式校验和配置校验 (XML配置校验) 1)验证方式   客户端验证:javascript   服务端验证:逻辑验证   注意:如果客户端和服务端验证二选一,服务端必不可少。用户的输入验证,必须做,且工作量巨大。   实际开发中:服务端+客户端都需要验证 2)struts2的服务验证   在struts2的框架中,它也 提供了一个Map<表单的字段名,错误提示>,我们要做的:往map中存放错误信息 。 二、编程式校验 2.1、前提条件   前提:动作类必须继承ActionSupport         重写validate方法   注意:      1)validate方法会在动作方法执行之前,进行验证。      2) 实现Validateable接口

struts2工作原理

天大地大妈咪最大 提交于 2020-02-17 08:02:59
[组成]Struts2框架的一些组成部分 1、ActionMapper和ActionMapping org.apache.struts2.dispatcher.mapper.ActionMapper接口在HTTP请求和action调用请求之间提供一个映射。当给定一个HTTP请求时,ActionMapper根据请求的URI查找是否有对应的action,如果有,返回一个描述action调用的ActionMapping;如果没有,返回null。 ActionMapping本质上是一个数据传输对象,它将action类和要执行的方法的详细资料手机在一起。 2、ActionProxy和ActionInvocation ActionProxy在XWork和真正的action之间充当代理角色,在通过框架执行action的过程中,因为是使用代理而不是直接操作对象,所以可以在代理中封装拦截器、result等额外代码。 ActionProxy持有ActionInvocation对象。ActionInvocation代表了action执行的当前状态。它持有拦截器(按顺序排列)、Action实例、结果映射(从结果吗到Result实例的映射)和ActionContext。 3、ActionContext ActionContext是action执行的上下文

idea搭建struts2框架dome

╄→гoц情女王★ 提交于 2020-02-16 09:59:44
第一步 第二步 第三步 进入项目目录后,在web/WEB-INF下新建lib文件夹,同时将在上一节整理的struts2开发包拷入lib文件,之后,右键lib目录,选择Add as library选项,将开发包配置好。如下: jar包下载连接:https://pan.baidu.com/s/1w6NZRVr6LIMpQusVvpw64w 提取码:5034 第四步 打开web/WEB-INF中的web.xml,配置filter,这个就是之前提到过的前端控制器。如下: <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 这里注意 :struts2每个版本不同org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter 路径地址不一样,具体请根据版本的不同书写正确的拦截器路径地址

java struts2入门学习---拦截器学习

只谈情不闲聊 提交于 2020-02-12 02:17:49
一、拦截器,拦截器栈 1、拦截器的作用 拦截器本质上和servlet的过滤器是一样的。在struts2中,拦截器能够 对Action前后进行拦截 ,拦截器是一个可插拨的,你可以选择使用拦截器,也可以卸载拦截器。 2、拦截器执行顺序 在struts.xml文件中,<intercepto-ref/>中先引用的先执行,后引用的后执行。如果某个拦截器出错或不允许通过,那么下一个拦截器是不允许执行的。 需要拦截哪个Action,就在哪个Action对应的<action>标签中配置即可。 在部署web应用时,拦截器的空参构造方法和init()方法各执行一次,每次请求时intercept()方法都会执行一次。 3、自定义拦截器 1) 声明一个拦截器 <pacakge > <interceptors> <interceptor name="LoginInterceptor" class="interceptor.LoginInterceptor"> </interceptor> </interceptors> <action ></action> </package> 注意: 这里interceptors与action标签同级。其中class对应拦截器的全路径。name对应拦截器的名称,这个可以自己随便定义,建议与类名相同,此名称要唯一。 2)引用一个拦截器: <action> <!--

Struts2之拦截器

余生颓废 提交于 2020-02-12 02:16:13
Struts2的拦截器和Servlet的 Filter过滤器 及其相似, Struts2的拦截器 只会处理action类,而servlet的过滤器可处理 servlet,jsp,html等等 拦截器可以说是Struts2的核心,大部分功能都是通过拦截器来实现的,只要我们的包继承了 struts-default 包 <package name="struts2" extends="struts-default">,就可以使用 struts-defaul 里的拦截器 自定义拦截器的步骤 : 1) 编写拦截器类,需要实现 Interceptor接口,并实现该接口的三个方法:init ,intercept ,destroy 或者继承 AbstractInterceptor抽象类 ,并实现 intercept 方法就够了 或者继承 MethodFilterInterceptor抽象类,并实现 doIntercept方法 分析 : Interceptor接口 、 AbstractInterceptor抽象类 、 MethodFilterInterceptor抽象类 ,三者是存在关系的, MethodFilterInterceptor抽象类 继承 AbstractInterceptor抽象类 实现 Interceptor接口 2) 在struts.xml 文件中定义拦截器(action标签外)

MAC+IDEA+搭建struts2开发环境与Struts2学习心得

霸气de小男生 提交于 2020-02-04 02:44:44
最近准备接手公司的一个老的struts项目的维护工作,所以准备在自己本地搭建一个struts的开发环境学习一下struts2项目。网上翻找了不少资料,发现这篇博客写的最简单,最好用。 https://blog.csdn.net/u010358168/article/details/79769137 struts官网地址: https://struts.apache.org/index.html 首先登陆struts官网,下载完成的struts项目作为参考。 将下载后的文件解压,在lib目录下将会看到很多jar包文件,搭建基本的环境需要的jar包为下图: 需要修改web.xml文件的为如下配置(这也是通过查看官网得出来的,学习的过程中查看官网太重要了!!!): < filter - class > org . apache . struts2 . dispatcher . filter . StrutsPrepareAndExecuteFilter < / filter - class > 成功启动后看到该图,说明项目基本搭建成功: 遇到的问题总结: 1、Javassist library is missing in classpath! Please add missed dependency! 解决方法:因为引入的时候,少了一个javassist的jar引起的报错

struts2的工作原理

半城伤御伤魂 提交于 2020-02-03 07:24:09
struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说struts2是struts1和Webwork结合的产物。 一个请求在Struts2框架中的处理分为以下几个步骤: 1.客户端发出一个指向servlet容器的请求(tomcat); 2.这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器。 3.过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求时,它和请求一起相互配合访问struts2的底层框架结构。在web容器启动时,struts2框架会自动加载配置文件 里相关参数,并转换成相应的类。如:ConfigurationManager、ActionMapper和ObjectFactory。ConfigurationManager 存有配置文件的一些基本信息,ActionMapper存有action的配置信息。在请求过程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的。过滤器会通过询问ActionMapper类来查找请求中需要用到的Action。 4.如果找到需要调用的Action,过滤器会把请求的处理交给ActionProxy。ActionProxy为Action的代理对象

Struts2框架

大兔子大兔子 提交于 2020-02-03 00:42:45
1 , Struts2 框架介绍 Struts2 框架是 MVC 流程框架,适合分层开发。框架应用实现不依赖于 Servlet ,使用大量的拦截器来处理用户请求,属于无侵入式的设计。 2,Struts2 框架的流程原理 1)请求先到达 Filter 中央控制器 2)然后为 Action 创建代理类 3)将各个服务存放在拦截器中,执行完拦截器后再去执行action类行 action 类, action 类调用 service ,再调用 dao 4)得到结果字符串,创建 result 对象 5)转向相应的视图。 程序流程图如下: 3 ,框架的使用 框架为我们做好了封装,使用起来就按照步骤,配置几个xml文件就行拉。 1)导入jar包 2)拷贝struts.xml文件 将拷贝的配置文件放在根目录src下。struts.xml文件主要是配置请求路径对应action类的,以及结果跳转路劲。 [html] view plain copy print ? <? xml version= "1.0" encoding= "UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2

struts2的工作原理

别说谁变了你拦得住时间么 提交于 2020-02-02 21:34:55
详见:https://www.cnblogs.com/zhangxiangguo/p/6582414.html https://duanxx.iteye.com/blog/1662918 众所周知,Struts2是个非常优秀的开源框架,我们能用Struts2框架进行开发,同时能快速搭建好一个Struts2框架,但我们是否能把Struts2框架的工作原理用语言表达清楚,你表达的原理不需要说出底层是怎么实现的,我估计大多数的人也听不懂。当面试官问到我们Struts2的工作原理时,我们该怎么回答这个问题呢?回答什么才能让自己说的与众不同,先看看其他朋友总结的 注:参考文章: http://www.blogjava.net/GavinMiao/archive/2011/08/29/357480.html 一 工作原理 在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用

Struts1、WebWork、Struts2介绍

喜夏-厌秋 提交于 2020-02-02 21:34:37
一、Struts1 1、Struts1原理简介 Struts1框架以ActionServlet作为控制器核心,整个应用由客户端请求驱动。当客户端向Web应用发送请求时,请求被Struts1的核心控制器ActionServlet拦截,ActionServlet根据请求决定是否需要调用业务逻辑控制器处理用户请求(实际上,业务逻辑控制器还是控制器,它只是负责调用模型来处理用户请求),当用户请求处理完成后,其处理结果会通过jsp呈现给用户。 Struts1,控制器就是它的核心,Struts1的控制器分为核心控制器和业务逻辑控制器。核心控制器就是ActionServlet,由Sturts1框架提供;业务逻辑控制就是用户自定义的Action,由应用开发者提供。 Struts1的运行流程: 2、MVC分析 (1)、Model Struts1的Model部分由底层的业务逻辑组件充当,这些业务逻辑组件封装了底层数据库访问、业务逻辑方法实现。 (2)、View Struts1的View部分采用Jsp实现。不支持FreeMarker、Velocity等模板技术,支持的表现层技术单一。 (3)、Controller 由两个部分组成。 系统核心控制器:由Struts1框架提供,就是系统的ActionServlet。 业务逻辑控制器:由Struts1框架提供,就是用户自己实现的Action实例。 3、优缺点