
Struts2
文章平均质量分 50
Thinking_in_小虫
对代码不满足,是任何真正有天才的程序员的根本特征。
展开
-
Struts2入门
博主休息了好几天,然而代码这东西一日不学退后百步,十日不学则前功尽弃,今年随着阿里带头,秋招已经陆续开始,博主在接下来的日子就要更加努力了。最近在复习Struts2框架,就写下博客,毕竟发表是最好的回忆。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。Struts 2以WebWork为核心,采用拦截器的机制来处理用原创 2017-08-15 15:24:21 · 283 阅读 · 0 评论 -
Struts2 ajax
使用servlet api返回数据实现ajax jsp:<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script> <script type="text/javascript" > $(function(){ $('#btn').click(function(){ $.p原创 2017-08-29 12:31:05 · 300 阅读 · 0 评论 -
Struts2批量数据处理
1.数组和集合的处理 jsp页面代码<body> <form action="add.action" method="post"> 用户名:<input type="text" name="name"><br> 爱好:<input type="checkbox" name="hobbies" value="football"/>足球 <input type原创 2017-08-28 20:08:22 · 837 阅读 · 0 评论 -
Struts2的执行流程
简单执行流程(使用starUML画时序图,免费开源软件官网下载,亲测可用) 可以放大查看 当用户提交一个请求,服务器接收,并且交给struts2的核心过滤器来进行处理,struts2的过滤器调用struts2的一系列处理器来进行处理(如:解析struts.xml,和用户的提交的请求进行对比,如果找不到返回404,如果找到返回下一步)直到调用对应的action类中的execute方法,执行完再原创 2017-08-21 19:49:37 · 412 阅读 · 0 评论 -
Struts2 值栈和ognl
值栈(ValueStack)是ActionContext中的一个对象。存放的数据是Action对象。我们可以使用<s:debug/>查看context对象中的值 OGNL表达式OGNL查询是在根对象(Struts2的跟对象是ValueStack)查询由于Action对象存在ValueStack中,因此Action中的所有属性可以通过OGNL直接读取到除了ValueStack中的值,其他Act原创 2017-08-26 14:08:42 · 301 阅读 · 0 评论 -
Struts2文件下载
在servlet中的文件下载是通过流来实现的,在struts2中也可以 使用HttpServletResponse来实现,和以前servlet一致。注意在action执行方法中返回null。 先在WebRoot下建立download文件夹,里面放文件,这里博主放了一种名为01.jpg的图片 Action:import java.io.File;import java.io.FileInpu原创 2017-08-28 17:17:47 · 268 阅读 · 0 评论 -
Struts2文件上传
单文件上传 uploadAction 需要在WebRoot下添加upload文件夹import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import原创 2017-08-28 15:01:39 · 318 阅读 · 0 评论 -
Struts2拦截器
拦截器和过滤器很相似,在action的前后执行,对于action的一些公共处理代码可以放到拦截器中实现,如日志,权限控制等等。 拦截器和过滤器的区别:过滤器属于web容器,可以过滤一切请求拦截器属于struts2框架,只能拦截action过滤器内部采用函数回调(doFilter就是回调函数)来实现,拦截器使用动态代理实现拦截器的执行流程 拦截器的实现步骤:编写拦截器(实现Interce原创 2017-08-27 16:32:52 · 381 阅读 · 0 评论 -
Struts2的验证机制
1.服务端验证 如果action继承ActionSupport,那么该action类将会继承ActionSupport的相关功能。如:验证功能。执行流程为 (validatexxx可有可无,成功执行为T,往下面执行,如果失败F,则直接跳过下面的步骤返回结果集为input) 注意:如果执行的是Action的execute方法,那么只会执行validate方法,如果执行的是自定义的Action原创 2017-08-27 14:02:58 · 394 阅读 · 0 评论 -
Struts2类型转化
在servlet中,如果表单提交非字符串数据时,需要进行类型转化,如:提交ageString strAge=req.getparameter("age");int age=0;if(strAge!=null){ age=Integer.parseInt(strAge);}在Struts2中,常见的数据类型struts2已经自动进行了类型转化。无需程序员手动转化。在某些情况下,有自定义的原创 2017-08-26 17:19:41 · 303 阅读 · 0 评论 -
Struts2 ActionContext
什么是ActionContext? ActionContext是map结构的容器,ActionContext是Action的上下文,存放Action执行过程中数据信息。ActionContext存放Action的数据,request,session,application数据等。每次请求都会为当前线程创建一个新的ActionContext。而ActionContext采用了ThreadLo原创 2017-08-26 12:12:36 · 299 阅读 · 0 评论 -
Struts2获取ServletAPI
Struts2有4种方式去获取servletAPI,其实就是有4种方式获得request, 也可以说是两种方式,一种解耦,一种耦合。解耦就是通过ActionContext对象(里面存放了Action执行所需要的对象)来获取ServletAPI,将Struts2和servlet解耦,以前是参数是HttpServletRequest,然后在上面操作,现在完全看不到Request和Response的东西原创 2017-08-25 20:50:03 · 267 阅读 · 0 评论 -
Struts2以对象的方式处理表单数据
有两种方式,属性驱动和模型驱动,可以自选,如果属性较多,建议使用模型驱动1.属性驱动 entity:public class User { private String name; private String pwd; private int age; private String email; public String getName() {原创 2017-08-25 12:29:51 · 657 阅读 · 0 评论 -
Struts2 action的三种实现方式
1.定义一个pojo类 好处:自定义一个普通的Java类即可,不具有侵入性public class HelloAction { public String execute(){ System.out.println("pojo action"); return "success"; }}2.实现action接口 好处:使得我们的代码更规范pub原创 2017-08-25 10:47:08 · 512 阅读 · 0 评论 -
Struts2配置文件详解
常量配置(constant) 常量的名字可以在源码中找,如下 在struts.xml中配置 (1)<!-- 乱码解决 默认是UTF-8,不同版本可能默认不一样 --> <constant name="struts.i18n.encoding" value="UTF-8"/>(2) <!--自定义扩展名 --> <constant name="struts.acti原创 2017-08-24 16:33:25 · 313 阅读 · 0 评论 -
Struts2处理数据
上一节入门讲了Struts2如何将请求映射到类中,这一节讲Struts2如何处理数据和提交数据。通过用户登录案例来观察Struts2数据处理的过程。步骤:1 . 建项目,导jar包 2 .配置web.xml——配置struts2的核心过滤器<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/20原创 2017-08-21 15:23:08 · 278 阅读 · 0 评论 -
Struts2的线程安全问题
线程安全:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。Struts线程安全吗? 每次请求都会创新创建action对象(可以用构造方法测试),所以线程安全。Struts1和Servlet都是单例的,都存在线程安全问题。由于action对象是Struts2反射生成的,所原创 2017-08-24 16:32:30 · 780 阅读 · 0 评论 -
Struts2 Action五个常量解释
五个常量解释原创 2017-09-08 16:38:35 · 727 阅读 · 0 评论