`
gimgen1026
  • 浏览: 160749 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[Ken原创] Struts里的session用法。

    博客分类:
  • Java
阅读更多
昨天晚上突然遇到一个莫名其妙的问题,可惜因为熄灯没解决好,导致一夜没睡好觉,呵呵,有点过分了…… 于是今天早上就开始捉摸这事儿。

来总结一下:
在Strtus的Model部分,即Bean的部分,以登录模块为例,我试验的代码:
Success时,
//Struts Bean方法里session的用法
String login_name = rs.getString("true_name");
//返回和请求相关的session
HttpSession session = request.getSession();
//把truename的属性值login_name保存在session对象中
session.setAttribute("truename", login_name);


False时,

LoginFalse.loginFalse(request);
即:调用了LoginFalse类里面的俄静态方法,当然是自己写的,最近刻意养成把所有的东西给封装的习惯,感觉不错。LoginFalse里面的代码,
public static void loginFalse(HttpServletRequest request) {
String login_false = "Your username or password is wrong!!!";
HttpSession session = request.getSession();
session.setAttribute("loginfalse", login_false);
}
在login.jsp的代码,
<%String loginwrong = (String) session.getAttribute("loginfalse");
if (loginwrong != null) { %>
<%=loginwrong%> 
<%
//销毁session
session.removeAttribute("loginfalse");
}
session.removeAttribute("truename"); %>
每页需要用 <%@ include file="inc/logout.inc" %> 来显示用户的true_name以及logout功能实现。
logout.inc代码,
<%String u = (String) session.getAttribute("truename");%>
<%=u%><br/>
<%if (u == null) {%>
<logic:forward name="g_login"/>
<%}%>
<html:link page="/login.jsp">logout</html:link>
还有LoginForm里面的not required处理就省略了。
自我感觉这次的问题就出现在,不知道Struts里面scope定义session的话,在Bean里面不人为写session时,struts会自己给个getSession();
还有跟以前在JSP-JSP里面的session有点不同,就在这:
HttpSession session = request.getSession();

session.setAttribute之前必须得注意写上这一行。
分享到:
评论
4 楼 fallye 2007-11-12  
不是吧。。。怎么这样做啊。。。太麻烦了吧。楼上说的用filter不是很好吗。
3 楼 colin4k 2007-10-19  
既然都用了struts,还搞这一堆jsp代码作甚,05年的时候协助过一个项目,也是这种风格,头疼
2 楼 Garriot 2007-10-17  
同意楼上的,用filter来做更好,而且错误信息也没有必要放到session里,像这种错误信息一般只使用一次,你放到request里forward下去就行了,比你set了再remove安全的多

关于你封装的那个方法:我在做项目的时候是不允许把这种功能封装在调用类外的方法里的,你在这里将request/session带出了他应该存在的范围,会对维护造成一些问题,而且你方法名里也没明确说明里面会对session进行操作,我们也有一些操作session的工具类,但那些类都是用于操作真正的session级别(有session就一直起作用的属性)的属性信息的,你这个信息还算不上这种级别的东西。
1 楼 kyo100900 2007-10-17  
LZ是不是从ASP转过来的,呵呵INC是ASP常用的经典扩展名啊。
其实在JSP里,include一个INC我感觉不是特别好,加上一些逻辑判断,让JSP页面支离破碎的。
你可以做一个简单的Filter,来过滤。这样使用Session,Request,Response都可在Java代码里去实现了,调试与管理也方便多了

相关推荐

    前端开源库-kenburns-dom

    3. **文档**:可能包括README文件,解释库的安装、配置和使用方法。 4. **测试**:单元测试或集成测试的代码,用于验证库的功能和性能。 5. **许可证文件**:说明库的使用权限,通常是MIT、Apache 2.0等开源许可证。...

    前端开源库-kenburns-webgl

    【前端开源库-kenburns-webgl】是一个利用WebGL技术实现肯·伯恩斯(Ken Burns)效果的开源项目。肯·伯恩斯效果,也称为缩放移动效果,通常用于图片展示,通过平移和缩放图像来创造动态视觉体验,常在纪录片和电视...

    基于OpenCV实现Ken Burns特效-python源码.zip

    在本资源中,我们关注的是如何使用Python编程语言和OpenCV库来实现Ken Burns特效,这是一种常见的视频制作技术,也被称为“相机移动”或“缩放”特效。Ken Burns效应通常用于历史纪录片,通过在静态图像上应用平移和...

    sed英文资料2018版by Ken Pizzini, Paolo Bonzini

    标题中的“sed英文资料2018版by Ken Pizzini, Paolo Bonzini”表明文档是由Ken Pizzini和Paolo Bonzini编写,这两人可能是sed工具的开发者或贡献者,文档更新于2018年。sed是“stream editor”的缩写,意为流编辑器...

    FCPX使用 Ken Burns 效果平移和缩放片段.pdf

    **FCPX中的Ken Burns效果详解** Final Cut Pro X(FCPX)是一款强大的视频编辑软件,其中包含了许多专业级的特效工具。"Ken Burns效果"是FCPX中的一个经典功能,它以美国纪录片导演Ken Burns的名字命名,常用于制作...

    KenBurns特效,可以控制图片是否自动移动

    KenBurns特效是一种在Android应用中广泛使用的动态图像展示技术,源自于著名的美国纪录片导演肯·伯恩斯(Ken Burns)的摄影手法。这种效果通过平移和缩放图像来创造出深度感和动感,使静态图片仿佛有了生命,通常被...

    Ken Burns 特效用到的jar

    《Android开发必知的50个诀窍》一书中《附加 Ken Burns 特效的幻灯片》需要的特效jar

    Ken Hultgren -动物绘画艺术英文原版

    Ken Hultgren 前迪士尼动画专家提供绘画方面的建议,无论是现实还是漫画。运用线条、刷子手法、建立心情、传递动作等。施工图揭示了动物形象塑造的发展过程。绘制动物个体形态的章节有:狗、猫、马、鹿、牛、狐狸、...

    附加Ken Burns特效的幻灯片

    Ken Burns特效只不过是视频产品中使用的一种平移和缩放静态图片的特效,要实现该特效,需要使用Jake Wharton开发的Nine Old Androids库。这个库可以让开发者在旧版本上使用Android3.0的动画API。

    仿Ken Burns效果jQuery幻灯片插件

    这是一款仿Ken Burns效果的jQuery幻灯片插件。该幻灯片插件是基于smartcrop.js插件的,smartcrop.js是一款用于剪裁图片的js插件。Ken Burns效果是将图片逐渐平移放大的动画效果。

    Ken的求职代码片段

    解压并查看这些代码,可以深入了解Ken的编程风格、解决问题的方法以及他对各种编程概念的理解。 总的来说,"Ken的求职代码片段"是一个展示Ken编程技能和项目经验的集合,通过分析和理解这些代码,招聘方能够判断Ken...

    Ken-Website-Project:我的组织网站的新版本

    用法发展模式这将为您提供文件监视,浏览器同步,自动重建,CSS注入等功能。$ gulp 杰基尔由于这只是一个Jekyll项目,因此您可以使用其列出的任何命令用Gulp部署您可以轻松地将网站构建部署到gh-pages分支。 首先,...

    swt designer(KEN)无敌破解器

    博文链接:https://8000.iteye.com/blog/154043

    前端开源库-kenburns-editor

    **如何使用Kenburns编辑器** 1. **安装**:从kenburns-editor-master文件中获取源码,可以通过npm或其他包管理工具进行安装,或者直接将源码导入项目。 2. **引入**:在HTML文件中引用所需CSS和JavaScript文件。 ...

    《Quaternions》(四元数,作者Ken Shoemake)

    在《Quaternions》这篇文章中,Ken Shoemake详尽地讲解了四元数的各个方面,包括它们的定义、数学原理、如何使用、应用场景以及在使用时需要注意的问题。作者不仅介绍理论知识,还结合实际应用,使得四元数的学习和...

    ComponentOne 2007 ken gen

    ComponentOne 是一家知名的软件开发公司,专注于为开发者提供各种组件和工具,以...使用这些工具,开发者可以快速构建出专业且功能强大的应用,但合法使用和激活软件是非常重要的,应遵循正确的途径获取和使用授权。

    ken_segfault.nasl

    ken_segfault

    ken-burns-css:用于图像的Ken Burns效果CSS

    Ken Burns效果,也被称为“Ken Burns Effect”,是一种在电视、电影和数字媒体中广泛应用的动态缩放和移动的摄影技术,以美国纪录片制作人Ken Burns的名字命名。这种效果通过在屏幕上逐渐放大或缩小图片,同时可能...

    Android特效的幻灯片-Ken Burns

    Ken Burns特效的名字来源于美国纪录片导演Ken Burns,他在1980年代初期的作品中大量使用了这种技巧,从而使这种效果流行起来。在Android平台上实现Ken Burns特效,通常需要以下几个步骤: 1. **选择图片**:首先,...

Global site tag (gtag.js) - Google Analytics