session Application
来源:互联网 发布:python可以做网站吗 编辑:程序博客网 时间:2024/06/05 16:46
session.invalidate(); 清空了session中的所有的值
而session.removeAttribute("aaaa")只清空了session 对应的的某个属性
struts2标签获取parameter,request,session,application中的值
- request.---->
- <s:property value="#request.mySessionPropKey"/> or
- <s:property value="#request['mySessionPropKey']"/> or
- <s:property value="#request['myRequestPropKey']"/>
- session---->
- <s:property value="#session.mySessionPropKey"/> or
- <s:property value="#request['mySessionPropKey']"/> or
- <s:property value="#request['myRequestPropKey']"/>
- application--->
- <s:property value="#application.mySessionPropKey"/> or
- <s:property value="#application['mySessionPropKey']"/> or
- <s:property value="#application['myRequestPropKey']"/>
-----------------------------------------------------------------------------------------------------
struts2调试技巧:(包括4点)
1、 设置开发模式为调试模式。修改struts.properties
devMode=true
2、增加调试包。拷贝struts2-config-browser-plugin-2.0.14.jar到lib目录下。
在浏览器中访问:http://localhost:port/projectName/config-browser/index.action
3、调试标签的使用。只需要在有表单的jsp页面添加<s:debug></s:debug>
4、在URL上增加调试命令。
http://localhost:port/projectName/test.action?debug=xml
http://localhost:port/projectName/test.action?debug=console
struts2如何访问Application、Session、Request等http对象?
struts2对以上3个对象进行了封装。查看文档可知:
获取session两种方法:1、ServletActionContext.getRequest().getSession();
2、Map session=(Map)ActionContext.getContext().getSession();
session.put(“myId”,myprop);//可以改变session中原先的值。
获取Application:Mapapplication=ActionContext.getContext().getApplication();
另外,org.apache.struts2.ServletActionContext作为辅助类(HelperClass),可以帮助您快捷地获得下面这几个对象。
HttpServletRequest request= ServletActionContext.getRequest();
HttpServletResponse response= ServletActionContext.getResponse();
HttpSession session= request.getSession();
深入struts.xml配置文件、struts.properties、struts-default.xml、default.properties文件:
struts.xml:struts2框架的核心配置文件。
(说明:在struts.xml中的如下配置:
<packagenamespace=”namespace”>
<actionname=”ActionName”class=”…”method=”methodName”></action>
</package>
针对上述配置,在地址栏中可以有两种访问方式
http://localhost:port/projectName/namespace/ActionName!methodName.action该形式在没有method属性的情况下,会调用!后面的方法名
http://localhost:port/projectName/namespace/ActionName.action该形式会自动调用method属性指定的方法
如果<action></action>标签中没有指定method属性,默认会调用action类中的exexute()方法。)
struts.properties:主要用来设置变量的申明
default.properties:struts2核心包中的属性文件,当没有申明struts.properties文件中的变量时,struts2运行时会采用该文件中默认的变量。struts2的常量读取顺序:strtus-default.xml(保存在struts-core-2.x.x.jar文件中)、struts-plugin.xml(保存在struts-core-2.x.x.jar文件中)、struts.xml(web应用默认的xml配置文件)、struts.properties(web应用默认的struts2的配置文件)、web.xml(web应用的配置文件)。如果在多个文件中配置了相同的struts常量,那么,后面的将覆盖前面的常量。
struts-default.xml:struts2核心包中的xml文件,提供相关的内置组件,拦截器,视图等组件。struts.xml中所继承的package都是从该文件中而来的。
1、数据重复提交的问题:通过在action的类中的方法返回一个字符串,该字符串被struts.xml文件中的<resulttype=”redirect”></result>标签所定义,是请求重定向.而不是请求转发默认的type=”dispatcher”。
日期标签控件的引用:<s:datetimepicker></s:datetimepicker>,<s:date></s:date>,
<s:head/>
2、 验证框架:服务器端xml验证、客户端验证
基于xml的服务器端验证:必须继承ActionSupport类、必须指定inuput视图。纯写一个xml文件对表单有是每个字段进行配置而验证。
基于xml的客户端验证:首先要保证基于xml的服务器端验证是正常的。需要在表单中设置属性validate=”true”,如果在表单中写上action,namespace的话,必须分开分别赋值。必须在有表单的jsp页面头信息写上<s:head/>标签。
基于服务器的validate()方法进行验证:
基于服务器的validateMethodName()方法进行验证:
总归以上几种方式的验证顺序是:xml,validateMethodName,validate
- session Application
- session application
- session application
- session和application
- session,application,cookies区别
- session,application,cookie
- application session cookie
- Application和Session使用
- session、application 和 pageContext
- cookie,session,application
- ViewState,Application,Session,Cookie
- session,cookie,application
- pageContext,request,session,application
- application、session、request、page
- application与session
- application与session
- application-session-cookie-css
- application、session、request、cookie
- 身份验证策略遐想
- socket编程常用的几个函数
- 按键消抖的方法
- Perl简易教程(1) ---perl 介绍
- Eclipse 工作空间修改
- session Application
- jquery 自动收缩浮动在线客服代码,QQ客服、在线MSN、旺旺,兼容IE、 FF、Google Chrome
- 控件随着窗口大小变化
- Ubuntu 下yuma源码安装
- 理清apply(),call()的区别和关系
- Python入门笔记
- 雅虎网站页面性能优化的34条黄金守则
- Eclipse创建WSDL+AXIS2 (三)
- 程序只运行一个实例,并激活前一个实例