一.Struts中Action得创建方式 1,直接创建一个简单的Action类 添加Struts.xml,配置转发方法返回转发的页面. 2,实现一个Action类 Strust.xml配置对应的Url转发映射. 3,继承一个ActionSupport类 struts.xml配置文件的内容如下: 二.Struts中Action获取Servlet中的API,并通过servlet的域对象进行存储值操作 1,通过ActionContext上下文对象来获取request域,session域,applica…
一.Action书写方式: 接口地址:https://struts.apache.org/maven/struts2-core/apidocs/index.html Action类就是一个POJO类. 1. POJO类:POJO(Plain Ordinary  Java Object )简单的Java对象,简而言之:没有继承类.没有实现接口的简单类. 2.实现Action的接口的实现类:继承ActionSupport.该类为我们定义了几个常量表格如下: 还有实现Action的一些方法.所以我们继…
Action类的3种书写方式 本文主要写有关写Action类的3种书写方式: (1)第一种 Action可以是POJO (简单模型对象)  不需要继承任何父类 也不需要实现任何接口 (2)实现Action接口 (3)继承ActionSupport(推荐) 那我们先来书写第一种: (1)第一种 Action可以是POJO (简单模型对象)  不需要继承任何父类 也不需要实现任何接口 //这里其实就是一个普通的类,类里面的方法可以任意写,如果写execute()方法那就代表默认执行它 public…
在struts1.xAction类的execute方法中,有四个参数,其中两个就是response和request.而在Struts2中,并没有任何参数,因此,就不能简单地从execute方法获得HttpServletResponse或HttpServletRequest对象了. 但在Struts2 Action类中仍然有很多方法可以获得这些对象.下面就列出四种获得这些对象的方法. [方法1]使用Struts2 Aware拦截器       这种方法需要Action类实现相应的拦截器接口.如我们…
1.action      action表示一个struts2的请求! 2.Action类 能够处理struts2请求的类. (1)属性的名字需要与JavaBeans属性保持一致. 属性的类型可以是任意类型.从字符串到非字符串(基本数据类型)之间的数据转换可以自动发生. (2)必须有一个不带参的构造器 (3)至少提供一个供struts在执行这个action时调用的方法 (4)同一个Action类可以包含多个action方法. (5)struts2会为每一个HTTP请求创建一个新的Action实例…
一.解耦方式 特点:对web资源进行了封装,便于单元测试. 实现:ActionContext和接口方式 1.ActionContext 特点:Action执行的上下文对象.保存了执行Action所需要的所有对象 使用:1.获取ActionContext  2.获取application,session.request,parameter资源  3.打印显示 1.获取ActionContext ActionContext.getContext() 调用自身的静态方法得到实例 采用的是单例模式 可以…
首先是STRUTS.XML的配置.重点在于配置文件: <!-- struts2捕获action类异常 -->         <global-results> <result name="error">/error.jsp</result> </global-results> <global-exception-mappings> <exception-mapping result="error&q…
接着上次博客的内容我继续分享我所学到的知识,和自己在学习过程中所遇到问题以及解决方案.当然,如果读者发现任何问题均可以在下方评论告知我,先谢! 在 Action 中访问 WEB 资源 web 资源 所谓的 WEB 资源是指 HttpServletRequest.HttpServletResponse.ServletContext 等原生的 API,作为 B/S 应用开发的 Controller 必须可以访问 WEB 资源,比如向域对象中读写属性等操作. 如何访问 WEB 资源 和 Servlet…
Action类访问servlet Action类有三种方式servlet: (1)间接的方式访问Servlet API  ---使用ActionContext对象 (2)  实现接口,访问Action时完成注入 (3)直接通过ServletActionContext获得Servlet的API 下面我来讲第一种:   (1)间接的方式访问Servlet API  ---使用ActionContext对象 Struts2中提供了一个ActionContext类(当前Action的上下文对象),通过这…
1. 通过<action>标签中的method属性,访问到Action中的具体的方法. * 传统的配置方式,配置更清晰更好理解!但是扩展需要修改配置文件等! * 具体的实例如下: * 页面代码 * <a href="${pageContext.request.contextPath}/addBook.action">添加图书</a> * <a href="${pageContext.request.contextPath}/delet…
  一.普通的POJO类(没有继承没有实现)-基本不使用 POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称.... public class DemoAction1 { public String execute(){ System.out.println("DemoAction1是普通的POJO类..."); return null; } } <!-- 普通的POJO类 --&…
一.普通的POJO类(没有继承没有实现)-基本不使用 public class DemoAction1 { public String execute(){ System.out.println("DemoAction1是普通的POJO类..."); return null; } } <!-- 普通的POJO类 --> <action name="action1" class="com.struts2.web.action2.DemoAc…
Action类的书写方式 方式1…
在编写SSH2项目的时候,除了使用<s:form>表单标签向Action类跳转并传递参数之外,很更多时候还需要用到<s:a action="XXX.action">这个链接标签进行跳转,此时,传递需要的参数必不可少.此外,在jsp页面获取Action类传来的数据时,也需要留心一下属性获取的方式. 之前在这里,由于我的粗心大意,导致了jsp页面上没有相应的数据显示出来.原本以为是没有从数据库读取到数据,使得我从持久层.dao层.service层.action类检查…
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核心配置.动态方法调用.结果集的处理 传送门 JavaWeb_(Struts2框架)Log4j的配置以及解决中文乱码 传送门 JavaWeb_(Struts2框架)参数传递之接收参数与传递参数 传送门 JavaWeb_(Struts2框架)Ognl小案例查询帖子 传送门 JavaWeb_(Struts…
开发者不必在Spring中去注册action,尽管可以这么去做,通常Struts框架会自动地从action mapping中创建action对象 struts2-spring-plugin-x-x-x.jar插件中有一个struts-plugin.xml文件,该文件内容如下所示: <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http:…
在能够运用struts2框架进行简单网站开发后,对struts2的一些较原框架强大的功能希望有更深刻的理解,于是尝试从底层开始摸索,本文就在重新学习struts2后,利用简单代码对核心控制器的主要功能进行理解. 首先,介绍一下strut2的处理流程: 1.浏览器发出请求,即***.action 2.请求被核心控制器的StrutsPrepareAndExecuteFilter拦截 3.搜索struts.xml配置文件,寻找Action的属性name为***的配置信息,而后根据class属性,通过反…
一.struts2是什么 1.概念 2.struts2使用优势以及历史 二.搭建struts2框架 1.导包 (解压缩)struts2-blank.war就会看到 2.书写Action类 public class HelloAction { public String hello(){ System.out.println("hello world!"); return "success"; } } 3.书写src/struts.xml (记得加上dtd约束) &l…
1,action接收请求参数 在struts2中action是什么?(struts2是一个mvc框架)         V:jsp        M:action         C:action  StrutsPrepareAndExecuteFilter 在struts2中获取请求参数: a.属性驱动            1.直接将action做一个model,就可以得到请求参数.                问题1:action封装请求参数,会不会存在线程安全问题?          …
1.修改struts2常量配置(3种) 第一种 在str/struts.xml中添加constant标签 <struts> <!-- 如果使用使用动态方法调用和include冲突 --> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <!-- 开发者模式 --> <constant name="struts.…
动作是Struts2框架的核心,因为他们的任何MVC(模型 - 视图 - 控制器)框架.每个URL将被映射到一个特定的动作,它提供了来自用户的请求提供服务所需的处理逻辑. 但动作也提供其他两个重要的能力.首先,操作从请求数据的传输中起着重要的作用,通过向视图,无论是一个JSP或其它类型的结果.二,动作必须协助的框架,在确定结果应该渲染视图,在响应该请求将被退回. 创建动作: 在Struts2的动作,唯一的要求是必须有一个无参数的方法返回String或结果的对象,必须是一个POJO.如果不带参数的…
Action类是Struts 2应用程序的关键,我们实现了大部分Action类中的业务逻辑.因此,让我们创建一个Java文件HelloWorldAction.java的Java资源> SRC下一个的包名com.yiibai.struts2并有下面的内容. Action类来响应用户的操作,当用户点击一个URL. Action类中的一个或多个方法被执行,并返回一个字符串结果.基于结果的价值,一个特定的JSP页面的呈现方式. package com.yiibai.struts2; public cla…
二.命名空间namespace ·命名空间namespace须要放在相应的package下 ·Namespace必须以"/开头". ·Result的name是"success"的<result>能够不写其name.即: <result name="success">与<result>效果同样. ·Namespace为空的情形是: 当找到url找到相应的namespace下的action时,假设资源没有找到.那么…
一.Action的类型 A.使用普通的类 必须有public的execute且返回值为String的方法. ActionType.java package com; public class ActionType_1 { public String execute() { System.out.println("我是Action类型1"); return null; } } B.实现Actin接口 实现com.opensymphony.xwork2.Action接口,并实现该接口中的e…
1.action:代表一个sturts2的请求: 2.Action类:能够处理Struts2请求的类: --属性名必须遵守与JavaBean属性名相同的命名规则: --属性的类型可以使任意类型.从字符串到非字符串之间的数据转换可以自动发生: --必须提供一个无参构造器: --至少有一个供struts在执行action时调用的方法: --同一个Action类可以包含多个action方法: --struts2会为每一个HTTP请求创建一个新的Action实例,它是单例的,线程安全. 3.在Actio…
struts2中的action类中,SevletActionContext可以获取…
Action类为何要继承ActionSupport   理论上Struts 2.0的Action无须实现任何接口或继承任何类型,但是,我们为了方便实现Action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类,并重载(Override)此类里的String execute()方法.当然我们也可以在写action的时候实现Action接口. Action接口有: public static final java.lang.String SUCCE…
单元测试在开发中是非常重要的一个环节程序员在写完代码时,相应的单元测试也应写完整,否则你的代码就是不能让人信服的Struts2将Action与Servlet的API进行解耦之后,就使得单元测试变得非常容易了比如HttpServletRequest对象,它是由Tomcat容器给我们提供的,我们自己产生不出来若Action中充斥者ServletAPI,哪怕仅一个,那么一般意义上的JUnit单元测试便无法进行若Action中耦合了ServletAPI,可以采用apache的Cactus对它进行测试,这…
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 32 Struts2 Action 1 将action 映射到 action class 2 将action class 返回的结果 映射到一个 view 3 写action class 的控制逻辑 所以这里关键点是action class Action Class public class HelloWorldAction extends ActionSuppor…
我做的时候,我的action是继承ActionSupport的 Struts 2的Action无须实现任何接口或继承任何类型,普通的POJO类就可以用做Action类,但是,我们为了方便实现Action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类,并重载(Override)此类里的String execute()方法,因为ActionSupport已经实现了Action接口,还实现了Validateable接口,提供了数据校验功能.通过继承该…