struts2
你好1995
我知道你在改变!
展开
-
Struts2_拦截器(Action拦截和全局拦截)
事实上,机场比婚礼殿堂见证了更多真挚的亲吻,医院的墙壁比教堂的聆听了更多祷告。 拦截器有三种方式: ①Action拦截 ②全局拦截 ③方法拦截先说说什么是拦截器: 拦截器,顾名思义,拦截请求(Action),可以达到增强Action的功能,框架本身默认提供很多拦截器,大概有35种,但往往实际开发中,还需要自定义一些拦截器,比如:权限(访问)拦截。再说说怎么原创 2017-07-11 13:53:40 · 7940 阅读 · 3 评论 -
Struts2_请求执行流程
你所有的成功,都是来自你的努力,而你的努力,就是让自己变得值钱起来。—-我们共勉一个请求在Struts2框架中的处理步骤:①客户端初始化一个指向Servlet容器的请求;②根据Web.xml配置,请求首先经过ActionContextCleanUp过滤器,其为可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助(SiteMesh Plugin),主要清理当前线程的ActionContex原创 2017-07-05 16:34:06 · 295 阅读 · 0 评论 -
Struts2_文件上传关于限制文件名、类型及大小
对未来真正的慷慨,就是把一切都献给现在。通常Struts2在文件上传的时候,需要限制文件名、类型及文件大小。1.关于文件名在execute()方法中直接修改上传之后的文件名。public String execute() throws Exception{ String pathname=ServletActionContext.getServletContext().getRealPath原创 2017-07-14 16:40:34 · 1534 阅读 · 0 评论 -
Struts2_OGNL和值栈
人生的旅途,前途很远,也很暗。然而不要怕,不怕的人的面前才有路。—— 鲁 迅 之前在逛论坛的时候看到过一篇关于OGNL和值栈的文章,觉得写得还不错,大家可以看一下http://blog.csdn.net/hanxuemin12345/article/details/38559979下面是我写的代码 和 一点点补充。 注意: ①在迭代list的时候,一定要加#。 <s:prope原创 2017-07-06 22:50:21 · 202 阅读 · 0 评论 -
Struts2_文件下载
生活可以漂泊,可以孤独,但灵魂必须有所归依。Struts2中,文件下载是常用的,下面是文件下载的相关步骤:1.首先有一个前端界面<%@ page language="java" pageEncoding="UTF-8" %><%@ page contentType="text/html; charset=UTF-8" %><!DOCTYPE html ><html><head><meta原创 2017-07-17 10:38:19 · 257 阅读 · 0 评论 -
表单上传get和post的区别
Java Web中Form表单传输提供了两种方式,method=”get”(form默认方式) 与 method=”post”,它们都是数据的传输方式,但他们的传输过程有很大不同,对数据的影响也有很大区别;一般来说,作为开发,尽量使用post方式传输数据。区别一: 从字面上可以看出,get(获取)重点在从服务器上获取资源,post(发送)是向服务器发送数据;区别二: get传输数据是通过URL请转载 2017-07-20 16:12:28 · 1198 阅读 · 0 评论 -
Struts2_注解开发
世上只有骗子是真心的,因为他是真心骗你的!用struts开发的时候,避免不了要配置struts.xml文件,如果非要避免,和我一起学注解开发。一. 需要的jar包: struts2-convention-plugin-2.5.8.jar 二. 遵循的规则: 1.Action要必须继承ActionSupport父类; 2.Action所在的包名必须以 .action 结尾。原创 2017-07-17 14:49:53 · 490 阅读 · 0 评论 -
Struts2_类型转换器
一知半解的人,多不谦虚;见多识广有本领的人,一定谦虚。 —— 谢觉哉 Struts在接受表单传递过来的参数时,会根据表单元素名称自动将值赋给action中相应的属性。那么,属性的类型显然有很多种,,比如:int,double以及Date,但是表单提交过来的数据通通是字符串,意味着Struts2默认给我们提供了各种类型转换。 在实际开发中,往往还需要自定义类型转换,来完成实际的功能或者原创 2017-07-08 00:14:23 · 368 阅读 · 0 评论 -
Struts2_文件上传
人有一个特点,越是得不到的东西,越想得到,越是不能接触的东西就越想接触。反过来,越容易得到的东西越不知珍惜。文件上传的方法很简单,注意几个点:1.在前端界面,表单中加上enctype="multipart/form-data" 2.在execute()方法中,要加上FileUtils.copyFile(photo[j], destFile);,因为表单上传后会作为一个临时文件存储,所以要用前面的代原创 2017-07-13 17:05:36 · 365 阅读 · 0 评论 -
Struts2_生成验证码实例
Step 1.随机验证码一步一步来,要生成验证码图片,首先要有验证码,然后才能在画在图片上。为了能够灵活控制验证码,特别编写了SecurityCode类,它向外提供随机字符串。并且可以控制字符串的长度和难度。SecurityCode类中提供的验证码分三个难度,易(全数字)、中(数字+小写英文)、难(数字+大小写英文)。难度使用枚举SecurityCodeLevle表示,避免使用1、2、3这样没有明确转载 2017-07-18 15:51:42 · 373 阅读 · 0 评论 -
struts2_配置文件的加载顺序和优先级
人生没有彩排,每天都是现场直播。人生没有彩排,每天都是现场直播。—-我们共勉struts的配置文件有好多,那么优先级是怎样的?在Tomcat启动后,加载顺序有事怎么样的?以下当做一个结论记,我就不在此验证了。1.优先级web.xml>struts.properties>struts.xml>default.properties2.加载顺序struts-default.xml struts-plug原创 2017-07-01 13:36:50 · 454 阅读 · 0 评论 -
Struts2_接收请求参数
天再高又怎样,踮起脚尖就更接近阳光。——我们共勉struts2接受请求参数的方式有三种: ①属性驱动 ②域驱动 ③模型驱动1.属性驱动使用Action的属性接收参数:直接在action的类中声明与表单元素一致的属性,生成匹配的get,set方法。Struts会自动将表单数据提交到action中,并直接给相应的属性赋值。 a.定义:在Action类中定义属性,创建get和原创 2017-07-03 10:18:34 · 422 阅读 · 0 评论 -
Struts2_拦截器(方法拦截)
若无人伴你 愿你成你自己的太阳。如果一个Action中,有很多方法,拦截器默认会将这些方法全部拦截掉,而有的时候是不需要全部拦截的,此时需要使用方法拦截器,选择哪些方法需要拦截或者哪些方法不需要拦截。怎么实现方法拦截器?继承MethodFilterInterceptorpackage com.interceptor;import com.opensymphony.xwork2.ActionInvoc原创 2017-07-11 16:41:16 · 288 阅读 · 0 评论 -
Struts2_表单数据验证(基于手工)
不用谁施舍阳光,我们自己就是太阳! 表单验证分为三种: ①客户端格式验证 ②服务端格式验证 ③数据库中数据有效性验证如果软件要求系数比较高,通常在服务端进行验证。1.验证Action所有方法前端页面login.jsp:<%@ page language="java" pageEncoding="UTF-8" %><%@ page contentType="tex原创 2017-07-12 11:24:24 · 316 阅读 · 0 评论 -
Struts2_表单验证(基于XML)
不要质疑你的付出,这些都会一种累积一种沉淀,它们会默默铺路,只为让你成为更优秀的人。基于配置文件的表单验证方式,可以减少Java代码的编写。1.验证Action的所有方法如果要验证的Action是“LoginAction”,那么配置文件需命名为“LoginAction-validation.xml”LoginAction-validation.xml代码:<?xml version="1.0" en原创 2017-07-12 23:19:48 · 464 阅读 · 0 评论 -
Struts2_防止表单重复提交
事实证明,事业越成功的人,也就越有宽容之心。宽容犹如春天,可使万物生长,成就一片阳春景象。有多大度来成多大事。先谈两个概念:1.什么是表单重复提交? ①由于用户网速慢问题,用户会不断点击提交按钮,或者刷新提交界面,形成表单重复提交。 ②已经提交的界面,用户选择后退恶意刷新界面形成重复提交。2.令牌机制 在Struts2中使用令牌机制解决表单重复提交问题,产生一个随机字符串,在原创 2017-07-13 11:25:35 · 285 阅读 · 0 评论 -
Struts2_动态方法调用
穷则思变,差则思勤!没有比人更高的山没有比脚更长的路。 ——我们共勉一个action默认存在一个方法,若一个action有多个方法,就需要用动态方法调用(Dynamic Method Invocation)。文章最后有完整代码。 三种方法可以实现动态方法调用。 ①指定method属性 ②感叹号方式(官方不推荐) ③使用通配符(官网推荐使用)1.指定method属性直接在原创 2017-07-02 14:44:45 · 242 阅读 · 0 评论 -
Struts2_配置文件
当世界给草籽重压时,它总会用自己的方法破土而出。—我们共勉Struts2框架中核心组件就是Action、拦截器等,Struts2框架使用包来管理Action和拦截器等。每个包就是多个Action、多个拦截器、多个拦截器引用的集合。下面一起看一下几个struts的配置文件。最核心的是web.xml和struts.xml。1.web.xml通常,所有的MVC框架都需要Web应用加载一个核心控制器,对于S原创 2017-06-30 15:46:57 · 278 阅读 · 0 评论 -
Struts2_配置eclipse
觉得自己做的到和不做的到,其实只在一念之间。—-我们共勉开发Struts2之前,一些必要的配置,多多指教。1.删除eclipse的多余工作条:步骤: Windows–>perspective–>Customize Perspective : 然后留下: File : Save , Save All Launch Search Navigate2.统一编码:步骤: 1.W原创 2017-06-28 16:03:02 · 249 阅读 · 0 评论 -
Struts2_简单的Struts项目体验
我们可以失望,但不能盲目。—-我们共勉先写一个简单的Struts项目,体验一下Struts是什么样子。1.新建一个Dynamic Web Project注意:勾选Generate web.xml deployment descripte。2.添加jar包可以在build path中添加jar文件,我通常把jar文件复制到WebContent–>WEB-INF–>lib 中即可。 3.新建一个jsp项原创 2017-06-28 21:05:13 · 246 阅读 · 0 评论 -
Struts2_获取servletAPI
●在抱怨自己赚钱少之前,先努力,学着让自己值钱。—-我们共勉为了在业务逻辑层更加独立,Struts2的action放弃了request,response等servletAPI。但是很多时候,不可避免的在action中使用servletAPI。 Struts获取ServletAPI有三种方法: ①通过ActionContext类的静态方法获取 ②通过ServletActionC原创 2017-07-04 20:39:17 · 293 阅读 · 0 评论 -
struts2的json-default和struts-default的区别
struts2的json plugin可以实现struts2和json的完美结合,由于本篇主要是介绍整合过程中遇到的问题,所以编程实现的方法这里就不重复了,具体可以参看struts2的官方文档:http://struts.apache.org/2.2.1.1/docs/json-plugin.html。我在struts.xml中有如下action定义:<action name="product_gr转载 2017-07-19 17:24:47 · 664 阅读 · 0 评论