struts2的action编写】的更多相关文章

例 HelloWorld.jsp <% @ page contentType = "text/html; charset=UTF-8 " %> <% @ taglib prefix = "s" uri = "/struts-tags " %> <html> <head> <title> Hello World! </title> </head> <body&…
Struts2之Action MVC模式中需要有一个控制器来负责浏览器与服务器之间的通信,实现用户与服务器的交互.在Struts2框架中实现这一功能的是Action,它是整个框架最核心的部分.Action负责存储数据和状态,与应用的具体业务逻辑打交道. 一.Action简介 实现Struts2框架的Action有两种方案: 实现框架所提供的Action接口 使用框架所提供的ActionSupport基类 无论使用哪一种都必须实现execute()方法,返回的则是逻辑视图名. 二.返回结果 Act…
接上一篇博客,这篇博客讲述一下2——9小标题的内容,这些问题都可以在struts2配置文件中设置(当然有的也可以在Struts.properties属性文件,web.xml中进行设置),而且常规开发中也基本都是在struts2配置文件中设置呢,也提倡大家在这里写,方便统一管理,所以可以说是如何编写struts2.xml的编写. 一,框架的扩展名问题: 1,struts2框架的默认扩展名:.action和空字符串. 在框架的属性文件default.properties中进行默认配置:struts.…
对于Struts2框架来说,最重要的莫过于Action类的编写,类比于Servlet,Action类也是通过类的实例对象调用方法来处理请求的,Action类的实例对象是由Struts2的核心Filter,根据请求的Action,来决定生成哪个Action类的实例对象. 不同与servlet,一个类要成为Action类并不需要继承任何Struts2的基类,或者实现任何接口. public class  LoginAction { private   String  name; private  …
一.简介    开发Web应用程序,首先应会遇到对用户输入数据的接收,传统的Web应用程序是由开发人员调用HttpServletRequest的getparameter(String name)方法从请求中获取数据,而Web框架都提供了数据绑定机制,由框架从请求中获取数据然后绑定到一个JavaBean对象中. Struts2提供了多种方式用于接收用户输入的数据. Struts2的action完全与Web解耦,要获取Web层的数据,需要使用ActionContext,它为action提供了一个执行…
 Struts2的核心功能是action,对于开发人员来说,使用Struts2主要就是编写action,action类通常都要实现com.opensymphony.xwork2.Action接口,并实现该接口中的execute()方法. 该方法如下: public String execute() throws Exception Struts2并不是要求所有编写的action类都要实现Action接口,也可以直接编写一个普通的Java类作为action,只要实现一个返回类型为String的无参…
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…
在struts2中action的分类有:继承 ActionSupport 实现 Action,模型驱动(ModelDriven)的 Action,多方法的 Action三种方式. 1.继承 ActionSupport 实现 Action 通过继承 ActionSupport 来实现 Action 是我们的推荐做法,因为 ActionSupport 中提供了输入验证.国际化.execute 等常用方法,使得编写 Action 时代码很简单. 1.1 UserAction.java package…
  一.普通的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…
Struts2的Action 开发者需要提供大量的Action,并在struts.xml中配置Action.Action类里包含了对用户请求的处理逻辑,因为我们也称Action为业务控制器. 一.编写Action处理类 第一种创建处理类方法 : struts2采用了低侵入式的设计,struts2不要求Action类继承任何的struts基类,也不需要实现任何接口.Action类只是一个普通的POJO(Plain Ordinary Java Object简单的java对象) 第二种:创建一个类实现…
struts2中action是多例的,即一个session产生一个action如果是单例的话,若出现两个用户都修改一个对象的属性值,则会因为用户修改时间不同,两个用户访问得到的 属性不一样,操作得出的结果不一样.举个例子:有一块布长度300cm,能做一件上衣(用掉100cm)和一件裤子(用掉200cm);甲和乙同时访问得到的 长度都是300cm,甲想做上衣和裤子,他先截取100cm去做上衣,等上衣做完再去做裤子,而乙这时正好也拿100cm去做上衣,那 好,等甲做完上衣再做裤子的时候发现剩下的布(…
1.Struts2的Action接收参数的三种形式.      a. 使用Action的属性接收(直接在action中利用get方法来接收参数):                   login.jsp < form action= "LoginAction" method = "post"> < input type= "text" name = "username">< br /> &l…
Struts2中Action取得表单数据的几种方法   Struts2中Action获得表单数据的几种方法struts2 Action获取表单传值 1.通过属性驱动式JSP: <form action="sys/login.action" method="post"> <input type="text" name="username"> <input type="submit"…
Struts2的Action可以是一个POJO(即简单的javaBean),也实现Action接口,或者继承ActionSupport类. 1.Action接口: public interface Action { public static final String SUCCESS = "success"; public static final String NONE = "none"; public static final String ERROR = &q…
浅析Struts1和Struts2的Action线程安全问题  转 http://blog.csdn.net/virgoboy2004/article/details/5876133 [问题描述]最近公司安排我面试Java的FreshMan,面试者一般是工作1年多点的新人(这里我就装老一下,其实我也才工作3年不到),在被问及Struts1和Struts2的Action的线程安全问题的时候,大多是支支吾吾,答不出所以然.所以在这里我整理一下我个人的理解. [问题答案] 这是由于Servlet的工作…
精帖1:http://blog.csdn.net/lfsf802/article/details/7277013 精帖1:http://blog.csdn.net/wmj2003/article/details/5018927 struts2.x的action是有状态的,因此的scope需要是prototype,防止并发数据异常.struts1.x的action是无状态的,因此的scope要设为singleton或默认,效率高. struts1.x默认是单实例(singleton),就是你每次请…
使用jquery框架的ajax能够方便的向后台传递参数,以$.post为例,参数有2种方式字符串和键值对:$.post(url, "name=aty&age=25")和$.post(url, {"name":"aty","age":25}). 显然,使用json的方式比使用字符串拼接要方便.对于后台的action来说,这2种方式是等价的,而且jquery也提供了param.serialize.serialize能够实现…
struts2 修改action的后缀 struts2 的默认后缀是 .action 虽然很直观,但是很烦琐.很多人喜欢将请求的后缀改为 .do 在struts2中修改action后缀有两种比较简单的办法: 一.在 struts.properties 中修改. 如你想把后缀改为 .do 则 加上一行: struts.action.extension=do 至于加在第几行,应该没有关系,我加在第一行和最后一样都正常. 二.在struts.xml 中修改. 在 struts.xml 中加入一cons…
关于struts2中action请求会执行两次的问题     在struts2中发现,调用action中的方法,方法会被执行两次,后来发现调用的方法是get开头的,把它改为其他名称开头的后,就不会执行两次了.继续查找,发现调用的是返回json数据格式的action,如果是调用返回页面的action就不会有这种问题.     结合网上的搜索,总结了一下:         1.  json格式下, firefox中的yslow插件会发送第二个 HTTP GET 请求得到页面的信息..        …
学IT技术,就是要学习... 今天无聊看看struts2,发现struts2的action访问servlet API的三种方法: 1.Struts2提供的ActionContext类 Object get(Object key);可以获取request属性 Map getSession():可以得到session属性 Map getAppliction():可以得到ServletContext实例 2.action类实现 ServletContextAware,ServletRequestAwa…
struts2中action的默认拓展名是".action",而之前的拓展名一直为".do",工作中需要要把struts2的action拓展名改为".do"的形式,查了一下,找到两种方法: 1.在struts.xml中进行如下配置 <!-- 默认后缀 --> <constant name="struts.action.extension" value="action" /> 2.在w…
在struts2的Action中,操作域对象一共有三种方式: 1.ActionContext(与servelt API无关联): //相当于request ActionContext.getContext().put("userName", user.getUserName()); //相当于session ActionContext.getContext().getSession().put("userName", user.getUserName()); //相…
Action基础 Action是什么 在Struts2中,一个Action类代表一次请求或调用,每个请求的动作都对应于一个相应的Action类,一个Action类是一个独立的工作单元.也就是,用户的每次请求,都会转到一个相应的Action类里面,由这个Action类来进行处理,因此一个Action类代表了用户的一次请求或调用.简单来说,Action就是用来处理一次用户请求的对象. Action能干什么 public class HelloWorldAction implements Action…
tomcat容器对servlet的实现采用的是单例模式,对于一个servlet类,永远只有一个servlet对象存在. 下面我们来解释为什么Struts1是线程不安全的. 1.Struts1 Struts1是对Java web servlet接口的直接实现,所以它继承了tomcat对servlet的实现,每一个struts1里面的action都对应的是一个servlet class,所以这里的action在被tomcat实例化之后也是单例的,所以,struts1就产生了多线程问题. 所以:我们在…
struts2输入校验流程: 1.类型转换器对请求參数运行类型转换,并把转换后的值赋给aciton中的属性 2.假设在运行类型转换的过程中出现异常,系统会将异常信息保存到ActionContext, conversionError拦截器将异常信息加入到fieldErrors里,无论类型转换是否出现异常,都会进入第三步 3.系统通过反射技术先调用action的validateXXX方法 4.再调用aciton中的validate方法 5.经过上述的4步.假设系统中的fieldErrors存在错误信…
我们知道,action在web它在控制器的发展起到了一定作用,通过接收client来到参数,运行不同的模块只实现运营,因此,接收参数是非常重要的组成部分,有接收到的参数的仅前端.操作权限运行数据库后端业务逻辑,于是开始11显示三种方法是(刚才看action制剂类可以) 1第一种方式:UserAction.java package com.bjsxt.struts2.user.action; import com.opensymphony.xwork2.ActionSupport; public…
xml的注释: <!--叨叨叨叨--> web.xml注释格式": <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance…
struts2中Action到底是什么,怎么理解 1.配置完web.xml2.创建视图页面login.jsp3.创建业务控制器LoginAction类(解释说:创建业务控制器LoginAction类,该类为程序的Action类)4.配置LoginAction类(解释说:当Action处理完客户端请求后返回一个字符串,没个字符串对应一个视图) 那么这个Action到底是什么,是一个类吗?怎么理解它,它和用于标签的有什么区别. 解决方案 首先,你了解Servlet么?Servlet是运行在java服…
一.Struts2配置文件 1.struts.properties 在学习Action之前先学下Struts2的配置文件,与Struts2相关的配置文件有好几个,常用的有Struts.xml,web.xml,这两个在MyStruts2的项目中也有使用,其实还有一个可选的配置文件,主要配置Struts2的一些属性,struts.properties.它主要用来配置一些参数,每个可配置的参数都有默认值,如无需修改修改参数任何值,可不添加.默认属性位于包org/apache/struts2下的defa…