JAVA EE Struts
文章平均质量分 64
林奕聪
苦逼和执着的程序猿
展开
-
struct2与MVC及环境搭建
1.struts是apache基金会的发布的一个开源软件框架,我们进入apache的官网可以看到。struts2 是基于WebWork而改进的一个框架,其跟struts1没有较大的关系2.struts 2 介绍 而在现实的开发中,我们更应对struts 2 有以下一些认识(前端到后端的处理过程) struts有以下的优势:原创 2013-03-10 16:11:41 · 1011 阅读 · 0 评论 -
struts的文件下载用法及中文名乱码解决办法
struts2既提供了方便的文件上传机制,也提供了方便的文件下载机制。1.(1)查阅SteamResult类 需要在strut.xml中配置 (2)两个圈的地方要对应 (3)测试下载页面 2.有时实际项目中需要动态的实现文件下载,这时就不能在struts.xml中把filename写死 解决办法: (1)在act原创 2013-06-15 10:37:25 · 1317 阅读 · 0 评论 -
package命名空间详解及Annotation配置struts
1.package里的元素 abstract:抽象包元素,struts-default包里的元素,如果为true,则该包不能直接使用,应继承使用 namespace: 在实际开发中区分不同的action,起到路径分割的作用 例如: 在WebRoot下新建一个theNamespace文件夹,存放需要分类的页面,这样使项目结构清晰明了 页原创 2013-06-05 16:18:26 · 1009 阅读 · 0 评论 -
commons项目中的upload与struts的文件上传功能对比
在学习jsp/servlet中,我们学习了如何利用apache中的commons项目中的upload组件实现文件上传功能,而在strut2中也有相应的文件上传功能,现在我们将两个方式进行对比。1.Http上传 (1)新建一个web工程fileUpload,部署好环境 (2)fileUpload.jsp:(必须为post提交,编码类型为multipart/form-data)原创 2013-06-12 21:00:57 · 953 阅读 · 0 评论 -
struts拦截器使用方法
拦截器(Interceptor)拦截器是Struts2的核心,Struts2的众多功能都是通过拦截器来实现的。拦截器和之前我们jsp中的filter原理相同,使用方法也类似。1.测试拦截器内部方法的先后执行顺序 TheInterceptor1.java(也可继承AbstractIntercepter父类): public class TheInterceptor1 implemen原创 2013-06-03 08:55:28 · 1045 阅读 · 0 评论 -
从struts-default包透析redirectAction与chain用法
struts.xml中继承的struts-default这个包是struts处理用户请求的重要配置文件,对于struts的掌握也是学习struts所要求的。1.打开Web App Libraries下的struts2-core-2.3.8.jar下的struts-default.xml (1) struts基础工作,在默认情况下可以使用这些bean (2)原创 2013-05-12 22:59:58 · 1031 阅读 · 0 评论 -
struts2访问servlet API、Web应用单元测试、prepare接口
struts2的应用程序本身也属于web应用程序,但是我们却鲜有接触到servlet API机会,是因为struts已经将这些和servlet交互的东西封装起来,使得用户在调用时候可以更加清晰明了的使用struts的框架。不过在实际应用中,有时也是需要和servlet中的一些东西交互,比如用户需要往session中传入一些值的时候,这时候需要跟servlet进行交互。1.传值入session的原创 2013-05-08 23:44:29 · 1521 阅读 · 0 评论 -
运用session token防止表单重复提交
运用redirectAction的action跳转可以实现防止表单重复提交,但struts2还是其他优秀框架都提供防止表单重复提交的机制——session token(session 令牌)(1)token.jsp(必须使用struts标签库,才能运用token类处理并产生随机数): body>s:form action="token.action" theme="simpl原创 2013-05-19 22:54:33 · 1704 阅读 · 0 评论 -
struts2模型驱动
模型驱动:把数据跟处理分开,用单独的JavaBean封装数据(不管是请求的,还是返回的,可以在一起封装),把处理类完全孤立成一个框架,用这个模型作为灵魂在驱动整个骨架。 属性驱动--你把一大堆属性搞到你的处理类里面,完全可以。方便、快捷而且灵活,不过结构清晰度当然就不好了。1.struts2实现模型驱动的简单登陆User(bean)类:public class User{原创 2013-05-05 22:40:57 · 681 阅读 · 0 评论 -
struts2的异常处理
对于struts来说,提供了一个异常处理机制,方便转到类似404或者其他异常页面,比较方便读者来得知自己的程序的问题所在。1.事例:登陆的时候用户名必须hello,密码必须为world,否则抛异常UsernameException:public class UsernameException extends Exception{private String message;//原创 2013-04-26 00:44:45 · 724 阅读 · 0 评论 -
struts2的国际化支持
struts2对各国的语言也有较好的支持,从而达到了国际化(i18n)的效果,便于编程者使用。 当使用校验框架进行校验时,我们通常都把message写在属性文件中。比如我们想输出“username invalid”的中英文,这时在action包下建两个properties文件,一个命名为:package_zh_CN.properties,里面填写的是username.invalid=\u7原创 2013-04-22 14:22:13 · 723 阅读 · 0 评论 -
struts2的输入校验框架及DTD文件配置
struts2提供的校验有两种:一种是之前所提到的validate校验方法,另一种就是本篇所要讲的校验框架,通过有效的xml文件,实现不用编写代码,根据校验规则来对指定文件进行校验。1.xwork-validation-1.0.2.dtd: XWork Validators DTD. Used the following DOCTYPE. "-//原创 2013-04-11 14:07:46 · 1092 阅读 · 0 评论 -
分析struts的输入校验源代码
struts的输入校验和自定义方法为我们前台提供了巨大的方便,但我们光学习他的用法还不够,通过分析struts框架的开源源代码可以让我更好的掌握struts的神秘之处。1.addActionError方法当我们在validate中遇到了不符合的信息,便调用this.AddActionError()这个方法,然后struts的标签在页面显示出来,但是他的底层是如何实现的呢?(1)调用va原创 2013-03-27 23:45:52 · 696 阅读 · 0 评论 -
通过struts提供的源码生成chw帮助文档
struts2的下载包里面没有提供任何的API帮组文档,在网上又看见许多人“冰天雪地”跪求struts的html或chw格式的帮助文档,这里笔者就教大家怎么利用开源的源代码生成chw的帮助文档1.打开myEclipse,新建一个web项目struts_doc2.进入到struts2的安装目录下,把以下路径的文件夹丢在我们新建工程的src中。如图: 3原创 2013-03-11 23:19:20 · 842 阅读 · 0 评论 -
struts2的自定义方法与输入校验
1.struts2的每个action都将继承ActionSupport这个类,从而重写execute这个方法。现在我们希望struts2自动执行我们自己的方法,目的是为了一个action中可以处理多个请求。方式如下:struts2.xml:action name="login" class="com.erzong.struts2.LoginAction" method="myExecu原创 2013-03-22 00:06:03 · 822 阅读 · 0 评论 -
struts2的类型转换
一般我们在页面填写的内容都是字符串类型,而当我们要传给后台的action做相对应的处理,这时,struts2提供了一套完善的类型转换机制,自动地进行类型转换。1.Struts2 的类型转换,对于 8 个原生数据类型以及 Date,String 等常见类型,Struts2 可以使用内建的类型转换器实现自动的转换2.但对于自定义的对象类型来说,就需要我们自己指定类型转换的方式了原创 2013-03-14 16:48:07 · 745 阅读 · 0 评论 -
struts2自定义方法的输入校验
struts提供可以让用户自定义的方法,而其中各个自定义方法对应的验证方法也是有所差异。1.我们自定义了myExecute这个方法替代execute命名规则为在自定义方面前面加上validate执行结果:2.当一个程序中存在自定义的输入校验validateMyExecute方法,又存在validate方法时候,是会优先执行validateMyExecute,然后再执原创 2013-03-30 00:14:02 · 787 阅读 · 0 评论 -
ExecuteAndWaitInterceptor拦截器使用
在实际开发中,ExecuteAndWaitInterceptor很适合在后台长时间运行的action时,他可以可为用户一个友好的等待界面,例如进度条。1.struts.xml配置,加上两个拦截器,wait表示等待的界面 2.ognlAction :(Thread.sleep(20000))3.wait.jsp:红色地方表示加载的时间和加载的地址 page language原创 2013-06-27 15:21:49 · 1006 阅读 · 2 评论