你的项目中不包含log4j.jar这个文件,包含进去即可…
出现“警告: Could not find property [struts.valueStack]”这样的问题,是由于少引用了log4j.jar包,不过,不引用也不影响使用.看个人的爱好了.…
①. 请求发送给 StrutsPrepareAndExecuteFilter ②. StrutsPrepareAndExecuteFilter 判定该请求是否是一个 Struts2 请 求(ActionMapping判断),不是就放行. (根据路径的后缀是 .action或者.doj进行判断) ③. 若该请求是一个 Struts2 请求,则 StrutsPrepareAndExecuteFilter 把请求的处理交给 ActionProxy ④. ActionProxy 创建一个 ActionI…
值栈和ognl表达式 1.只要是一个MVC框架,必须解决数据的存和取的问题 2.struts2利用值栈来存数据,所以值栈是一个存储数据的内存结构 1.  ValueStack是一个接口,在struts2中使用OGNL表达式实际上是使用实现了ValueStack接口的类 OgnlValueStack,这个类是OgnlValueStack的基础. 2.  ValueStack贯穿整个action的生命周期.每一个action实例都拥有一个ValueStack对象.其中保 存了当前action对象和其…
  2013-03-15 10:54 1722人阅读 评论(1) 收藏 举报  分类: J2EE 版权声明:本文为博主原创文章,未经博主允许不得转载. 三者之间的关系如下图所示: ActionContext 一次Action调用都会创建一个ActionContext 调用:ActionContext context = ActionContext.getContext() ValueStack 由OGNL框架实现 可以把它简单的看作一个List  Stack Object:放入stack中的对象…
ValueStack 如何得到值栈: 如何将对象存入值栈: 让值栈执行表达式来获得值: 在JSP中跳过栈顶元素直接访问第二层: 在JSP中访问值栈对象本身(而不是它们的属性) ActionContext ValueStack与ActionContext的联系和区别: 如何获得ActionContext: 如何向ActionContext中存入值: 如何从ActionContext中读取值: HttpServletRequest类或request的Map 使用HttpServletRequest类…
用一张表格来总结: 变量 从ActionContext中获得 生命周期 用Ongl来读取值 使用ServletConfigInterceptor来注入 ActionContext类 静态方法ActionContext. getContext() 一次Http请求 使用“#”加上key,如“#name” 无法注入 ValueStack类 ActionContext. getValueStack() 一次Http请求 直接填写来访问栈中对象的方法,或者使用top来直接获得栈中对象 无法注入 Http…
笔者不知道该用哪个词来形容ValueStack.ActionContext等可以在Struts2中用来存放数据的类.这些类使用的范围不同,得到的方法也不同,下面就来一一介绍. 声明:本文参考Struts2版本为2.3.1.2,内容仅供参考,限于笔者水平有限,难免有所疏漏,望您能友善指出.本文发表于ITEYE,谢绝转载. 1. ValueStack ValueStack在中文版的<Struts2深入浅出>一书中译作“值栈”.其本身数据结构是一个栈,使用者可以把一些对象(又称作bean)存入值栈中…
今天在看Action获取Resquest.Response时,发现了一个词:值栈.于是今天一天都在看,了解了值栈不仅能知道Action怎么获取request.response等这些,还会了解OGNL语言的工作原理.在网上找了下,有一个帖子总结的挺好,所以先提前声明一下,我这篇主要参考是:https://my.oschina.net/u/1425737/blog/197939. 一.ActionContext ActionContext是Action的上下文,Struts2自动在其中保存了一些在A…
笔者不知道该用哪个词来形容ValueStack.ActionContext等可以在Struts2中用来存放数据的类.这些类使用的范围不同,得到的方法也不同,下面就来一一介绍. 1. ValueStack ValueStack在中文版的<Struts2深入浅出>一书中译作“值栈”.其本身数据结构是一个栈,使用者可以把一些对象(又称作bean)存入值栈中,然后使用动态的表达式来读取bean的属性,或者对bean进行一些其他操作.由于值栈中可能有多个bean,值栈会按bean出栈的顺序依次尝试使用动…
Mvc与servlet 1.1   Servlet的优点 1.  是mvc的基础,其他的框架比如struts1,struts2,webwork都是从servlet基础上发展过来的.所以掌握servlet是掌握mvc的关键. 2.  Servlet把最底层的api暴漏给程序员,使程序员更能清楚的了解mvc的各个特点. 3.  程序员可以对servlet进行封装.Struts2就是从servlet中封装以后得到的结果. 4.  市场上任何一个mvc的框架都是servlet发展过来的,所以要想学好st…
章节简言 上一章笔者试着建一个Hello world的例子.是一个空白的struts2例子.明白了运行struts2至少需要用到哪一些Jar包.而这一章笔者将根据前面章节(Struts2 源码分析——核心机制)里的机制图片来分析源码.如果还不明白核心机制的朋友,请转到对应的章节进行阅读.笔者为了方便读者阅读,也把图片在次贴到了本章中.如下 根据图片笔者就明白我们首要分析便是橙黄色(Servlet Filters).也就是传说的过滤器(Filter).相信看过笔者前面几个章节的读者都明白strut…
MyEclipse中启动tomcate失败 十月 20, 2015 9:53:04 下午 org.apache.catalina.startup.VersionLoggerListener log信息: Server version:        Apache Tomcat/8.0.26十月 20, 2015 9:53:04 下午 org.apache.catalina.startup.VersionLoggerListener log信息: Server built:          Au…
主要是解决JSON因Hibernate映射生成的集合的转化出现的死循环问题. 这个方法很重要 public String ajaxJsonByObjectDirecdt(Object obj, String[] filterNames){ JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setIgnoreDefaultExcludes(false); jsonConfig.setCycleDetectionStrategy(CycleDe…
作下笔记,Spring的注入问题[多个实例问题] 解决方案如下: package student.life.support.platform.service.impl; import javax.annotation.Resource; import org.springframework.stereotype.Service; import student.life.support.platform.dao.BaseDao; import student.life.support.platfo…
解决方案: 将c3p0.jar包换成c3p0-0.9.0.2.jar,c3p0这个包应该有bug 引用如下: com.mchange.v2.log.MLog Determines which library c3p0 will output log messages to. By default, if log4j is available, it will use that library, ... 引用网址:https://bugzilla.redhat.com/show_bug.cgi?i…
Ajax.js /**通用ajax服务的定义对象 * services可以是单个服务对象,也可以是service服务数组 * 具体服务的定义请参考appendServices成员函数 */ function Service(services){ this.services=[]; this.shareParameters={}; /**添加共享参数,在这里统一设置共享参数 */ this.addShareParameters=function(shareParameters){ this.sha…
概念 XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中. 项目环境 spring + struts2 +.....(仅列举相关的) 需求 防止xss攻击 分析 1.防止xss攻击,可以从请求处拦截特殊字符,核心是过滤特殊字符串 2.由于项目是采用struts2来处理请求的,所以应从struts处着手…
一.概述 1.struts框架本身分为三个部分:核心控制器FilterDispatcher.业务控制器Action和用户实现的企业业务逻辑组件. 2.struts2工作的基本流程: 客户端初始化一个指向Servlet容器的请求 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter被调用,该过滤器询问ActionMaper这个请求是否需要调用某个Action 如果ActionMapper决定需要调用某个Actio…
com.opensymphony.xwork2.dispatcher.HttpServletRequest application com.opensymphony.xwork2.dispatcher.HttpServletResponse com.opensymphony.xwork2.ActionContext.name com.opensymphony.xwork2.ActionContext.application attr com.opensymphony.xwork2.ActionC…
转:http://static.hx99.net/static/drops/tips-347.html 攻击JavaWeb应用[5]-MVC安全 园长 · 2013/07/25 13:31 注:这一节主要是消除很多人把JSP当作了JavaWeb的全部的误解,了解MVC及其框架思想.MVC是用于组织代码用一种业务逻辑和数据显示分离的方法,不管是Java的Struts2.SpringMVC还是PHP的ThinkPHP都爆出过高危的任意代码执行,本节重在让更多的人了解MVC和MVC框架安全,由浅到深尽…
/* * $Id: ServletActionContext.java 651946 2008-04-27 13:41:38Z apetrelli $ * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional infor…
由于本公司做的是订餐平台,那么在上传菜品时,需要配置菜品规格,比如份量(大中小),味道(猛辣,中辣,微辣) 由于这些数据,在表的设计时 没有保存到菜品表,那么在点击保存菜品数据时,配置规格这块数据,我就封装好一个json 格式字符串传给后台再把json转换成对象,这样后台就好处理多了. 一,>>>>>>jsp页面 <!-- 单一规格 --> <div style="border: 1px solid #e0e0e0;border-radius…
<body> <!-- 遮罩层 --> <div id="hidediv" style="width: 100%;height: 100%;background-color: #808080;z-index: 99999;display: none;opacity:0.5;position: absolute;"></div> <div id="main_login"> <s:in…
今天在项目开发中遇到如下问题 项目使用的是struts2 Unable to find 'struts.multipart.saveDir' property setting. 后来在网上查询特此记录 一下~ 在struts.xml文件中修改如下: <struts> <constant name="struts.multipart.saveDir" value="location of your choice" /> ... </str…
Struts功能详解——ActionMapping对象 ActionMapping描述了struts中用户请求路径和Action的映射关系,在struts中每个ActionMapping都是通过path属性和一个特定的用户请求URL关联.它负责转发用户请求给具体的Action,同时还转发了其他的一些相关信息,这种请求和处理动作之间的映射关系保存在struts-config.xml这个配置文件中,在web服务器初始化的时候,会加载这个配置文件,struts给每一个Action都创建一个Action…
struts2 上传文件时,有时候会报这个错误. Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir 这个错误很简单,提示没有临时文件 我们给它一个就好了. 解决很简单: 1.struts.xml配置文件中增加如下:<constant name="struts.multipart.saveDir" value="/l…
INFO Dispatcher:42 - Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir17:32:27,368 WARN OgnlValueStack:64 - Error setting expression 'pid' with value '[Ljava.lang.String;@1732670'ognl.MethodFailed…
错误:org.apache.jasper.JasperException: /front/orderList.jsp(110,122) equal symbol expected   <s:textfield name="orderInfo.num" size="20" value="%{count}" onchange="changeCount(this.value,'<s:property value=‘foodid’&…
转自:https://blog.csdn.net/lovesummerforever/article/details/19125933…