struts.xml配置: <struts> <package name="hw" namespace="/test" extends="struts-default"> <action name="helloworld" class="com.self.action.HelloWorldAction" method="dohelloworld"> &…
一.Action名称的搜索顺序 1.获得请求路径的URI,比如url是:http://server/struts2/path1/path2/path3/test.action 2.首先寻找namespace为/path1/path2/path3的package,假设不存在这个package则运行步骤3:假设存在这个package,则在这个package中寻找名字为test的action.当在该package下寻找不到action 时就会直接跑到默认namaspace的package里面去寻找ac…
搜索顺序 获得请求路径的URI,例如URL为:http://localhost:8080/struts2/path1/path2/path3/student.action 首先寻找namespace为/path1/path2/path3的package, 如果不存在这个包,则执行步骤3: 如果存在这个 package,则在这个 package 中寻找名字为 student 的 action,当在该 package下寻找不到 action 时就会直接跑到默认 namespace 的 package…
当访问如下链接时, http://localhost:8080/struts2Demo/path1/path2/path3/LoginAction.action 第一步:判断当前路径下action是否存在,如:path1/path2/path3/ 第二步:存在:则去访问相应的Action;不存在:检查上一级路径的package中是否存在action(直到默认的namespace,此处默认的namespace为"/"),重复第一步. 第三步:如果没有则报错. 文件清单:LoginActi…
http://localhost:8080/ProjectName/path1/path2/path3/XX.action 首先会判断以/path1/paht2/path3为namespace的package是否存在, 1.若存在,则检查该package下是否有name为XX的action,若有则执行,否则报错. 2.若不存在,判断其父路径即以/path1/path2为namespace的package是否存在,重复1或2步骤 直到在某package下找到name为XX的action.若name…
© 版权声明:本文为博主原创文章,转载请注明出处 Struts2的Action的搜索顺序 http://localhost:8080/path1/path2/student.action 1)判断package是否存在,如:/path1/path2 2)存在,判断action是否存在,没有,则报错 3)不存在,检查上一级路径的package是否存在(直到默认的namespace),重复第一步,没有,则报错 实例 1.项目结构 2.pom.xml <project xmlns="http:/…
Struts2的Action的搜索顺序: 地址:http://localhost:8080/path1/path2/student.action     1.判断package是否存在,例如:/path1/path2:     2.若存在,判断action是否存在,没有则报错:     3.不存在,检查上一级路径的package是否存在(知道默认的namespace),重复第一步,没有则报错. 项目实例: 1.项目结构 2.pom.xml <project xmlns="http://ma…
1:struts2加载常量时的搜索顺序 1.Struts-default.xml 2.Struts-plugin.xml 3.Struts.xml 4.Struts-properties(自己创建的) 5.web.xml 如果在多个文件中配置了同一个常量,则后一个文件中配置的常量值会覆盖前面的文件配置的常量值 2:Struts2拦截器配置 1.在Struts.xml中配置一个默认请求的action <!-- 没有找到action时默认执行的action --> <default-acti…
struts2 模型驱动的action赋值优先顺序: 1.优先设置model的属性. 2.如果model属性中没有对应的成员变量,则向上冒泡,寻找action中的属性进行set. 如果action中的成员属性不能接收请求的参数,则可以考虑是不是有这个问题:当action中的属性设置了相应的值,但是jsp页面中通过ognl表达式不能获取相应的属性值,也有可能是这个问题.…
近期由于项目需求变更.须要本人对当中的某个业务功能进行改动.本人依照前台页面找action,依据action找代码的逻辑进行了改动(公司项目是ssh框架,struts配置全部是通过注解的方式进行.配置简单方便).当然測试人员也成功的进行了測试,发现没有不论什么问题,成功发版.奇葩事情来了.在发版环境中,改动的代码总是没用! 没办法,问题还是要解决.在确认了发版环境的确是最新代码之后,回自己座位找原因. 这次我用action名称全局搜索项目project,尼玛发现两个重名action,当然我仅仅改…
Struts2的目录结构: 解压apps目录下的struts2-blank.war: 仿照这个最基本的项目,拷贝相关文件: 1.拷贝apps/struts2-blank/WEB-INF/classes/struts.xml到我们的项目中的src目录(因为src编译完成后会自动放在classes目录): 2.拷贝类库apps/struts2-blank/WEB-INF/lib/*.jar到自己项目的WebRoot/WEB-INF/lib下. 3.拷贝apps/struts2-blank/WEB-I…
2014/12/011.初步认识MVC模型.MVC模式是一种表现模式.它将web应用程序分成三个部分,模型(Model).视图(View).控制器(Controller).Model:是实现业务逻辑层对实体类响应数据库操作.View:是用户接口层组件,仅仅只是用来展示数据的.Controller:处理用户交互,从model中获取数据并将数据传给指定的视图展示. 例子:访问home控制器下面的action,由对应home控制器的视图展示数据.控制器:HomeController: Controll…
关于struts2中action请求会执行两次的问题     在struts2中发现,调用action中的方法,方法会被执行两次,后来发现调用的方法是get开头的,把它改为其他名称开头的后,就不会执行两次了.继续查找,发现调用的是返回json数据格式的action,如果是调用返回页面的action就不会有这种问题.     结合网上的搜索,总结了一下:         1.  json格式下, firefox中的yslow插件会发送第二个 HTTP GET 请求得到页面的信息..        …
在以前的学习中,<action>元素的配置,都是用明确的配置,其name.class等属性都是一个明确的值.其实Struts2还支持class属性和method属性使用来自name属性的通配符. 1)接下来看看使用通配符的示例,如果我们使用以下<action>配置: <action name="*_*" class="cn.javass.action.action.{1}Action" method="{2}">…
今天主要讲了以下几点:一.模块三问.定义及分类二.import和from的语法三.文件的两种执行方式及搜索顺序四.内置函数 一.模块.import和from的语法 1.什么是模块   模块是一堆功能函数的集合体,以文件为载体,以文件名.py为后缀,例如:A.py为文件名 A为模块名 2.为什么要用模块 因为在写一个功能代码时,模块可以解决编写过程中,代码过长.杂乱.可读性差.和扩               展性差等问题 3.怎么调用模块 import为关键字,用于导入模块中的功能 例如:imp…
[原创] [2014.12.02更新网盘链接]基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装 joinlidong 发表于 2014-11-29 14:25:50 https://www.itsk.com/thread-341565-1-4.html [原创] [2014.12.02更新网盘链接]基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装 上周末开始做的,结果没做完,零零散散通过视频拼接,每天录一点点,今天终于制作好…
0x01.大型网站演化 简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率. 集群主要分为:高可用集群(High Availability Cluster),负载均衡集群(Load Balance Cluster,nginx即可实现),科学计算集群(High Performance Computing Cluster). 分布式是指将不同的业务分布在不同的地方:而集群指的是将几台服务器集中在一起,实现同一业务.分布式中的每一个节点,都可以做集…
使用jquery框架的ajax能够方便的向后台传递参数,以$.post为例,参数有2种方式字符串和键值对:$.post(url, "name=aty&age=25")和$.post(url, {"name":"aty","age":25}). 显然,使用json的方式比使用字符串拼接要方便.对于后台的action来说,这2种方式是等价的,而且jquery也提供了param.serialize.serialize能够实现…
Action基础 Action是什么 在Struts2中,一个Action类代表一次请求或调用,每个请求的动作都对应于一个相应的Action类,一个Action类是一个独立的工作单元.也就是,用户的每次请求,都会转到一个相应的Action类里面,由这个Action类来进行处理,因此一个Action类代表了用户的一次请求或调用.简单来说,Action就是用来处理一次用户请求的对象. Action能干什么 public class HelloWorldAction implements Action…
例如从你的login.action到register.action  有两种实现方式 1. 设置type="redirect" <package  name="struts" extends="struts-default">             <action name="login" class="com.aihua.example.LoginAction">        …
上面两篇文章已经介绍了通过编码java代码的方式实现action方法校验,这里我们介绍第二种方式:xml配置文件 首先我们来看一个样例: ValidateAction.java: package com.itheima.action; import com.opensymphony.xwork2.ActionSupport; public class ValidateAction extends ActionSupport { private String username; private S…
一.Struts2配置文件 1.struts.properties 在学习Action之前先学下Struts2的配置文件,与Struts2相关的配置文件有好几个,常用的有Struts.xml,web.xml,这两个在MyStruts2的项目中也有使用,其实还有一个可选的配置文件,主要配置Struts2的一些属性,struts.properties.它主要用来配置一些参数,每个可配置的参数都有默认值,如无需修改修改参数任何值,可不添加.默认属性位于包org/apache/struts2下的defa…
总结:struts2种action的配置文件会随着业务的增加而增加,导致配置文件膨胀.struts2中提供了三种方案来解决这个问题: 1. 动态方法调用来实现. 2. 通配符配置来解决. 3. 使用注解的方式来实现. 实例:传统的action配置方法: 一 . Action处理类中有4个处理方法: public class UserAction { public String add(){ System.out.println("添加"); return Action.SUCCESS;…
Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数(最原始的方式):     a.定义:在Action类中定义属性,创建get和set方法:     b.接收:通过属性接收参数,如:userName:     c.发送:使用属性名传递参数,如:user1!add?userName=jim: 2.使用DomainModel接收参数:     a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法…
J2EE进阶(三)struts2 <s:action>标签的用法 前言 使用action标签,可以允许在jsp页面中直接调用Action,(类似AJAX页面调用)在调用Action时候,可以指定需要被调用的Action的name和namespace.如果指定了executeResult参数的属性值为true,该标签会把Action的处理结果(视图资源)包含到本页面中. 使用action标签指定属性有: id: 可选属性,作为该Action的引用ID name:必选属性,指定调用Action n…
个人认为,在小型的创业团队中,特别是以应用产品为主,在架构后台的时候,需要集中精力解决自身业务上的问题,不是花时间解决第三方已经解决的问题,简单点来说,就是能用第三方服务就使用第三方的服务.基于这个原则,就有了下面的系统架构: 1. apns:由于在apns中,无效的token会导致连接apns连接的失效从而使apns信息丢失.解决的方案是维护发送队列,当apns服务器返回错误的token后,把这个错误token后的消息重发.第三方推送很好了实现了这个技术方案,我们选择了百度云推送. 2. em…
控制器Action Action对象是struts2框架的核心,每个URL映射到特定的Action,其提供处理来自用户的请求所需要的处理逻辑.Action有两个重要的功能,即将数据从请求传递到视图和协助框架确定哪个结果应该是呈现在响应请求中的视图中. 一.Action接口 Action是com.opensymphony.xwork2包中的一个接口,提供了5个静态的成员变量,是struts2框架中为处理结果定义的静态变量. Action接口的静态变量: ActionSupport类实现了Actio…
MVC在filter中如何获取控制器名称和Action名称   使用ActionExecutingContext对象可以获取控制器名称.Action名称.参数名称以及参数值.路由和Action返回值不影响结果. 在代码中 [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)] public class ViewLogAttribute : ActionFilterAttribute {…
Struts2:Action中result的各种转发类型: 内部请求转发dispatcher(默认值) redirect.redirectAction.plainText1.redirect是重定向到某个路径.视图<action name="redirect">/***重定向   <result type="redirect">/employeeAdd.jsp?username=${username}</result></a…
通过servlet实现文件上传,可以用用servlet接受到request的值的话:主要是这句话 List<?> items = upload.parseRequest(request); 拿到文件对象列表. public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { DiskFileItemFactory factory…