Struts2
文章平均质量分 76
golden_lion
这个作者很懒,什么都没留下…
展开
-
struts2的核心和工作原理
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处?设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的好处就不在提了。技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The JavaServl转载 2016-05-27 09:57:28 · 254 阅读 · 0 评论 -
Struts2 自定义拦截器(方法拦截器)
struts2系统自带了很多拦截器,有时需要我们自己定义,一般有两种方式:一、实现Interceptor接口 1 public interface Interceptor extends Serializable{ 2 public void init(); 3 public void destroy(); 4 pu转载 2016-07-19 10:43:42 · 3959 阅读 · 0 评论 -
Struts2中基于Annotation的细粒度权限控制
Struts2中基于Annotation的细粒度权限控制 2009-10-19 14:25:53| 分类: Struts2 | 标签: |字号大中小 订阅 权限控制是保护系统安全运行很重要的一扇门。在web应用里,仅仅隐藏url是不够的。由于web应用是以请求/响应为单位的,我 们的权限控制的粒度只有达到这个程度才能让全国人民放心转载 2016-07-19 10:44:21 · 249 阅读 · 0 评论 -
gnl总结(#,%,$)
Ognl表达式struts标签“%,#,$”1、什么是Ognl?OGNL(Object-Graphic Navigation Language),对象图道行语言。是一种可以方便操作对象属性的开源表达式语言。2、特点?a、支持对象的方法调用,形式,eg:objName.methodName();b、支持静态类的方法调用和值访问,expression:@【类全名转载 2016-07-19 10:44:57 · 518 阅读 · 0 评论 -
struts2拦截器interceptor的三种配置方法
1、struts2拦截器interceptor的三种配置方法方法1. 普通配置法 package name="struts2" extends="struts-default"> class="edu.hust.action.RegisterAction">转载 2016-07-19 10:45:33 · 14163 阅读 · 1 评论 -
struts2使用注解--ACTION中的应用
1.在类中指定包:@ParentPackage("system").其中system是在struts.xml中定义的包名。2.配置文件--->注解2.1配置文件方式(返回json): userLists 2.2注解方式(返回json): @Action(value="loadUserTree", results={@Result(type="json", p转载 2016-07-19 10:46:06 · 441 阅读 · 0 评论 -
EL表达式从request和session中取值
在Action中保存登录的基本信息:request.getSession().setAttribute("adminid", str);在JSP页面中:${sessionScope.adminid}java:request.setAttribute("adminid",str);在JSP页面中:${#request.adminid} Struts2中 :转载 2016-07-19 10:46:38 · 20323 阅读 · 0 评论 -
struts2 访问国际化资源 <s:text>作为属性
保留全局级国际化信息资源文件。并在message.properteis中增加一个带有参数的国际化信息。 labela = labela in zh_CN labelb = labelb,{0} 访问国际化信息 用标签来访问国际化信息,只需要在它的name属性上填入需要的key即可。下面,来看看它的其它的属性。 1:使用带参数的国际化信息转载 2016-07-19 10:47:12 · 3549 阅读 · 0 评论 -
Struts2 action的单例与多例
struts 2的Action是多实例的并非单例,也就是每次请求产生一个Action的对象。原因是:struts 2的Action中包含数据,例如你在页面填写的数据就会包含在Action的成员变量里面。如果Action是单实例的话,这些数据在多线程的环境下就会相互影响,例如造成别人填写的数据被你看到了。所以Struts2的Action是多例模式的。 问题出现了,可以让struts2转载 2016-07-19 10:47:44 · 780 阅读 · 0 评论 -
tomcat启动异常(严重: Dispatcher initialization failed Unable to load configuration. - [unknown location] )
严重: Dispatcher initialization failedUnable to load configuration. - [unknown location]at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)at org.apa转载 2016-07-19 10:48:25 · 7732 阅读 · 0 评论 -
servlet request getHeader(“x-forwarded-for”) 获取真实IP
request方法客户端IP: request.getRemoteAddr() 输出:192.168.0.106客户端主机名:request.getRemoteHost()输出:abcrequest.getHeader("Host") 输出:192.168.0.1:8080Web服务器名字:request.getServerName()输出:192.168.0.1服务器监听的端口:req转载 2016-07-19 10:48:57 · 1631 阅读 · 0 评论 -
【struts2】Result和ResultType
简单的说,Result是Action执行完后返回的一个字符串,它指示了Action执行完成后,下一个页面在哪里。Result仅仅是个字符串,仅仅是用来指示下一个页面的,那么如何才能够到达下一个页面呢?下一个页面如何能正确地展示结果呢?这就该引出一个新概念——ResultType,所谓ResultType,指的是具体执行Result的类,由它来决定采用哪一种视图技术,将执行结果展现给用户。转载 2016-07-19 10:49:30 · 290 阅读 · 0 评论 -
使用Struts 2框架实现文件下载
从服务器发送一个文件到浏览器需要以下几个步骤把HTTP响应里的ContentType标头设置为被下载文件的内容类型。ContentType标头的作用是表明数据包里的数据是什么类型, 它由一个多媒体类型和一个子类型标识符组成(可以去http://www.iana.org/assignments/media-types /index.html 处查看所有标准内容类型)。若你不愿意查看内容类型,转载 2016-07-19 10:50:19 · 10555 阅读 · 0 评论 -
扩展struts2的结果集StrutsResultSupport 自定义Result处理JSON
以前在采用Struts2开发的项目中,对JSON的处理一直都在Action里处理的,在Action中直接Response,最近研读了一下Struts2的源码,发现了一个更加优雅的解决办法,自己定义一个ResultType,首先大家先看下Struts2中的源码包com.opensymphony.xwork2下的DefaultActionInvocation472行转载 2016-07-19 10:50:54 · 1298 阅读 · 0 评论 -
总结Spring、Hibernate、Struts2官网下载jar文件
一直以来只知道搭SSH需要jar文件,作为学习的目的,最好的做法是自己亲自动手去官网下。不过官网都是英文,没耐心一般很难找到下载入口,更何 况版本的变化也导致不同版本jar文件有些不一样,让新手很容易一头雾水,这里根据多番查找后的结果进行总结,一来记录下来以备日后自己查阅,二来分享给 众多新手。首先看Spring。spring目前的官网地址:http://www.spr转载 2016-07-19 10:51:46 · 729 阅读 · 0 评论 -
Struts2源码浅析-ConfigurationProvider
ConfigurationProvider接口 主要完成struts配置文件 加载 注册过程ConfigurationProvider接口定义public interface ConfigurationProvider extends ContainerProvider, PackageProvider { } ContainerProvider接口定义转载 2016-07-19 10:52:17 · 682 阅读 · 0 评论 -
struts2中方法拦截器(Interceptor)的中的excludeMethods与includeMethods的理解
通过对struts2的学习,对于interceptor中的excludeMethods与includeMethods的理解:针对MethodFilterInterceptor:excludeMethods表示排除指定的方法,即不对标记为excludeMethods的方法进行拦截,includeMethods表示包含指定的方法,即对标记为includeMethods的方法进行转载 2016-07-19 10:43:10 · 4972 阅读 · 0 评论 -
ActionContextCleanUp的作用
延长action中属性的生命周期,包括自定义属性,以便在jsp页面中进行访问,让actionContextcleanup过滤器来清除属性,不让action自己清除。为了使用WebWork,我们只需要在web.xml配置FilterDispatcher一个过滤器即可,阅读一下FilterDispatcher的JavaDoc和源码,我们可以看到它调用了:finally{Acti转载 2016-07-18 17:02:23 · 265 阅读 · 0 评论 -
Struts是如何实现MVC的
上篇文章说到用servlet实现的一些弊端,下面,我们就解决一下这个问题,我们用struts来实现一个登陆的实例。首先,了解一下struts与MVC的一一对应关系:Model:The Model portion of an MVC-based system can be often bedivided into two major subsystems -- the interna转载 2016-05-27 09:58:34 · 495 阅读 · 0 评论 -
Struts对国际化的支持
我们在很多网站中发现,他可以支持多种语言,比如谷歌,百度,还有这段时间学英语常用的italki,youtube等等,都可以由用户自定义该网站的语言,十分便捷,而且,我们要想让自己的软件走向国际化,实现支持多种语言功能也是必须要走的一步,那么,我们该如何让自己的程序实现国际化走向世界呢?I18N问题人们常把I18N作为“国际化”的简称,其来源是英文单词 inter转载 2016-05-27 10:00:28 · 309 阅读 · 0 评论 -
struts+spring action应配置为scope="prototype"
"personAction" scope="prototype" class="quickstart.action.PersonAction"> "personService" />在配置文件中,bean默认是单例模式,应用服务器启动后就会立即创建bean,以后就可以重复使用。这带来一个问题,bean的全局变量被赋值以后,在下一次使用时会把值带过去。也就是说,bean是有状态转载 2016-07-12 13:57:31 · 470 阅读 · 0 评论 -
servlet过滤器、监听器、struts2拦截器的区别
1.过滤器Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、Response)统一设置编码,简化操作;同时还可进行逻辑判断,如用户是否已经登陆、有没有权限访问该转载 2016-07-23 13:18:02 · 492 阅读 · 0 评论 -
${pageContext.request.contextPath} JSP取得绝对路径
一.问题 JSP中究竟采用绝对路径还是采用相对路径随着所采用技术的越来越复杂,这个问题也变得越来越难以解决。 1)采用相对路径遇到的问题 相对路径固然比较灵活,但如果想复制页面内的代码却变得比较困难,因为不同的页面具有不同的相对路径,复制后必须修改每一个连接的路径。 如果页面被多于一个的页面所包含,那么被包含页面中的相对路径将是不正确的。 如果采用Struts转载 2016-07-18 16:55:50 · 1370 阅读 · 0 评论 -
struts2常用标签详解-在项目中使用struts2标签
Struts2常用标签总结一 介绍1.Struts2的作用 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。 Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技转载 2016-07-18 16:56:25 · 3703 阅读 · 0 评论 -
Struts2的OGNL标签详解
一、Struts2可以将所有标签分成3类:UI标签:主要用于生成HTML元素的标签。非UI标签:主要用于数据库访问,逻辑控制等标签。Ajax标签:用于Ajax支持的标签。对于UI标签,则有可以分为两类:表单标签:表单标签主要用与生成HTML页面的from元素,以及普通表单元素的标签。非表单标签:非表单标签主要用于生成页面的树、Tab页等。流程转载 2016-07-18 16:57:05 · 536 阅读 · 0 评论 -
struts2标签详解 .
要在jsp中使用Struts2的标志,先要指明标志的引入。通过jsp的代码的顶部加入以下的代码: If elseif else描述:执行基本的条件流转。参数:名称必需默认类型描述备注test是 boolean决定标志里的内容是转载 2016-07-18 16:57:56 · 417 阅读 · 0 评论 -
ActionContext和ServletActionContext区别以及action访问servlet API的三种方法
1. ActionContext在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们需要在Action中取得request转载 2016-07-18 16:58:30 · 4533 阅读 · 1 评论 -
ServletContext,ActionContext与ServletActionContext详解
ServletContextServletContext从他的package信息可以看出,它是标准的JavaEE WebApplication类库javax.servlet.ServletContextServletContext提供了标准的Servlet运行环境,其实就是一些servlet和web container进行通信的方法转载 2016-07-18 16:59:09 · 3614 阅读 · 0 评论 -
servlet过滤器、监听器、struts2拦截器的区别
1.过滤器Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、Response)统一设置编码,简化操作;同时还可进行逻辑判断,如用户是否已经登陆、有没有权限访问该转载 2016-07-18 16:59:42 · 2554 阅读 · 0 评论 -
Struts2 资源配置文件国际化详解
Struts2 资源配置文件国际化Struts2资源文件的命名规范:basename_language_country.propertiesStruts2国际化如果系统同时存在资源文件、类文件,系统将以类文件为主,而不会调用资源文件。对于简体中文的Locale,ResourceBundle搜索资源的顺序是:(1)baseName_zh_CN.class(2)base转载 2016-07-18 17:00:17 · 2985 阅读 · 0 评论 -
struts2的s:iterator 标签 详解
struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几个简单的demo:s:iterator 标签有3个属性: value:被迭代的集合 id :指定集合里面的元素的id status 迭代元素的索引1:jsp页面定义元素写法 数组或lists:iterator value="{'1','2','3','4'转载 2016-07-18 17:00:49 · 438 阅读 · 0 评论 -
Struts2 控制标签:<s:if>、<s:elseif>和<s:else>
单独使用标签 This is String 1也可以和标签一起使用:+标签 This is String 1 This is String 2以及和/或单个/多个标签:++标签 This is String 1 This is String 2 Other Strings上面的这些语转载 2016-07-18 17:01:19 · 10717 阅读 · 1 评论 -
Struts2的工作原理(图解)详解
Struts2的工作原理 上图来源于Struts2官方站点,是Struts 2 的整体结构。一个请求在Struts2框架中的处理大概分为以下几个步骤(可查看源码:https://github.com/apache/struts):1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求2 这个请求经过一系列转载 2016-07-18 17:01:53 · 1369 阅读 · 0 评论 -
UnknownHandler
未知处理器从struts2.1 开始 ,struts2配置文件的DTD中增加了和,这个元素用于配置Struts2的未知处理器。 当用请求未知Action、或指定action里的未知方法、或action 处理结束之后返回一个未知result ,struts2允许使用处理器来处理这些方法。 未知处理器需要实现 UnknownHandler 接口,该接口转载 2016-07-19 10:52:54 · 1036 阅读 · 0 评论